Learn · System Design
Designing systems that survive their own dependencies.
A track on the parts of system design that AI cannot do for you — and the parts that AI changes the shape of.
Modules
Six modules.
01
Designing for failure
Timeouts, retries, idempotency, backpressure, blast radius. The boring foundations that AI cannot design for you.
02
Observability as a design input
Tracing, structured logs, metrics, and SLOs treated as first-class design choices — not afterthoughts.
03
Migration cost
Designing systems you can actually migrate. Why most systems can't be evolved later, and what to do about it now.
04
Systems with a model in the hot path
Latency, cost, caching, deterministic fallbacks, eval-in-prod. How to design a system whose key dependency is a generative model.
05
Tool-using agent architectures
Boundaries between the planner, the tools, and the executor. Where state lives. Where authorization is enforced.
06
The design interview, redrawn
What good answers look like when the interviewer expects you to discuss model dependencies, eval surfaces, and AI-specific failure modes.