Full-Stack Digital Platform
North Down Softball Club
End-to-end custom web platform — five interconnected applications built from the ground up to handle membership, tournament operations, fantasy league, governance, and the club's public presence.
- Client
- North Down Softball Club
- Location
- Bangor, Northern Ireland
- Industry
- Community Sports & Recreation
- Year
- 2024

The Challenge
North Down Softball Club had grown into one of the most active adult sports clubs in North Down — 50+ members, five teams, two divisions in the Softball Ulster leagues, and a calendar of tournaments and events running from April to September. But their digital presence and internal operations hadn't kept pace. They needed more than a website. They needed a platform that could present the club professionally, give members a private home for their stats and achievements, let admins manage accounts and documents without touching code, run a full tournament from registration through to live scoring, power a members-only fantasy league, and give the committee a proper space for meetings and finances. No off-the-shelf solution covered all of this. So we built it.
5
Applications delivered
50+
Members served
5
Teams managed
6
User roles
12+
Admin permission types
6
External integrations
What we built
Public Website
The public-facing home of the club — built to rank, convert, and impress. Editors publish news and match reports through a clean Sanity CMS studio with no developer involvement. League standings publish automatically from the club data feed.
Loading preview…
- Full marketing homepage: hero, teams, training times, sponsors, gallery
- News and match reports via Sanity CMS — no developer needed to publish
- League standings auto-published from club data feed
- Tournament archive and results
- Public document library (Constitution and Bylaws PDFs)
- Facebook feed embed and Google Maps for Ward Park
- Member sign-in portal with onboarding flow for new registrations
- Schema.org structured data (SportsOrganization) for SEO
- Vercel Analytics and Speed Insights
Member Dashboard
Login requiredOnce logged in, members get a personal dashboard covering their full player profile, career stats, rankings, achievements, and season timeline. An achievement system with four tiers unlocks based on real on-field performance.








- Full player profile: position, bats/throws, shirt number, division
- Career and season stats: games, hits, RBI, runs, batting average, OPS
- Personal ranking within team
- OPS comparison chart against teammates (Recharts)
- Season-by-season career timeline
- This week's fixtures and recent results
- Achievement system with 4 tiers (bronze → platinum) tied to real performance
- Award cabinet showing career awards
- Active session management — view and revoke devices
Admin Panel
Login requiredA private control centre for club owners and administrators. Every critical system — members, approvals, documents, email delivery, database — is surfaced in one place, with granular permission controls so only the right people can see the right things.




- System dashboard: DB health, record counts, flagged items — live and colour-coded
- Account management: full roster with filters, bulk approval, role assignment
- Approval queue: review registrations, match new accounts to existing player records
- Document management: upload/replace Constitution and Bylaws — publish instantly
- Email monitoring: full Resend delivery log with 24h and 7d metrics
- Database viewer: live table browser with direct mutation — no DB client needed
- Granular permissions: 12 feature areas per admin user
- Audit log: every admin action recorded and searchable
Tournament — Live Results
The public-facing side of the tournament system. Spectators, players, and anyone with the link can follow the day in real time — scores update automatically every 15 seconds. No login required.
Loading preview…
- Auto-refreshing live scores (15-second intervals) — no page reload needed
- Live standings calculated automatically as results come in
- Bracket progression updated in real time
- Schedule view: all fixtures, pitches, and times
- Mobile-friendly — designed for use on the sideline
- MVP leaderboard visible once voting closes
Tournament — Admin & Setup
Login requiredThe private control centre for running a tournament. Admins build the entire event — teams, schedule, pitches — before the day, then hand scoring duties to a dedicated scorekeeper interface on the day itself.




- Tournament lifecycle: Draft → Published → Live → Complete
- Configuration: format, scoring points, game duration, pitch gaps, MVP mode
- Teams: add rosters, contact details, manage check-in status
- Schedule builder: define pitches and time slots, assign fixtures, add breaks
- Live scorekeeper interface: dedicated UI for on-the-day score entry
- Umpire assignment per pitch and fixture
- MVP voting with optional gender split
- Print-ready exports: schedule, brackets, rosters — PDF and CSV
- Tournament templates: save and reuse configurations
- Audit log: every change tracked with timestamp and admin ID
Fantasy League
Login requiredA full fantasy sports game built entirely bespoke — tied to the club's real player data and real match results. Points process automatically when game results are entered. Prices update dynamically with performance.










- Configurable league: budget, squad size, max players per team, season linking
- Join workflow: members request to join; admin approves or rejects
- Squad management: draft up to 7 players within budget, captain selection
- Full player market with prices, stat profiles, ownership %, price trends
- Transfers: buy/sell within window, budget tracked in real time
- Live scoring: game results process automatically into fantasy points
- League table with points, average, rank, and trends
- Season-end awards: MVP, best defence, most improved, trading champion
- Dual database architecture — club data and fantasy data fully isolated
Council & Governance Portal
Login requiredA private tool for the committee — meetings, action items, and club finances in one place. Separate authentication from the public member portal. Role-based access separates general council views from treasurer-specific financial data.
Screenshot — add when ready
- Dashboard: open actions, upcoming meetings, overdue items, fee summary
- Meetings: schedule with title, date, location, type (regular/strategic/AGM)
- Action tracking: assign to members, set priority and due date, track status
- Treasurer — Accounts: multiple bank accounts, transaction history, running balances
- Treasurer — Fees: create fee seasons, enrol members, record payments, track outstanding
- Role-based access: council view vs. treasurer-only financial data
- Separate authentication from the public member portal
Tech stack
Have a project in mind?
Start a conversation