Your city map
Each district is a unit. Lessons unlock as they're published, and free lessons are open to everyone.
District 0 · Open
Start here
What system design is, how to approach a design question, and the numbers every engineer should know.
District 1 · Open
How the web talks
DNS, HTTP, TCP and UDP, API styles, and real-time connections.
District 2 · Open
Scale basics
Scalability, latency and throughput, horizontal scaling, availability.
District 3 · Open
Traffic management
Load balancers, reverse proxies, CDNs, API gateways and rate limiting.
District 4 · Open
Caching
Where to cache, caching strategies, eviction and invalidation.
District 5 · Open
Data storage
SQL and NoSQL, indexes, replication, sharding, blob storage and IDs.
District 6 · Coming soon
Async & messaging
Queues, pub/sub, logs, delivery guarantees and back pressure.
Coming soon
District 7 · Coming soon
Distributed systems
CAP, consistency models, quorums, consensus and distributed transactions.
Coming soon
District 8 · Coming soon
Architecture styles
Monoliths, microservices, event-driven systems, CQRS and serverless.
Coming soon
District 9 · Coming soon
Search & special data structures
Inverted indexes, tries, Bloom filters and geospatial indexes.
Coming soon
District 10 · Coming soon
Reliability & operations
Observability, retries, circuit breakers, antipatterns and disaster recovery.
Coming soon
District 11 · Coming soon
Security essentials
Authentication, authorization, tokens, encryption and secrets.
Coming soon
District 12 · Coming soon
Cloud design patterns
Reusable patterns for messaging, data, migration and resilience.
Coming soon