Game Plan
High-concurrency fantasy sports platform
A fantasy sports platform handling thousands of real-time user actions, with live leaderboards driven by match data and hardened against post-toss traffic spikes.
- Stack
- LaravelPHPRedisMySQLQueuesWebSockets
Thousands
Concurrent actions
Real time
Leaderboard
Post-toss spikes
Peak handling
The problem
Fantasy sports traffic is brutally spiky: everyone edits their team in the few minutes after the toss. Database locking under that burst was causing contention and timeouts.
What I built
I moved contended writes onto Redis-backed queues, cached hot read paths, and rebuilt the leaderboard as an incrementally-updated structure fed by live match events instead of recomputed on read.
The outcome
The platform absorbs peak post-toss traffic within its tight time window, and leaderboards update in near real time without hammering the primary database.
Overview
Game Plan is a fantasy sports platform engineered for a very specific traffic shape: near-zero load, then thousands of concurrent users in the minutes after a match toss.
What I built
- Real-time leaderboard — incrementally updated from live match data rather than recomputed per request.
- Lock contention fixes — resolved database locking issues with Redis caching and queue-based processing.
- Peak-window optimisation — tuned the system specifically for the post-toss burst.
- Thousands of concurrent actions — team edits, transfers and joins handled without timeouts.
Engineering notes
The original bottleneck was every team edit contending on the same contest rows. Writes were moved to a queue with per-contest serialisation, so the burst becomes throughput work rather than lock contention, while reads are served from Redis with short TTLs keyed on the live match state.