System design for the technical PM
How real systems are designed at scale — from rate limiters to stock exchanges — with the architecture, tradeoffs, and failure modes that shape product decisions.
Start with the constraints, not the technology. The numbers drive the architecture, and every design must choose between correctness and throughput.
How real systems are designed at scale — from rate limiters to stock exchanges. This track covers the architecture, tradeoffs, and failure modes that shape product decisions.
Foundations → building blocks → systems · 28 real-world systems across eight lessons
This track covers the architecture, tradeoffs, and failure modes that shape product decisions.
Every lesson in this track follows the same shape:
- TL;DR — the system in a paragraph, the core tradeoff, the scale.
- 🎯 For the technical PM — why it matters to the product, what it changes in your decisions, the sharp question to ask your eng team, and the product risk if you ignore it.
- Mental model — the one diagram or analogy that makes the system click.
- Mechanics — how it actually works: components, data flow, protocols.
- Tradeoffs & decisions — named tradeoffs with costs.
- Failure modes — how it breaks in production.
- Practitioner checklist — what to verify before you ship or bet on this architecture.
This track covers 28 real-world systems across eight system lessons, plus lessons on numbers, traffic and caching, distributed data, ML and GenAI systems, social and media systems, and reliability, and a question bank. Systems are grouped by the kind of problem they solve.
Connects to other tracks
- The technical product sense track teaches you how to read systems. This track teaches you how they're designed.
- The AI engineering modules show what's different when LLMs are in the loop — caching, isolation, cost. This track shows the distributed-systems foundations everything rests on.
- The agentic AI track uses message queues, event sourcing, and state machines from this track as agent infrastructure.
The lessons
- Foundations & framework — scaling from zero to millions, back-of-envelope estimation, the four-step system design framework, what a design review evaluates, and a seven-stage practice plan
- Numbers, formulas and papers — latency orders of magnitude, availability and downtime, estimation shortcuts, and the classic papers
- Traffic, caching, APIs and storage choice — load balancers, caching strategies, CDNs, choosing a store, and API design
- Core building blocks — rate limiting, consistent hashing, distributed key-value stores, and unique ID generation
- Distributed data and consistency — replication, sharding, CAP and PACELC, consistency models, consensus, sagas and the outbox, and clocks
- Web-scale services — URL shortener, web crawler, notification system, and news feed
- Real-time systems — chat system, search autocomplete, and video streaming platforms
- Storage & sync — cloud file storage and S3-like object storage
- Location & geo services — proximity service, nearby friends, and mapping/navigation
- Data infrastructure — distributed message queues, metrics monitoring, ad click aggregation, and email service
-
Transactional & financial systems — hotel reservation, gaming leaderboard, payment system, digital wallet, and stock exchange
-
ML system design — the ML lifecycle, recommendation funnels, ads click prediction, product search and reverse image search
- GenAI and agent platforms — serving an LLM chat service, continuous batching, agent runtimes and keeping agents safe
- Social and media systems — likes at scale, social-graph search, swipe and match, photo tiers, video pipelines and live streaming
- Reliability and operations — SLOs, observability, resilience patterns, safe deploys, regional failure, backups, and five incident case studies
- Question bank — 50 design questions, by level, mapped to the lessons that answer them
📌 Close out the module: Recap & real-world examples
Where the depth lives
Each lesson summarizes an idea and points to the lesson that covers it in full.
| If you want the full depth on | Read |
|---|---|
| Turning load forecasts into capacity | Numbers, formulas and papers and Foundations & framework |
| Rate limits, hashing, quorums and IDs | Core building blocks |
| Caches, balancers, CDNs, stores and APIs | Traffic, caching, APIs and storage choice |
| Replicas, consistency, consensus and sagas | Distributed data and consistency |
| Recommendations, ads, search and vector indexes | ML system design |
| Serving LLMs and running agents safely | GenAI and agent platforms |
| Counters, graphs, photos and live video | Social and media systems |
| Failure, rollout safety and recovery | Reliability and operations |
| Feeds, caches and fan-out | Web-scale services |
| Messages that must not be lost or doubled | Data infrastructure and Transactional & financial systems |
| How models work inside the serving layer | Generating text and the KV cache and Cost optimization |
| Evals, traces and the numbers you measure | Evaluation and observability |
| Practising with questions | Question bank |
Run the code
Every example is in system-design/code/. Run them all with one command.
python3 system-design/code/test_examples.py
Each file ends with assert lines. A passing file checks the direction of each claim in the lessons, such as consistent hashing moving only about 1/N of the keys. Run a file to see every quoted number printed.
