Practice exercises

Build architecture diagrams for real interview problems. Drag components, wire them together, and compare against expert reference solutions.

Beginnerweb-scale

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.

6 components4 hints
Beginnerinfrastructure

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.

5 components4 hints
Beginnerproductivity

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.

6 components5 hints
Intermediatereal-time

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.

8 components4 hints
Intermediatesocial

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.

9 components4 hints
Intermediatestorage

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.

7 components5 hints
Intermediatedata

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.

7 components5 hints
Advancedmedia

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.

10 components4 hints
Advancedreal-time

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.

8 components5 hints
Advancedsecurity

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.

8 components5 hints
Advancedenterprise

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.

8 components5 hints