Free to play · No account for chapter 1
Design a backend. Watch it break. Fix it.
Everything holds until it doesn't.
Overload is a system-design simulator. You build the architecture, declare your own API, and deterministic traffic ramps up until something gives. The same build fails the same way every time, so you can learn from it.
No account for the first chapter · no card · retries always unlimited
- Arriving
- 54 rps
- Served
- 54 rps
- Dropped
- 0 requests
Traffic climbs from 10 to 1,000 requests per second. The database holds until 178 requests per second, then saturates and every request beyond that is dropped.
Scores are re-run on the server, so the leaderboard is real.
Doubling the compute changes nothing.
One brief: a URL shortener that has to carry a million users. Four builds, and what each one actually sustains before it starts dropping requests — measured by the engine, not asserted by us.
Build 1 of 4
One box, no cache
178rps sustained
Everything on one compute box, straight into the relational store.
Three steps from a blank board to a broken build.
Step 1
Draw the topology
Drop a balancer, compute, a cache and a database onto the board, then wire them together.
Step 2
Bind your API onto compute
Declare the endpoints, then say which box serves each one. Nothing does it for you.
Step 3
Run it under load
Traffic ramps until something gives. The report says what failed, where, and why.
Learn it, then do it without a guide.
Track 1 · Foundations
One app, built lesson by lesson
You build one bus-tracking app across the course, from a single server to caches, replicas, shards and queues. Free, and it stays free.
Track 2 · Real World
Briefs with nobody holding your hand
Levels from Easy to Hard, each with a budget, a traffic shape and things that go wrong. Easy levels are free; Medium and Hard will need Pro when it launches.
A leaderboard worth reading.
Nothing tells you the traffic mix
A shortener is overwhelmingly reads. Working that out — and realising the read path is what has to scale — is the exercise. Print it on the brief and there is nothing left to solve.
Your API is yours to design
You declare the endpoints and bind them onto compute, many to many. Put the read flood and the write path on one box and watch the valuable traffic starve first.
Scores are computed server-side
Your browser animates the run. The server re-runs the identical simulation and records what it gets. That is the only reason a leaderboard here is worth reading.
Questions, answered.
Do I need an account?
Not for the first chapter: its four lessons play without one. Saving your progress and putting runs on the leaderboard need an account.
What does deterministic mean?
The same build fails the same way every time. The traffic has no random noise in it, so when a run breaks you can change one thing and know that what you see next is the effect of that change.
Can I use my own language or framework?
There is no code. You design the architecture on a board, declare your API's endpoints, and decide which box serves each one. Nothing to install and nothing to deploy.
What will it cost?
Foundations and every Easy level in Real World are free, and stay free. Medium and Hard will need Pro when it launches, and anything you pass before then stays yours. The details are on the pricing page.
How is the score computed?
The server re-runs your build through the identical simulation and records what it gets, not what your browser showed. The leaderboard ranks by that verified score, with throughput per dollar breaking ties, so overspending costs you.