System Design Constructor

Design real systems step by step, studying trade-offs and best practices

URL Shortener

middle

Design a link shortening service (similar to Bitly/TinyURL) for 100 million daily active users. The system must generate short unique links, redirect with minimal latency, and optionally collect click analytics.

6 steps · 12 decisions

Rate Limiter

middle

Design a distributed rate limiter for an API gateway handling 10M+ requests per second. The system must precisely throttle traffic, scale horizontally, and not become a single point of failure.

6 steps · 11 decisions

Notification System

middle

Design a notification system for a large platform (push, SMS, email) that handles millions of notifications per day. The system must support multiple delivery channels, prioritization, retry logic, and analytics.

6 steps · 12 decisions

Chat Messenger

senior

Design a real-time chat messenger at the scale of WhatsApp/Telegram for 500M+ users. The system must support instant message delivery, group chats, media files, and end-to-end encryption with guaranteed delivery and message ordering.

6 steps · 12 decisions

News Feed (Instagram)

senior

Design a news feed system similar to Instagram for 1B+ users. The system must support publishing photos, videos, stories, building a personalized feed and delivering content with minimal latency worldwide.

6 steps · 12 decisions

Video Streaming (YouTube)

senior

Design a YouTube-scale video streaming platform: 2B+ active users, 500+ hours of video uploaded every minute, millions of concurrent views. The system must provide upload, transcoding, storage, delivery and recommendations for video content with minimal buffering time worldwide.

6 steps · 12 decisions

Collaborative Editor (Google Docs)

senior

Design a real-time collaborative document editor, similar to Google Docs, that supports millions of simultaneously edited documents. The system must provide real-time co-editing, conflict resolution, versioning, and operation under an unstable connection.

6 steps · 12 decisions

Ride Sharing (Yandex Taxi)

senior

Design a taxi/ride-sharing ordering platform at the level of Yandex Taxi or Uber: millions of rides per day, real-time matching of drivers and passengers, dynamic pricing, and fault tolerance.

6 steps · 12 decisions
8 scenarios · Middle / Senior