Design a URL Shortener
Design a URL shortening service like bit.ly. Users submit a long URL and receive a short URL that redirects to the original. The system should handle 100M URLs and 10:1 read-to-write ratio.
Design a Rate Limiter
Design a rate limiting service that protects APIs from abuse and overuse. The system should throttle requests that exceed a configured threshold per client. It must support multiple rate limiting strategies (fixed window, sliding window, token bucket) and handle 10,000+ requests per second with minimal added latency.
Notes App (Evernote)
Design a note-taking application like Evernote or Google Keep. Users should be able to create, edit, and organize notes across multiple devices with real-time synchronization. The app must work offline and sync changes when connectivity is restored.
Design a Chat Application
Design a real-time chat application like Slack or WhatsApp Web. Users can send and receive messages instantly in one-on-one and group conversations. The system should support online presence indicators, message history, and delivery receipts. Target scale is 50M daily active users with low message delivery latency.
Design a News Feed
Design a social media news feed system like Facebook's or Twitter's home timeline. Users see a personalized, ranked feed of posts from people they follow. The system must handle a mix of content types (text, images, links) and support 500M users, with feeds refreshing in under 500ms. Consider the fan-out problem when a popular user publishes a new post.
File Upload Service (Dropbox)
Design a file storage and synchronization service like Dropbox or Google Drive. Users should be able to upload large files (up to 10GB), sync files across multiple devices, share files with others, and recover previous versions. The system must handle unreliable networks gracefully with resumable uploads.
Event Analytics Platform
Design an analytics platform like Mixpanel or Segment. The system collects millions of events per second from web and mobile applications, processes them in near real-time, and provides analytics dashboards with metrics, funnels, and cohort analysis. Data must be queryable within seconds of ingestion.
Design a Video Streaming Platform
Design a video streaming platform like YouTube or Netflix. Users upload videos which are transcoded into multiple resolutions and formats, then streamed to viewers with adaptive bitrate. The system must handle 1B daily video views, support content creators uploading hours of video daily, and deliver smooth playback worldwide with minimal buffering.
Ride Sharing (Uber/Lyft)
Design a ride-sharing platform like Uber or Lyft. The system matches riders with nearby drivers in real-time, tracks rides, calculates ETAs, and handles payments. The challenge is coordinating millions of concurrent location updates and matching requests with sub-second latency globally.
E2E Encrypted Messaging (Signal)
Design an end-to-end encrypted messaging application like Signal or WhatsApp. The server must never be able to read message content. The system must support multi-device usage (phone + desktop), group messaging, and maintain forward secrecy—if a key is compromised, past messages remain secure.
Global SaaS Platform
Design a multi-tenant SaaS platform like Salesforce, Atlassian, or GitLab. The system must support thousands of enterprise customers with strict data isolation, regional data residency compliance (GDPR), role-based access control, and high availability. Large enterprise tenants may have 100,000+ users.