How to Use This Plan
Start with the foundational designs (Phase 1) to build your system design vocabulary, then progress to more complex systems. Each case study covers requirements, capacity estimation, high-level design, database choices, API design, and deep dives.
Phase 1: Foundational Designs
These are the most commonly asked and form the building blocks for more complex systems.
- URL Shortener — Core concepts: hashing, database design, caching, read-heavy systems
- Rate Limiter — Token bucket, sliding window, distributed rate limiting
- Distributed Cache — Consistent hashing, eviction policies, cache invalidation
- Web Crawler — BFS/DFS, URL frontier, politeness, deduplication
Phase 2: Social & Real-Time Systems
Designs that involve real-time communication, social graphs, and feeds.
- Twitter — Fan-out, timeline generation, social graphs at scale
- Instagram — Photo storage, news feed, CDN, object storage
- WhatsApp — Real-time messaging, WebSocket, message delivery guarantees
- Slack — Channels, presence, search, real-time sync
- Zoom — Video streaming, WebRTC, SFU/MCU, adaptive bitrate
- Quora — Q&A platform, ranking, moderation, search
Phase 3: Marketplace & Geo Systems
Designs with location data, real-time coordination, and marketplace dynamics.
- Uber — Geospatial indexing, matching, ETA, surge pricing
- Yelp — Location-based search, reviews, geohashing
- Google Maps — Map tiles, routing, ETA, traffic data
- Ticketmaster — Seat reservation, distributed locking, high-traffic events
- Online Auction — Bidding, real-time updates, consistency
- Strava — GPS tracking, activity feeds, leaderboards
Phase 4: Content & Media Platforms
Designs involving content delivery, streaming, and large-scale storage.
- YouTube — Video upload, transcoding, CDN, recommendation
- Netflix — Adaptive streaming, content delivery, personalization
- Dropbox — File sync, chunking, deduplication, conflict resolution
- Google Docs — Real-time collaboration, OT/CRDT, conflict resolution
Phase 5: Specialized Systems
- Robinhood — Stock trading, order matching, market data feeds
- Job Scheduler — Distributed task scheduling, priority queues, retries
- Top-K — Heavy hitters, count-min sketch, streaming algorithms
Supporting Topics
Read these systems deep-dives to strengthen your building-block knowledge:
- Apache Kafka — Event streaming, pub/sub, log-based architecture
- Redis — Caching, data structures, pub/sub
- PostgreSQL — ACID, indexing, replication
- Elasticsearch — Full-text search, inverted index
- Amazon DynamoDB — NoSQL, partition keys, single-digit-ms latency
Design Patterns
- Design Patterns — Common patterns across system designs