Skip to contentSkip to content

The Engineer's Handbook

System Design, Design Patterns & more to come — master engineering, one concept at a time.

Read the handbook

What's Inside

31 chapters across 2 sections:

System Design (25 chapters, ~14 hours)

PartChaptersTopics
FundamentalsCh 01-04Scalability, CAP & PACELC, back-of-envelope estimation, tail latency
Building BlocksCh 05-12DNS, load balancing, caching, CDN, SQL & NoSQL, message queues, protocols
Architecture & PatternsCh 13-17Microservices, event-driven, data replication, security, monitoring
Case StudiesCh 18-22URL shortener, social feed, chat messaging, video streaming, ride-sharing
Modern MasteryCh 23-25Cloud-native, ML systems, interview framework & cheat sheets

Design Patterns (6 chapters, ~4 hours)

ChapterPatterns
Foundations & CreationalFactory Method, Abstract Factory, Builder, Singleton, Prototype
StructuralAdapter, Decorator, Facade, Proxy, Composite, Bridge
BehavioralObserver, Strategy, Command, Chain of Responsibility, State, Template Method
Modern ApplicationRepository, DI, Middleware/Pipeline, Circuit Breaker, Retry with Backoff
Distributed SystemsCQRS, Event Sourcing, Saga, Strangler Fig, Sidecar
Anti-Patterns & GuideGod Object, Spaghetti Architecture, Golden Hammer + decision matrix

All design patterns include practical Go code with BEFORE/AFTER examples.

Features

  • 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

AI Skills

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.

Tech Stack

  • VitePress — Static site generator
  • Dracula — Color theme
  • Vercel — Deployment
  • JetBrains Mono (headings + code) + Inter (body text)

Development

bash
# Install dependencies
npm install

# Start dev server
npm run docs:dev

# Build for production
npm run docs:build

# Preview production build
npm run docs:preview

Contributing

Found 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.

Acknowledgements

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.

License

MIT

Last updated:

Comments powered by Giscus. Enable GitHub Discussions on the repo to activate.

Built with VitePress + Dracula Theme