System design, explained visually.
Clear lessons, original diagrams and hands-on simulations that take you from the fundamentals to designing real distributed systems — and acing the interview.
- 39
- lessons
- 6
- learning paths
- 117
- interview questions
- 3
- guided simulations
Six paths from basics to architecture
Follow a path in order, or jump straight to the topic you need.
Foundations
Complexity, concurrency, latency, design principles and architecture styles.
02Scalability & Performance
Scaling out, load balancing, caching, CDNs, rate limiting and low latency.
03Data & Storage
Replication, sharding, CAP, SQL vs NoSQL, indexing and query pitfalls.
04APIs & Security
API styles, gateways, versioning, performance, authentication, SSO and idempotency.
05Messaging & Microservices
Message brokers, event streaming, microservice patterns, sagas and resilience.
06Cloud & Delivery
CI/CD, deployment strategies, Kubernetes, ingress, observability and cloud services.
Six lessons every engineer should know
Load Balancing
Spread traffic across healthy servers so no single machine becomes the bottleneck.
Scalability & PerformanceCaching Strategies
Keep frequently read data close and fast, and decide carefully how it stays fresh.
APIs & SecurityAPI Architecture Styles
REST, GraphQL, gRPC, WebSockets, webhooks and SOAP — what each is for.
Data & StorageSQL vs NoSQL
Relational, document, key-value, wide-column and graph databases — match the store to the access pattern.
Messaging & MicroservicesMessage Brokers: RabbitMQ vs Kafka vs ActiveMQ
Queues and logs for decoupling services — and how the three popular brokers differ.
Data & StorageCAP Theorem & Consistency
During a network partition, a distributed store must choose between consistency and availability.
Follow a request through a real system
Step through DNS, CDN, load balancer, gateway, auth, services, cache and database — then switch to an event-driven flow or watch the system recover from a failure.
Open the simulation- Synchronous request12 steps from browser to database and back
- Asynchronous eventBroker, consumers, retries and dead letters
- Failure & recoveryHealth checks, circuit breakers and autoscaling
See it, understand it, apply it
See the diagram
Every lesson opens with an original diagram of the moving parts.
Learn the concepts
Short definitions of the terms you will hear in design reviews.
Weigh the trade-offs
Pros, cons, when to use it and the mistakes teams commonly make.
Test yourself
Interview-style questions with model answers to check understanding.
An 8-step framework for any design question
Requirements, estimates, API, data model, high-level design and deep dives — with a fully worked URL shortener.
Read the guide → Cheat sheetEvery building block on one page
Networking, compute, storage, communication, security, observability and reliability — printable.
Open the cheat sheet →