System design interview preparation that makes you answer first
Most system design material is a catalogue of components. You finish it knowing more words and still freeze when someone says “design a ride-hailing app”. What is missing is never the components — it is the order you make decisions in, and the habit of saying what each one costs. That is what this site drills.
The method, five stages, every time
Stages 1 to 3 take about a third of your time, and they are what make everything after them defensible. Every problem on this site is worked in this order.
- Stage 1Requirements
- Stage 2Actors and lifecycle
- Stage 3Numbers
- Stage 4High-level design
- Stage 5Deep dive and tradeoffs
How to use it
Every topic and every problem asks you to write your own answer before it shows you ours. That gap — between what you wrote and what you read — is the only thing here that teaches. If you are stuck, take a hint: each one is a question to ask yourself, never the answer, and you can take every hint and still have to write something yourself. The 5 foundation lessons and 44 topics are ordered as a dependency chain — caching before CDNs, replication before partitioning — so reading top to bottom never asks you to assume something you have not met.