Skip to content

Repository files navigation

System Design Mastery

An interactive, gamified course for learning system design from the ground up.

Learn system design by combining a battle-tested textbook with a playable browser game. Work through 20 structured lectures, test your understanding with quizzes and guided challenge missions, and reinforce concepts by building cloud infrastructure in a real-time strategy game.

This course is designed for developers who want to deeply understand how large-scale systems work — not just memorize answers for interviews.


Powered By Two Excellent Open-Source Projects

This course would not exist without these two projects. They are the foundation everything here is built on.

System Design Primer by Donne Martin

The textbook for this course. A comprehensive, community-driven guide to system design with 280,000+ stars on GitHub — one of the most valuable learning resources in software engineering. It covers everything from networking fundamentals to distributed systems, includes reference solutions for real interview problems, Anki flashcard decks, and object-oriented design notebooks. Every lecture in this course assigns pre-reading from it, and every Boss Battle benchmarks your design against its reference solutions.

License: CC BY 4.0 (Creative Commons Attribution)

Server Survival by Kostyantyn Pshenychnyy

The game that brings system design to life. A Three.js browser game where you build cloud infrastructure — firewalls, load balancers, caches, queues, databases, compute nodes — to survive waves of incoming traffic. Every component in the game maps directly to a system design concept: placing a Cache reduces database load, adding a Queue absorbs traffic spikes, deploying a Load Balancer distributes requests across Compute nodes. You don't just read about these ideas — you feel them break when you get them wrong.

License: MIT

See ATTRIBUTION.md for full license and usage details.


What You Get

  • 20 lectures across 4 themed modules, each with pre-reading, deep dives, and real-world examples
  • Standardized quizzes (10 questions per lecture) to check your understanding
  • Guided challenge missions — design problems with constraints, hints, and frameworks provided
  • 4 Boss Battles — full system design exercises benchmarked against reference solutions
  • Server Survival integration — a 3D browser game where you build infrastructure and see concepts come alive
  • Company architecture readings — how Netflix, Twitter, Google, and others solve real problems at scale

Course Structure

MODULE 1: "The Request Journey"       Lectures 1-5     + Boss Battle
  Networking, DNS, CDNs, Load Balancers, Reverse Proxies, Estimation

MODULE 2: "The Data Fortress"         Lectures 6-10    + Boss Battle
  RDBMS, NoSQL, Sharding, Consistent Hashing, Caching, Async & Queues

MODULE 3: "The Distributed Mind"      Lectures 11-15   + Boss Battle
  CAP Theorem, Consistency, Availability, Resilience, Protocols, Security

MODULE 4: "The Architect's Trial"     Lectures 16-20   + Final Boss
  Interview Framework, Guided Walkthroughs, Peer Review, Timed Drills

How It Works

Each lecture follows a consistent flow:

  1. Pre-Reading — Read assigned sections from the System Design Primer
  2. Concept Briefing + Deep Dive — Detailed explanations with trade-offs and real-world examples
  3. Discussion Prompts — Open-ended questions to deepen your thinking
  4. Server Survival Tie-in — Connect the theory to the game mechanics
  5. Quiz — 3 fill-in-the-blank + 4 multiple choice + 3 short answer = /10
  6. Challenge Mission — A guided design problem you solve yourself

The course is self-paced. At an intensive pace (10+ hours/week), expect about 3-4 weeks to complete everything.


AI Tutor Support

This course is designed to work with AI coding assistants as your discussion partner and tutor. Discussion prompts, challenge missions, and boss battles all benefit from back-and-forth conversation with an AI.

The repo includes pre-configured context files for three AI CLI tools:

Tool Context File Setup
Claude Code CLAUDE.md Works automatically
Codex CLI AGENTS.md Works automatically
Gemini CLI GEMINI.md Works automatically

Use whichever tool you prefer. All three have the full course context — they know the curriculum structure, the lecture format, and how to help you work through challenge missions and boss battles.

No AI tool is required to complete the course, but the discussion prompts are designed for interactive conversation rather than solo reflection.


Prerequisites

  • git — to clone this repo and the dependencies
  • A web browser — to play Server Survival (no install needed, just open a file)
  • Python (optional) — only needed if you want to run the Jupyter notebook exercises

That's it. No frameworks, no build tools, no accounts to create.


Quick Start

# 1. Clone this repo
git clone https://github.com/cheesecakeMafia/system-design-game.git
cd system-design-game

# 2. Run the setup script (clones the textbook and game into deps/)
./setup.sh
# Or: make setup
# Or on Windows: powershell -ExecutionPolicy Bypass -File setup.ps1

# 3. Start learning
# Open course/START-HERE.md in your editor or on GitHub

Manual Setup

If you prefer not to run scripts, you can clone the dependencies yourself:

# Clone this repo
git clone https://github.com/cheesecakeMafia/system-design-game.git
cd system-design-game

# Create the deps directory
mkdir deps

# Clone the textbook
git clone https://github.com/donnemartin/system-design-primer.git deps/system-design-primer

# Clone the game
git clone https://github.com/pshenok/server-survival.git deps/server-survival

Then open course/START-HERE.md to begin.


Start the Course

Ready to begin? Open course/START-HERE.md for the full module map and learning path.


Contributing

Found a typo? Have a better example? Want to add a translation? See CONTRIBUTING.md.

License

Original course content is licensed under CC BY 4.0. See LICENSE for details.

About

An interactive, gamified system design course. 20 lectures, boss battles, and a browser game — built on top of System Design Primer and Server Survival.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages