System Design, Design Patterns & more to come — master engineering, one concept at a time.
31 chapters across 2 sections:
| Part | Chapters | Topics |
|---|---|---|
| Fundamentals | Ch 01-04 | Scalability, CAP & PACELC, back-of-envelope estimation, tail latency |
| Building Blocks | Ch 05-12 | DNS, load balancing, caching, CDN, SQL & NoSQL, message queues, protocols |
| Architecture & Patterns | Ch 13-17 | Microservices, event-driven, data replication, security, monitoring |
| Case Studies | Ch 18-22 | URL shortener, social feed, chat messaging, video streaming, ride-sharing |
| Modern Mastery | Ch 23-25 | Cloud-native, ML systems, interview framework & cheat sheets |
| Chapter | Patterns |
|---|---|
| Foundations & Creational | Factory Method, Abstract Factory, Builder, Singleton, Prototype |
| Structural | Adapter, Decorator, Facade, Proxy, Composite, Bridge |
| Behavioral | Observer, Strategy, Command, Chain of Responsibility, State, Template Method |
| Modern Application | Repository, DI, Middleware/Pipeline, Circuit Breaker, Retry with Backoff |
| Distributed Systems | CQRS, Event Sourcing, Saga, Strangler Fig, Sidecar |
| Anti-Patterns & Guide | God Object, Spaghetti Architecture, Golden Hammer + decision matrix |
All design patterns include practical Go code with BEFORE/AFTER examples.
- 200+ Mermaid diagrams
- Comparison tables for quick decision-making
- Practice questions with difficulty levels and hints
- 27 design patterns with Go BEFORE/AFTER code
- Progress tracking (localStorage-based)
- Dracula dark theme
- Full-text search
The handbook knowledge is also available as AI coding assistant skills:
system-design-advisor — 3 skills for Claude Code & Cursor, tested against 100 real interview problems.
- VitePress — Static site generator
- Dracula — Color theme
- Vercel — Deployment
- JetBrains Mono (headings + code) + Inter (body text)
# Install dependencies
npm install
# Start dev server
npm run docs:dev
# Build for production
npm run docs:build
# Preview production build
npm run docs:previewFound an error? Have a suggestion? PRs and issues are welcome.
This project is built by one developer learning in public. Some content may contain inaccuracies — contributions help make it better for everyone.
Inspired by Alex Xu's System Design Interview series, Martin Kleppmann's Designing Data-Intensive Applications, the Google SRE books, and the Gang of Four's Design Patterns.
Built with Claude Code and Perplexity for research.