12 lessons
Design a URL Shortener
A complete worked design, from requirements and estimates through to encoding, storage and caching.
Design a Rate Limiter
Four algorithms, the distributed problem nobody mentions, and how to pick one in an interview.
Design a News Feed
Fan-out on write vs read, the celebrity problem, and why the real answer is a hybrid.
Design a Chat System
A complete worked design for something like WhatsApp — connection management at scale, message ordering, delivery guarantees and group chat fan-out.
Design a Distributed Key-Value Store
A complete worked design for something like DynamoDB — where consistent hashing, quorums and replication from earlier in this course stop being theory and become the entire system.
Design a Notification System
A worked design for sending push, SMS and email notifications at scale, covering queues, retries, duplicates and user preferences.
Design a Search Autocomplete
A worked design for typeahead suggestions like Google search, covering tries, top suggestions, caching and how suggestions stay fresh.
Design a Web Crawler
A worked design for a search engine crawler, covering the URL frontier, politeness, duplicate detection and spreading the work across machines.
Design a Video Streaming Platform
A worked design for something like YouTube or Netflix, covering uploads, transcoding, adaptive streaming and CDN delivery.
Design a File Storage and Sync Service
A worked design for something like Dropbox or Google Drive, covering chunking, deduplication, syncing across devices and conflicts.
Design a Ride-Sharing Service
A worked design for something like Uber or Ola, covering live driver locations, finding nearby drivers and matching riders safely.
Design a Ticket Booking System
A worked design for something like BookMyShow or Ticketmaster, covering double-booking prevention, seat locking and flash-sale traffic.