System design practice

Tackle curated drills with a friendly walkthrough, then jump straight into the sandbox to validate your architecture.

URL Shortener
BackendMedium
Design a scalable URL shortening service like TinyURL or Bitly that creates short, unique links and redirects users to original URLs

Related Links

Pastebin
BackendMedium
Design a text paste sharing service that allows users to create, store, and share text snippets with unique URLs

Related Links

Distributed Rate Limiter
BackendMedium
Design a distributed service that limits the number of requests a client can send to an API within a time window, preventing abuse and managing traffic surges.

Related Links

Notification System
BackendMedium
Design a scalable notification service capable of sending millions of messages across multiple channels (Email, SMS, Push) with prioritization and user preference management.

Related Links

Design WhatsApp
BackendHard
Design a real-time chat application like WhatsApp or Messenger that supports one-on-one and group chats, online presence indicators, and persistent message storage.

Related Links

Real-time Leaderboard
BackendMedium
Design a real-time leaderboard system for a massive multiplayer online game or competitive platform, capable of handling millions of players and frequent score updates.

Related Links

Distributed Job Scheduler
BackendHard
Design a distributed job scheduler capable of executing millions of scheduled tasks (one-time or recurring) with high reliability and precision.

Related Links

Design a Payment System
BackendHard
Design a robust and auditable payment system capable of handling money movement, refunds, and reconciliation with zero tolerance for data loss.

Related Links

Design a Distributed Web Crawler
BackendHard
Design a distributed system that crawls billions of web pages efficiently, deduplicates URLs, and respects politeness policies.

Related Links

Design Dropbox (Google Drive)
BackendHard
Design a cloud file hosting service that allows users to securely store, synchronize, and share files across multiple devices.

Related Links

Design YouTube
BackendHard
Design a video sharing platform capable of ingesting massive video uploads, processing them into various formats, and delivering adaptive bitrate streaming globally with minimal buffering.

Related Links