0 · How to approach a design · The 5-step framework

The 5-step framework

StepTime (45 min)Output
1. Requirements5 minFunctional features (3–5) + non-functional: scale, latency, availability, consistency
2. Estimates5 minQPS (read vs write), storage/yr, bandwidth — only what changes the design
3. API + data model5 minA few endpoints; core entities and how they're keyed
4. High-level design15 minBoxes & arrows for the happy path, end to end
5. Deep dives15 minBottlenecks, failure modes, scaling the hottest path, trade-offs

Most common mistake: jumping to step 4 and drawing Kafka before knowing whether the system is read-heavy or write-heavy.