The Runtime Theory
easy · 4h · 6 steps

System Design Foundations

Start with the basics — what a system is, how requests travel, and the metrics that drive every design choice — before moving to databases, caches, and distributed consensus.

Curriculum (6 steps)

1

A system is not a single program — it is components with boundaries, responsibilities, and failure modes. Learn how to see the box before you design inside it.

Start→
2

Every system design trade-off is ultimately a balance between doing work fast, doing work often, and paying the cost of making multiple components agree.

Start→
3

Follow a request from the browser through name resolution, transport, TLS, and HTTP to the application — the first mile of every system design.

Start→
4

Follow a request through routing, a cache lookup, a database miss path, and a cache-fill decision — the most common design choice in every service.

Start→
5

Use back-of-envelope numbers to estimate the latency of a cross-country API request and identify which hop dominates the total cost.

Start→
6

The classic system design opener — trace the journey from keystroke to page render and identify the design choices at each layer.

Start→