Scorecast
A live scoreboard platform for sports events. Replaces manual score-keeping with instant synchronization across scorer phones, admin dashboards, and broadcast display screens. Officials control matches from their phones using QR codes, while scores, timers, and match events stream live to spectators and commentators.
Build StackGolang, Gin, WebSocket, PostgreSQL, React, TypeScript, Vite, Tailwind CSS, Docker, JWT Authentication
Challenges
Syncing score updates across multiple devices in real-time without latency
Allowing match officials to control games securely via mobile devices
Supporting undo/redo and complex match logic (sets, timers, state transitions)
Handling concurrent connections (scorer, admin, display, broadcast) reliably
Solutions
Golang WebSocket hub for instant event propagation; PostgreSQL for persistent state
QR/4-digit device pairing with JWT tokens; each device gets a scoped token by role
Event-driven match state machine; undo/redo tracked via event log (append-only)
Docker deployment with load balancing; tested under concurrent scorer + display load