01 · Real-time platform · confidential client
Live scoring for moments that can't lag
A multi-sport live-scoring platform where fans, broadcasters and sponsors all watch the same second — and every organisation gets its own branded property on one codebase.
- FastAPI
- PostgreSQL
- Redis
- SSE
- React
- ECS Fargate
- CloudFront
The challenge
Live sport punishes latency. Scores must reach every screen the instant they happen, through traffic spikes, without polling storms — and each organisation using the platform wants its own look, its own domain, and its own sponsors.
What we built
A unified scoring platform serving multiple professional sporting codes: scorer consoles for matchday officials, public live sites for fans, and an admin CMS for competitions — with white-label theming and custom domains resolved per tenant.
Architecture
- Python / FastAPI API with PostgreSQL and Redis; scoring writes publish to Redis pub/sub and fan out over server-sent events — the hot path never touches the database
- React 19 CMS and public sites, with live caches updated in place so a score never triggers a refetch storm
- Containers on AWS ECS Fargate behind CloudFront, with WAF, secrets management and OpenTelemetry tracing
- Serverless video pipeline: uploads transcoded to HLS with event-driven callbacks
- CI/CD via GitHub Actions with OIDC — build, scan, migrate, deploy, smoke-test
Outcome
- Sub-second updates on live matchdays, by architecture — no polling anywhere
- Multiple branded properties running on a single codebase
- 600+ automated tests gate every change before it ships