39 guided walkthroughs that teach you system design step by step. Each one builds a complete architecture diagram while explaining every decision.
Build a service like bit.ly step by step
Build a distributed rate limiting system to protect APIs from abuse
Design a real-time gaming leaderboard that ranks millions of players with instant score updates, supporting global, friend, and time-based leaderboard views.
Build a scalable rate limiting system with token bucket, sliding window, and distributed Redis-based limiting
Build a system that delivers push, email, and SMS notifications at scale with templates and user preferences
Build a typeahead / autocomplete system like Google search suggestions
Build a real-time tweet search engine
Build a search autocomplete system that suggests queries as users type
Build a distributed web crawler like Googlebot that fetches and indexes billions of web pages
Build a hotel reservation system like Booking.com with search, availability, and booking management
Build a distributed caching system like Memcached or Redis with consistent hashing, replication, and eviction policies
Design a nearby places discovery service like Yelp that uses geospatial indexing to efficiently return businesses within a given radius of the user's location.
Design a scalable email service like Gmail that handles sending, receiving, and storing billions of emails with spam filtering, full-text search, and multi-device sync.
Design a cloud file storage service like Google Drive or Dropbox that supports file upload, download, sync across devices, and sharing with high availability and consistency.
Build WhatsApp/Slack step by step
Build a Facebook/Twitter-style news feed with fan-out, ranking, and real-time updates at massive scale
Build a Redis-like distributed caching system with consistent hashing, replication, and eviction policies
Build a Google-scale web crawler that fetches billions of pages with politeness, deduplication, and fault tolerance
Build a Stripe-like payment processing system with idempotency, ledger accounting, and reconciliation
Build a video upload, processing, and streaming platform like YouTube
Build a distributed key-value store like DynamoDB or Redis
Build a real-time ride matching and tracking platform like Uber or Lyft
Build an Amazon-like online shopping platform with catalog, cart, and orders
Build a photo-sharing social network with feed, likes, and follows
Build a navigation system with routing and real-time traffic
Build a file sync and storage system
Handle high-concurrency ticket sales without overselling
Build a system to ingest, store, and query time-series metrics
Build an end-to-end food delivery system
Build a distributed file system like Google Drive or Dropbox with chunking, dedup, and sync
Build a collaborative code editor like VS Code Online with real-time sync and execution
Build an event ticketing platform handling flash sales with millions of concurrent users competing for limited inventory
Build a payment processing system like Stripe that handles transactions, settlements, and reconciliation
Build a mapping and navigation service with routing, real-time traffic, and map tile rendering
Design a real-time ad click aggregation system like Google Ads that processes billions of click events daily with exactly-once semantics for accurate billing.
Design a stock exchange matching engine that processes buy and sell orders with microsecond-level latency, maintaining order books with strict price-time priority.
Design a web search engine like Google that crawls billions of pages, builds an inverted index, and ranks results by relevance with sub-200ms query latency.
Design a personalized social media feed system like Instagram or Twitter that delivers ranked posts from friends and followed accounts to hundreds of millions of users in real time.
Design a real-time collaborative document editor like Google Docs where multiple users simultaneously edit the same document with instant synchronization and conflict resolution.
Start from scratch with all components available. No guidance - design your own system.