The stats pipeline had run for years without incident. Then the World Cup arrived, traffic spiked ten times above baseline, and live scoring fell eight minutes behind reality. In sports media, an eight-minute-old score is not a score. It is a bug.
The story of Lyra Realtime.
Live scores in under a second, at 4.2 million events per second.
The ingestion tier was rewritten in Rust with Kafka consumers that speak backpressure natively — no more silent queue growth, no more consumer-lag cliffs. Hot-path reads were fanned out through TimescaleDB and Redis so the client tier could serve millions of concurrent viewers without touching the write path.
Before the next tournament, we replayed peak historical traffic through the new stack at 1.4× throughput for a full 72 hours. It held. The team slept for the first time in a season.
The platform now sustains 4.2 million events per second during marquee events, with 820ms median end-to-end delivery to the client. Two seasons in and there has not been a single scoring incident.
“We stopped watching dashboards and started watching the game.”
Lyra's ingestion tier is being licensed to a second-tier league operator in 2026, on the same platform code.