Official scorers and data partners send every ball, goal or point into an ingest service. Events flow through a stream where a processor updates the match state and statistics. The new score lands in a cache, is pushed over WebSockets to everyone watching, and triggers push notifications for big moments — while snapshots are cached at the CDN for everyone else.
Functional requirements
- Live scores, play-by-play and commentary for many matches at once
- Player and team statistics updated in real time
- Push alerts for goals, wickets and results
- Schedules, fixtures and standings
- Admin tools for official scorers to correct mistakes
Non-functional requirements
- Updates reach viewers within 1–2 seconds
- Huge spikes during big matches (tens of millions watching)
- Events applied in order; corrections must propagate
Extensions
- Fantasy sports scoring from the same events.
- Live win-probability models.
- Video highlight clips linked to events.