The System Design Method: Requirements Before Architecture
System design is where everything you've learned so far gets synthesized — data modeling, networking, distributed systems, all of it — into the skill of designing a system before …
System Design Methodology covers: The System Design Method, Back-of-the-Envelope Estimation, High-Level Architecture and API Design, Data Modeling and Scaling Decisions, The Trade-off Framework and the Rails Scaling Lens. Year 3, Quarter 10. Includes 12 exercises and 3 projects.
This course unlocks once you've finished its prerequisite. Open prerequisite →
System design is where everything you've learned so far gets synthesized — data modeling, networking, distributed systems, all of it — into the skill of designing a system before …
"Roughly how much storage does a year of this system's data need? How many requests per second at peak? How much bandwidth?" These back-of-the-envelope estimates are the step that…
With requirements clarified and scale estimated, you're ready to draw the system — the high-level architecture, a handful of boxes and arrows showing the major components (clients…
Two of the most consequential decisions in any system design live here. First: which data model? SQL (relational) or NoSQL (document, key-value, wide-column, graph) — a choice tha…
This lesson closes the methodology with the skill that actually distinguishes a strong system designer, and then makes the whole thing concrete in a stack you can inspect end to e…
- [ ] Back-of-envelope: How much storage for Twitter's tweets per day? — 500M tweets x 280 chars - [ ] Back-of-envelope: QPS for Google Search — 8.5B queries/day = ~100K QPS - [ ]…
- [ ] Design a URL Shortener — AX Ch8 — Base62 encoding, hash collision, 301 vs 302 redirect, analytics - [ ] Design a Rate Limiter — AX Ch4 — Token bucket, sliding window, distri…
- [ ] Design a Chat System — AX Ch12 — WebSocket, presence, message queue, group chat, offline messages - [ ] Design a Payment System — AX Vol2 Ch11 — Idempotency, double-entry le…
- [ ] Write a complete system design document for a ride-sharing service — Requirements, API design, data model, high-level architecture, deep dives (matching, pricing, ETA), scal…
Build a Ruby CLI tool for system design estimation. Input: DAU, requests per user per day, payload size, read/write ratio. Output: QPS, storage per year, bandwidth, number of serv…
Design a complete REST API for a social media platform: user management, posts, comments, likes, follows, feed. Document every endpoint with request/response schemas, status codes…
- [ ] Milestone 1: Write the system design document (10 pages, diagrams) - [ ] Milestone 2: Rails app — create short URL, redirect, Base62 encoding - [ ] Milestone 3: Redis cache …
- [ ] What are the four steps of a system design interview? (requirements, estimation, design, deep-dive) - [ ] How do you do a back-of-envelope estimation for storage, bandwidth,…
13 lessons. Read in order; spiral back when you need to. By the end you'll have used the core ideas twice — once on the abstract, once on something you'll meet at work next week.