How to play

It’s gonna crash. Fix it!

Your app keeps growing. Each round sends more traffic. Build a system that survives it.

Play

Draw your system

ServerDatabaseLoad BalancerCache
  • Drag parts from Components onto the board.
  • Drag from a dot on one box to another box to connect them. Every box has four dots.
  • Select a box to change its size or add copies.
  • Drag empty space to move around. Pinch, or hold Ctrl and scroll, to zoom.

Press Run and survive

A round passes when all three hold:

Answered99%of requests or more
Avg response300 msor less in Learn
CostBudgeta month or less
  • Press Run, or Ctrl+Enter (⌘ Enter on a Mac). The same keys skip to the end of a run.
  • A round may have a twist, like a crash or a sale. The first time it is a surprise: read the heads-up, it hints at what may break.
  • When a twist hits, you get paged. The page shows what users feel, not the cause. It never changes your result: your design does.
  • New parts unlock as you climb.

Fail, learn, fix

  • A red circle marks the part that broke, and the coach says why. See what happened has the details.
  • Stuck? Use a hint: a nudge first, then the fix. Earn hints by passing rounds and answering quick checks.
  • Pass with the cheapest design for three stars. Not there yet? Build it again.

Three ways to play

  • Learn: Rounds that each teach one new idea about system design.

  • Questions: Popular system design interview questions. Build each design and test it.

  • Sandbox: Set your own traffic and twists, and find where your design breaks. No budget, no rounds.