Skip to content
Product Design & Engineering2026

Big League

Big League needed a single platform to run every aspect of community sports leagues — from fixture scheduling to live standings — without duplicate data entry or manual coordination. We designed and engineered a full-stack league management system and public website, built to last across seasons and sporting codes.

Big League

Overview

Big League Events delivers community-driven and globally recognised sporting events. Their portfolio includes golf tournaments, competitive football leagues, and dynamic athletics events, with experience hosting internationally affiliated competitions, including a World Athletics event. Before this project, league administration was manual: fixture coordination, result entry, standings updates, and player registration all happened across disconnected tools, with data duplicated between a back-office and whatever faced the public. The business needed a platform where every piece of league data entered once — and appeared everywhere it needed to, automatically. The stakes were operational: a single incorrect result, a missed fixture reminder, or a rogue data entry could undermine the credibility of an entire season

Approach


We built two integrated products inside one Next.js application: a role-controlled League Management System and a public-facing website that surfaces live data without manual re-entry.
The architecture decision that shaped everything else was choosing Supabase as the authoritative data layer, not just a convenience. Row Level Security policies enforce the five-role permission model at the database itself, not in application code that can be bypassed. A referee can only touch their assigned fixtures. A team manager cannot modify an officially entered result. These aren't UI restrictions — they're PostgreSQL constraints.
The data schema was designed for longevity. Competitions persist across seasons. The matches table is sport-agnostic; football-specific data lives in an extension table, meaning new sporting codes slot in without structural migration. Standings update via trigger the moment a result is written — not as an afterthought, not on a polling cycle. Supabase Realtime broadcasts that change to every open browser in under a second.
We separated editorial content from league data cleanly: Sanity CMS handles news, sponsors, and sporting code pages; Supabase owns everything that moves. That boundary is enforced by architecture, not convention.

Outcome


Big League now has a single source of truth for every match, player, result, and standings table across every competition it runs. Data entered by a referee in the LMS appears on the public website in real time — no exports, no copy-paste, no reconciliation. The five-role permission model means each user sees exactly what they need and nothing they shouldn't, without administrative overhead. The schema is ready to absorb Athletics, Volleyball, Netball, and every other sporting code on the roadmap without touching the core tables. The platform is built for the organisation Big League is becoming, not just the one it is today.

Project details
CategoryProduct Design & Engineering
Year2026
Deliverables
  • Production Next.js application (LMS dashboard + public website, single codebase)
  • PostgreSQL database
  • Technical Design Documentation (Architecture, Data Design, Application Design)
Tags
Next.jsTypescript supabasePostgresTailwind CSSSanity CMS

Gallery

big league admin dashboard
Admin Dashboard
interface for managing matches
Match Managment Screen