A System Designer guide
Build the system. Survive the day. See why it held.
Meet System Designer: a free browser game with 82 system design problems, 41 lessons and a traffic day that puts your decisions to work.
A box labelled cache is easy to draw. Knowing what happens when that cache empties at lunchtime is harder. System Designer turns that gap into something you can play.
Build a real architecture, press Start and fast-forward through a whole day of traffic. A link goes viral. A building loses power. A provider asks you to slow down. Every request flows through your design as moving light, so you can see where the work goes and where it gets stuck.
Start with a small system
You do not need to know what a load balancer is. Your first system starts with a phone, a server and a database. When more people arrive, you add capacity, spread requests and remember repeated answers. The parts have a job before they have a name to memorise.
If you already build software, try the URL shortener. It sounds small: save a long address, return a short one, look it up later. Then ask how the same link behaves when a crowd taps it together. Read the constraints, make your estimate and see whether your explanation survives a day.
The habit is the game
- Clarify the promise. Ask what can wait, what must be fresh and what may never be lost.
- Do the numbers. Turn the audience into requests, stored bytes and work at the busiest step.
- Draw a design. Connect parts and tune the capacity and policies you can explain.
- Run the traffic day. Watch spikes, outages, waiting work and recovery.
- Read the debrief. Compare reliability, speed, data safety and monthly cost, then change one thing.
The debrief is written in plain words. It tells you which event hurt, where requests failed and what the design cost. Hints and editorials help you investigate. A traffic score is evidence about this workload, while the correctness checks ask you to reason about duplicates, crashes and ordering that a moving dot cannot prove.
More than one way to practise
There are 41 lessons and 82 problems across 15 industries. Lessons focus on one mechanism. Problems put several mechanisms together, from small services to systems where an outage, an unfair customer or a late queue changes the answer.
Try Notification service when you want to separate accepting work from finishing it. Try One-to-one chat when bad connections and repeated messages matter. Use How to lead a design interview before a timed attempt. Interview mode on Medium and Hard problems asks you to lead the discussion and defend choices with evidence.
Sandbox leaves the score behind and lets you try a traffic pattern or event just to understand it.
Free, with a free account
Play in the browser. There is no download and no subscription. Playing on systemdesigner.io needs a free Google or GitHub account. Reading the problems, lessons and guides does not.
Your account keeps progress across devices. The code is open source under the MIT license, so you can also run your own copy with no account at all.
Prices, capacities and timings are rounded teaching approximations. A simulation cannot certify a production system, but it can make a useful question concrete: what did this choice protect, what did it cost, and what would make you change it?
Start with Your first system, then build the URL shortener. Predict the first bottleneck before you press Start.