The Ultimate System Design Library
Master 31 real-world architectural challenges. Each scenario includes a deep-dive requirement analysis, Mermaid.js references, and an interactive AI interviewer.
Easy Scenarios
1 challengesMedium Scenarios
8 challengesDesign an Ad Click Aggregator
Design a system to track ad clicks and aggregation for real-time analytics and billing.
Design Typeahead
Design the search autocomplete system for Google Search.
Design Search Autocomplete
Design a scalable typeahead system for a search engine like Google or Amazon.
Design Slack
Design a real-time messaging platform for enterprises.
Design a Hotel Reservation System
Design a system like Airbnb or Booking.com where users can search for and book rooms for specific date ranges.
Design a Leaderboard
Design a real-time gaming leaderboard (e.g., ESPN, Steam, MMOs).
Design a Notification System
Design a scalable notification service that sends emails, SMS, and push notifications to millions of users.
Design a Rate Limiter
Design a service to limit the number of requests a user can send to an API within a time window.
Hard Scenarios
22 challengesDesign a Chat Application
Design a real-time chat application like WhatsApp or Facebook Messenger.
Design Google Docs
Design a real-time collaborative document editor supporting multiple simultaneous users.
Design Amazon DynamoDB
Design a highly available, scalable, leaderless key-value store.
Design Discord Voice
Design a low-latency voice chat system for gamers.
Design Dropbox
Design a cloud file synchronization service.
Design Bigtable
Design a distributed wide-column NoSQL store.
Design Google Maps
Design a mapping service with route planning and ETA calculation.
Design Instagram Feed
Design a photo-sharing social network news feed with complex ranking.
Design TikTok Algo
Design a high-velocity video recommendation feed (For You Page).
Design Uber Surge Pricing
Design a dynamic pricing engine for a ride-sharing service.
Design a Distributed File System
Design a file storage and synchronization service like Google Drive, Dropbox, or HDFS.
Design a Distributed Message Queue
Design a high-throughput distributed message queue similar to Apache Kafka or RabbitMQ.
Design Job Scheduler
Design a distributed job scheduler capable of handling recurring and one-time tasks at scale.
Design a Key-Value Store
Design a distributed key-value store like Dynamo or Cassandra with high availability.
Design a Metrics Monitoring System
Design a system to ingest, store, and visualize metrics from millions of servers, similar to Datadog or Prometheus.
Design a Payment System
Design a reliable payment processing backend like Stripe or PayPal. Focus on correctness and idempotency.
Design Proximity Service
Design a location-based service like Yelp, Uber, or Google Maps Nearby.
Design Ride Sharing (Ober)
Design a ride-matching service like Uber or Lyft with real-time location tracking.
Design a Ticket Booking System
Design a high-concurrency ticket booking system (e.g., Ticketmaster) that can sell out millions of tickets in minutes without overselling.
Design Twitter Feed
Design a scalable news feed system where users can post tweets and follow other users.
Design YouTube/Netflix
Design a global video streaming platform supporting millions of concurrent users.
Design a Web Crawler
Design a scalable web crawler like Googlebot to index the internet.
