Dev Learning

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.

  1. Stage 1
    Requirements
  2. Stage 2
    Actors and lifecycle
  3. Stage 3
    Numbers
  4. Stage 4
    High-level design
  5. Stage 5
    Deep 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.

Loading your progress…