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
North Down Softball Club screenshot

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

01

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…

Open full site
  • 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
02

Member Dashboard

Login required

Once 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.

Member Dashboard screenshot — 1 of 8
Member Dashboard screenshot — 2 of 8
Member Dashboard screenshot — 3 of 8
Member Dashboard screenshot — 4 of 8
Member Dashboard screenshot — 5 of 8
Member Dashboard screenshot — 6 of 8
Member Dashboard screenshot — 7 of 8
Member Dashboard screenshot — 8 of 8
  • 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
03

Admin Panel

Login required

A 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.

Admin Panel screenshot — 1 of 4
Admin Panel screenshot — 2 of 4
Admin Panel screenshot — 3 of 4
Admin Panel screenshot — 4 of 4
  • 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
04

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…

Open full site
  • 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
05

Tournament — Admin & Setup

Login required

The 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 — Admin & Setup screenshot — 1 of 4
Tournament — Admin & Setup screenshot — 2 of 4
Tournament — Admin & Setup screenshot — 3 of 4
Tournament — Admin & Setup screenshot — 4 of 4
  • 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
06

Fantasy League

Login required

A 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.

Fantasy League screenshot — 1 of 10
Fantasy League screenshot — 2 of 10
Fantasy League screenshot — 3 of 10
Fantasy League screenshot — 4 of 10
Fantasy League screenshot — 5 of 10
Fantasy League screenshot — 6 of 10
Fantasy League screenshot — 7 of 10
Fantasy League screenshot — 8 of 10
Fantasy League screenshot — 9 of 10
Fantasy League screenshot — 10 of 10
  • 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
07

Council & Governance Portal

Login required

A 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

Next.js 14 (App Router)TypeScriptPostgreSQL (Neon)Tailwind CSSSanity CMSResendVercel & Vercel BlobRecharts

Have a project in mind?

Start a conversation