System-design method
Use the same disciplined sequence before drawing boxes.
- Clarify users, core flows, scale, latency, availability, consistency, privacy, and budget.
- Define APIs and the minimum data model.
- Draw a simple end-to-end design that works at today's scale.
- Identify bottlenecks, dependencies, failure modes, and observability.
- Evolve only the constrained parts and explain each trade-off.
Key idea: Requirements drive architecture; diagrams do not create requirements.