Overview

A stage-by-stage system design reference

System Design, from first principles.

Most system design material teaches you to memorize architectures. This teaches you the machinery underneath — why a database uses B-Trees and not red-black trees, what a load balancer actually decides per request, what CAP really means and what it doesn't. Every chapter is a self-contained reference with diagrams, tradeoff tables, and interview-ready explanations.

11 stagesinterview-readycode + theory

The Stages


How to Use This

Each chapter follows the same structure:

  1. The Problem — why this concept exists, what happens without it
  2. First Principles — the core idea explained from the ground up
  3. How It Works — mechanics, internals, data structures
  4. Tradeoffs — comparison tables, decision frameworks
  5. Interview Tips — when to bring this up, what to say, common mistakes
  6. Visual Models — ASCII diagrams, flow charts, architecture boxes

Who This Is For

Backend engineers preparing for system design interviews, and anyone who wants to understand why systems are designed the way they are — not just what the pieces are called.


Community

Built in the open, improved by the community

Found a mistake? Want to add a diagram? Every improvement makes this reference better for the next engineer. Contributions of all sizes are welcome.

Contribute on GitHub →