System Design Interview Prep

See how real systems are designed, then practise designing them yourself with an AI interviewer that asks follow-up questions and scores your design.

Design a URL Shortener

Like bit.ly or TinyURL · Easy

Design a service that turns long URLs into short links and redirects visitors to the original URL.

  • Create a short link for a long URL
  • Redirect a short link to the original URL
  • Optional custom alias and expiry
  • 100M new links per month
  • Redirects are 100× more frequent than creates
  • Redirect latency under 50 ms

Design a Rate Limiter

API gateway feature · Easy

Design a rate limiter that restricts how many requests each client can make to an API.

  • Limit requests per user or API key per time window
  • Return HTTP 429 when the limit is exceeded
  • Different limits per plan
  • Works across many API servers
  • Adds under 5 ms latency
  • Keeps working if the limiter store is briefly down

Design Pastebin

Text sharing service · Easy

Design a service where users paste text, get a shareable link, and others can view it.

  • Create a paste and get a link
  • View a paste by link
  • Pastes can expire
  • 10M pastes per day
  • Pastes up to 10 MB
  • High availability for reads

Design Instagram

Photo sharing social network · Medium

Design a photo-sharing app where users upload photos, follow others and scroll a home feed.

  • Upload photos with captions
  • Follow and unfollow users
  • Home feed of followed users' posts
  • Like and comment
  • 500M daily active users
  • Feed loads in under 200 ms
  • Photos are never lost

Design WhatsApp

Real-time chat · Medium

Design a messaging app supporting one-to-one and group chats with delivery and read receipts.

  • Send and receive messages in real time
  • Group chats up to 500 members
  • Sent, delivered and read receipts
  • Messages arrive when an offline user reconnects
  • 2B users, 100B messages per day
  • Message delivery under 1 second
  • No message loss or duplication

Design the Twitter Timeline

Social media feed · Medium

Design the home timeline of a Twitter-like service where users post short messages and see posts from people they follow.

  • Post a tweet
  • Home timeline of followed accounts, newest first
  • Search tweets by keyword
  • 300M daily active users
  • Timeline loads in under 300 ms
  • Eventual consistency is acceptable

Design a Notification System

Push, email and SMS · Medium

Design a system that sends notifications to users by push, email and SMS on behalf of other services.

  • Other services trigger notifications through an API
  • Deliver by push, email or SMS
  • Respect user preferences and quiet hours
  • Retry failed deliveries
  • 10M notifications per day with spikes
  • Never send the same notification twice
  • A slow provider must not block others

Design Uber

Ride hailing · Hard

Design a ride-hailing service that matches riders with nearby drivers and tracks trips in real time.

  • Riders request a ride
  • Match with a nearby available driver
  • Live driver location during the trip
  • Fare calculation and payment
  • Drivers send location every 4 seconds
  • Match within 10 seconds
  • Millions of concurrent drivers worldwide

Design YouTube

Video streaming · Hard

Design a video platform where creators upload videos and viewers stream them on any device.

  • Upload videos
  • Stream video in multiple resolutions
  • View counts, likes and comments
  • 500 hours of video uploaded per minute
  • Playback starts in under 2 seconds globally
  • Uploads must never be lost

Design Google Drive

File storage and sync · Hard

Design a cloud storage service that stores files and keeps them in sync across a user's devices.

  • Upload and download files
  • Sync changes across devices
  • Share files with other users
  • File version history
  • 50M users, 10 GB each
  • Large files up to 10 GB
  • Strong consistency for file metadata

Design BookMyShow

Movie and event ticketing · Hard

Design a ticket booking system where users pick seats for a show and pay.

  • Browse shows and seat maps
  • Hold seats for 10 minutes during checkout
  • Pay and confirm the booking
  • Popular releases cause huge traffic spikes
  • A seat must never be sold twice
  • Checkout stays responsive under load

Design a Payment System

Like Stripe or UPI · Hard

Design a system that processes payments between customers and merchants through external payment providers.

  • Accept a payment from a customer
  • Pay out merchants
  • Refunds
  • Transaction history
  • Exactly-once charging — never charge twice
  • 99.99% availability
  • All money movement is auditable

Try AI Flowchart free →