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.
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.
- 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
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
Each lecture follows a consistent flow:
- Pre-Reading — Read assigned sections from the System Design Primer
- Concept Briefing + Deep Dive — Detailed explanations with trade-offs and real-world examples
- Discussion Prompts — Open-ended questions to deepen your thinking
- Server Survival Tie-in — Connect the theory to the game mechanics
- Quiz — 3 fill-in-the-blank + 4 multiple choice + 3 short answer = /10
- 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.
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.
- 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.
# 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 GitHubIf 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-survivalThen open course/START-HERE.md to begin.
Ready to begin? Open course/START-HERE.md for the full module map and learning path.
Found a typo? Have a better example? Want to add a translation? See CONTRIBUTING.md.
Original course content is licensed under CC BY 4.0. See LICENSE for details.