A system design course
Learn system design from one server up.
Grow one app, Chirp, from a laptop to fifty million users. Every lesson starts with something that broke, and works out why, with real numbers and diagrams you can play with.
- Course
System design, from one server up
37 lessons in 8 parts. Grow Chirp from a laptop to 50M users, with a simulation where early choices come back.
Start lesson 1.1 → - Interview practice New
Mock interviews with a whiteboard
URL shortener, rate limiter and more. Clarify, scope, estimate and draw, then compare each stage with a reference answer.
Open the questions → - Engineering blogs New
How real systems broke, and what they learned
Famous outages retold in plain words, with timelines, diagrams and the lessons behind them.
Read the posts → - Low-level design New
Classes, patterns and concurrency
SOLID and design patterns first, then parking lots, LRU caches and elevators, with class diagrams and code.
Start with the concepts →
One path, in order
Each lesson builds only on the ones before it. Nothing assumes a topic you haven't reached yet.
Decisions with consequences
Each part ends in the simulation. Choices you make early come back when Chirp grows.
All the way down
Real numbers, the edge cases, how it fails, and what interviewers ask next.
All lessons
-
1K users
Part 1One server, one database
Ends with Stage 0: MVP
-
100K users
Part 2More users than one server can handle
Ends with Stage 1: Growth
-
2M users
Part 3Choosing how to store data
Ends with Stage 2: New features
-
20M users
Part 4Doing work in the background
Ends with Stage 3: The celebrity
-
50M users
Part 5Splitting data across machines
Ends with Stage 4: Global
-
50M users, every day
Part 6Keeping it running
Ends with Epilogue: Incident day
-
New apps
Part 7New problems
Ends with Chat, ride-sharing, payments, video
-
After the course
Part 8Interview playbook
Ends with Practice
About System Design Road
A free place to learn system design properly, from one server up, and to practise the interviews that test it.
Why this exists
Most system design material falls into one of two traps. It either lists components (load balancer, cache, queue) without saying why any of them is there, or it shows a finished architecture for a famous company and leaves you to guess how anyone got there.
Real systems don't arrive finished. They start small and break in specific ways as they grow, and each piece exists because something went wrong without it. System Design Road teaches it in that order. You follow one made-up app, Chirp, from two founders and one rented server to fifty million users, and every lesson starts with the thing that broke.
What's here
- The course: 37 lessons in eight parts, from what happens when you open an app to consensus, multi-region and payments. Every lesson has real numbers and diagrams you can interact with.
- The simulation: run Chirp yourself. Make the design decisions at each stage, then watch real traffic test them. Early choices come back later.
- Interview practice: ten classic system design questions, practised stage by stage the way a real 45-minute round runs, each with a full walkthrough.
- Low-level design: object-oriented design, SOLID, the classic design patterns and concurrency, then ten LLD interview problems. The parking lot, LRU cache, Splitwise, chess and more, with Java code that compiles and outputs that come from real runs.
- Engineering blogs: well-known outages retold in plain words, with what the engineers learned and the lessons behind them.
How it's made
Three rules run through everything here:
- Explain why, not just what. Every component, pattern and class appears because a requirement or a failure needs it.
- Use real numbers. Estimates are worked through, latencies are realistic, and every code output on the site comes from actually running the code.
- Plain words. If a technical term is needed, it's explained the first time it appears.
Chirp, its founders and its users are fictional. The technology, the numbers and the outages in the blog are real, and each blog post links to the original report it retells.
It's free
Everything you can read here is free, and your progress, notes and whiteboards are saved in your own browser. Nothing is stored about you on a server. The privacy page has the details.
Found a mistake?
Corrections make the site better for everyone. If a number looks wrong, a diagram is unclear, or an explanation skips a step, please let us know.
Privacy
Short version: there are no accounts, no cookies, and no ads. Your progress stays in your own browser.
What stays on your device
Your progress through lessons, your practice answers, whiteboards, notes and reading settings are saved in your browser's local storage. They never leave your device and we can't see them. Clearing your browser's site data deletes them.
Visitor statistics
We use Cloudflare Web Analytics to count visits: which pages are read, roughly where visitors come from (for example a search engine or a link on another site), the country, the type of device, and how fast pages load. It doesn't use cookies, doesn't build a profile of you, and doesn't track you across other websites. The numbers are only ever seen in aggregate.
Services the site relies on
- Hosting. The site is served by Netlify, which, like any web host, processes your IP address to deliver pages and may keep short-lived server logs for security and reliability.
- Fonts. Typefaces are loaded from Google Fonts, so your browser contacts Google's servers to download them.
- Statistics. Cloudflare, as described above.
Each provider handles that data under its own privacy policy.
What we don't do
- No accounts, no sign-in, no passwords.
- No advertising, no ad trackers, no selling of data.
- No email collection on the site at the moment. If that changes, this page will say what's collected and why before it starts.
Changes
If this policy changes, the updated version will appear on this page with a new date.
Last updated: 12 November 2026.
404
That page isn't here.
The link may be old, or the address mistyped. Here are good places to start.
Interview practice
Practise the whole interview, not just the diagram.
Each question runs in the order a real 45-minute round does: clarify, requirements, numbers, API, a whiteboard, then the follow-ups that separate a pass from a strong pass. You try each stage first, then compare with a reference answer and the lessons behind it.
10 of 10 questions are written. Your work is saved in this browser only.
- Easy45 min
URL shortener
Turn long links into short ones and redirect, fast, for years. Simple to state; the follow-ups are where it gets interesting.
Not started · walkthrough - Easy45 min
Rate limiter
Limit each API key to N requests per minute across 50 gateway servers. The algorithm is the easy part; the distributed part isn't.
Not started · walkthrough - Medium45 min
Notification system
Push, email and SMS for 50M users: preferences, no duplicates, and a login code that must arrive even while a celebrity post sends 10 million alerts.
Not started · walkthrough - Medium45 min
News feed
Home timelines for Chirp: build them when people post, when people read, or both, and what to do when someone with 10M followers posts.
Not started · walkthrough - Medium45 min
Search autocomplete
Suggestions in under 100 ms as people type, built from what millions of others searched, and kept fresh when something starts trending.
Not started · walkthrough - Medium45 min
Web crawler
Fetch a billion pages a month without hammering any one site, crawling the same page twice, or getting lost in a page that links to itself forever.
Not started · walkthrough - Medium45 min
Ticket booking
Two million fans, one stadium of 50,000 seats. No seat sold twice, holds that expire, a fair queue, and payments that sometimes don't answer.
Not started · walkthrough - Hard45 min
Chat app
One-to-one and group messages, delivered instantly and in order, with ticks for sent, delivered and read, and history on every device.
Not started · walkthrough - Hard45 min
Distributed key-value store
Build the database itself: spread keys across machines, keep three copies, stay writable when machines fail, and decide what happens when copies disagree.
Not started · walkthrough - Hard45 min
File sync (Dropbox-style)
Keep files in sync across laptops and phones: upload only what changed, catch up after being offline, and never silently lose someone's edits.
Not started · walkthrough