Your city map

Each district is a unit. Lessons unlock as they're published, and free lessons are open to everyone.

  1. District 0 · Open

    Start here

    What system design is, how to approach a design question, and the numbers every engineer should know.

  2. District 1 · Open

    How the web talks

    DNS, HTTP, TCP and UDP, API styles, and real-time connections.

  3. District 2 · Open

    Scale basics

    Scalability, latency and throughput, horizontal scaling, availability.

  4. District 3 · Open

    Traffic management

    Load balancers, reverse proxies, CDNs, API gateways and rate limiting.

  5. District 4 · Open

    Caching

    Where to cache, caching strategies, eviction and invalidation.

  6. District 5 · Open

    Data storage

    SQL and NoSQL, indexes, replication, sharding, blob storage and IDs.

  7. District 6 · Coming soon

    Async & messaging

    Queues, pub/sub, logs, delivery guarantees and back pressure.

    Coming soon

  8. District 7 · Coming soon

    Distributed systems

    CAP, consistency models, quorums, consensus and distributed transactions.

    Coming soon

  9. District 8 · Coming soon

    Architecture styles

    Monoliths, microservices, event-driven systems, CQRS and serverless.

    Coming soon

  10. District 9 · Coming soon

    Search & special data structures

    Inverted indexes, tries, Bloom filters and geospatial indexes.

    Coming soon

  11. District 10 · Coming soon

    Reliability & operations

    Observability, retries, circuit breakers, antipatterns and disaster recovery.

    Coming soon

  12. District 11 · Coming soon

    Security essentials

    Authentication, authorization, tokens, encryption and secrets.

    Coming soon

  13. District 12 · Coming soon

    Cloud design patterns

    Reusable patterns for messaging, data, migration and resilience.

    Coming soon