Live · Production

NSA Sports Platform

Challenge

Fragmented player registration, team assignment, and coach approvals across spreadsheets.

Constraints

  • Role-based access for coaches/players/admins
  • Configurable season/category rules
  • Public presence needed for registration

Architecture

  • React frontend with role-aware routing
  • Node.js backend with collection-based approval store
  • MongoDB for flexible seasonal schema changes
  • Configurable approval workflows using rule definitions

Key Decisions

  • Chose document DB to avoid repeating migration rewrites per season
  • Built role-aware dashboards instead of one admin dashboard to reduce support tickets

Impact

Live in production, managing 50+ active players across seasons with zero downtime since launch.

Production system — registration and league management in active use.

Links

Stack

ReactNode.jsMongoDB