All problems

Live Polling App

Audience voting for live TV — a vote burst and a hot result read, at the same second.

easy~12 min Pro Simulator · +80 ptsTheory +35 pts
The build

Keep votes landing and results loading while a TV host says 'vote now' to millions at once.

Two very different traffic shapes share this system: a vote is a write burst timed to the second the host says go, and a result is a read that gets hammered by everyone watching the tally move. Neither can block the other — the vote firehose needs a queue, the results need a cache.

Components in play

  • Edge LBSpreads the audience across the Poll API fleet.
  • Poll APIAccepts votes and serves the live tally.
  • Vote/result splitSplits accepted traffic between the vote-write queue and the tally-read cache.
  • Result cacheServes the current tally without hitting the store.
  • Poll results storeDurable vote counts and poll state.
  • Vote queueAbsorbs the vote burst before it reaches the store.
  • Vote workersDrains the queue and applies votes to the store.

Graded on these SLOs

  • ≥ 97.00%Votes + reads succeed
  • ≤ 140 msResult p99
  • ≥ 5.0k rpsSustain the vote-now spike
  • ≤ 85%Headroom
  • ≤ 10Lean footprint
Base 5,000 rps42s run 3 scripted failures

The brief

Design a live-audience polling service like the ones used on singing-competition shows. Viewers vote for their favorite while the results update in real time on screen. The two traffic shapes are opposites: a vote is a write, timed to the instant the host says 'vote now'; a result is a read, hammered continuously by everyone watching the tally move. Neither can be allowed to block the other.

Functional

  • Cast a vote for an option in an active poll
  • Show a live (near-real-time) tally of results
  • Close a poll and lock in the final result

Non-functional

  • Vote bursts are extreme and synchronized to a single on-air moment
  • Result reads must stay fast even while votes are still landing
  • No vote should be silently dropped — undercounting is a trust problem

Warm-up: design decisions

Optional theory to prime the calls a senior engineer would make before you build.

Pro

Solving is a Pro feature

Unlock the on-canvas AI design coach, per-run design reviews, the chaos simulator and all 12 problems for $15/month.

  • AI design coach on your canvas — pins failure points & over-engineering
  • Honest AI design review on every run
  • All 12 problems + unlimited chaos simulator
  • Points, levels & leaderboard
Get started