Full Curriculum

Backend System Design

Master the architectural patterns and distributed principles required to build resilient, planetary-scale backend systems. A deep dive into the engineering behind the web's biggest platforms.

Phases

5

Topics

34+

Technologies

9+

Depth

Advanced

📏

03. Patterns & Scaling

Design patterns for massive growth.

Featured
SCALING

Scaling Reads

Read-heavy systems — read replicas, caching layers, CDN strategies, denormalization, and the patterns that let systems serve millions of reads per second.

  • Replication & Caching
  • Query Optimization
Explore
SCALING

Scaling Writes

Write-heavy systems — message queues, event sourcing, write-ahead logs, batching, and the patterns that let systems absorb millions of writes per second.

Open module
REAL-TIME

Real-time Updates

Live data delivery — WebSockets, Server-Sent Events, long polling, pub/sub systems, and the patterns that power chat, notifications, live dashboards, and collaborative editing.

Open module
CONCURRENCY

Dealing with Contention

Concurrency & locking — optimistic vs pessimistic locking, distributed locks, rate limiting, and the patterns that prevent race conditions, double-spending, and resource exhaustion.

Open module
PATTERNS

Multi-step Processes

Distributed transactions — sagas, two-phase commit, compensating actions, and the patterns that coordinate multi-service operations without a single database transaction.

Open module
STORAGE

Handling Large Blobs

Object & file storage — pre-signed URLs, chunked uploads, CDN delivery, and the patterns for storing and serving images, videos, and large files at scale.

Open module
ASYNC

Managing Long-running Tasks

Async job management — task queues, job scheduling, progress tracking, retries, and the patterns that handle background work like video processing, report generation, and data pipelines.

Open module
SECURITY

Security & Access Patterns

Authentication, authorization, and system protection — JWT vs sessions, OAuth 2.0, RBAC, API security, rate limiting for abuse prevention, and defense against common attack vectors.

Open module
🔧

04. Key Technologies

Production-grade tools and their trade-offs.

Featured
CACHE

Redis

In-memory data store — the primary choice for caching, session storage, pub/sub, and distributed locks. Supports rich data structures making it versatile beyond simple key-value.

  • Data Structures
  • Persistence & Durability
  • Replication & High Availability
  • Common Patterns
  • Production & Operations
Explore
STREAMING

Kafka

Distributed event streaming platform — durable, high-throughput event bus for decoupled async communication, event sourcing, and real-time stream processing. Consumers can replay events from any offset.

Open module
SEARCH

Elasticsearch

Distributed search and analytics engine — full-text search with relevance ranking, real-time aggregations, and geo queries at scale. Built on Apache Lucene's inverted index.

Open module
DATABASE

PostgreSQL

Battle-tested relational database with true ACID guarantees. Correctness first — transactions, constraints, query planning, and the guarantees that make it the default choice when you need to trust your data.

Open module
INFRASTRUCTURE

API Gateway

The traffic management system that sits between the outside world and your services. Handles routing, auth, rate limiting, and observability so your services don't have to.

Open module
NOSQL

DynamoDB

The most opinionated database in the modern stack. You give up query flexibility at design time in exchange for guaranteed single-digit millisecond performance at any scale.

Open module
NOSQL

Cassandra

A distributed log that happens to look like a database. Cassandra trades query flexibility for always-on availability, massive write throughput, and linear scalability across datacenters.

Open module
COORDINATION

ZooKeeper

The distributed coordination service. ZooKeeper provides the primitives — leader election, locks, configuration, service discovery — that keep distributed systems in sync.

Open module
PROCESSING

Flink

The distributed stream processing framework for stateful computations over unbounded data. Flink provides exactly-once guarantees, event-time processing, and millisecond latency at massive scale.

Open module
🧩

05. System Design Problems

End-to-end system design case studies.

Featured
CLASSIC

Design a URL Shortener (Bitly)

Interview-ready end-to-end design of a URL shortener — requirements, capacity estimation, base62 ID generation, caching and CDN layers, Kafka+Flink analytics, scaling tiers, abuse protection, observability, trade-offs, and 10+ curveball follow-ups.

Explore
REAL-TIME

Design a Ride Matching System (Uber/Ola)

Interview-ready end-to-end design of a ride-matching system — geospatial indexing (S2/H3), 1.25M location updates/sec via WebSocket, matching algorithm with composite scoring, surge pricing, ETA estimation, ride state machine, scaling by city, and 8+ curveball follow-ups.

Open module
STORAGE

Design a Video Streaming Platform (YouTube/Netflix)

Interview-ready end-to-end design of a video streaming platform — resumable uploads, transcoding DAGs with segment-level parallelism, HLS/DASH adaptive bitrate streaming, multi-tier CDN delivery, view count pipelines, recommendation feeds, storage tiering, and 10+ curveball follow-ups.

Open module
DISTRIBUTED

Design a Web Crawler (Googlebot)

Interview-ready end-to-end design of a web crawler — URL frontier with priority scheduling, Bloom filter + SimHash deduplication, per-domain politeness enforcement, adaptive re-crawl scheduling, headless browser rendering for JS pages, fault tolerance, and 10+ curveball follow-ups.

Open module
REAL-TIME

Design a Collaborative Document Editor (Google Docs/Notion)

Interview-ready end-to-end design of a collaborative editor — OT vs CRDT conflict resolution, server-authoritative operation ordering, WebSocket synchronization, presence and cursor tracking, offline editing with rebase, version history with snapshot compaction, and 10+ curveball follow-ups.

Open module
CONSISTENCY

Design a Ticket Booking System (Ticketmaster/BookMyShow)

Interview-ready end-to-end design of a ticket booking system — virtual waiting room for traffic shaping, Redis-based atomic seat claims, seat state machine with TTL expiration, payment saga with compensation, bot prevention and fairness mechanisms, and 10+ curveball follow-ups.

Open module
REAL-TIME

Design a Messaging App (WhatsApp/Telegram)

Interview-ready end-to-end design of a messaging app — WebSocket connection management at 50M concurrent, per-conversation message ordering, tiered group fan-out, Signal Protocol E2E encryption, multi-device sync, presence service, media pipeline, Cassandra data model, and 10+ curveball follow-ups.

Open module
Deep Dives

Key Technologies

Production-grade deep dives into Redis, Kafka, PostgreSQL, DynamoDB, Elasticsearch, Cassandra, Flink, and more. Know not just what they are, but when to use them and what their trade-offs are.

Explore Technologies