Design Dojo
Leetcode for System Designs
Build architecture diagrams visually and get detailed scored feedback.
Questions available (More coming Soon!)
Design a URL Shortener
Design a service like bit.ly that takes a long URL and returns a short alias. The short URL should redirect to the original URL when visited.
Design a Rate Limiter
Design a distributed rate limiter that limits the number of requests a client can make to an API within a time window, preventing abuse and ensuring fair usage.
Design a News Feed
Design a personalized news feed system like Facebook or Twitter. Users can post content, follow others, and see a ranked feed of posts from people they follow.
Design Pastebin
Design a Pastebin system that allows users to store and share text snippets, which is challenging due to the high volume of user requests and the need for low latency and high availability.
Design Instagram
Design Instagram, a social media platform that allows users to share photos and videos, with a focus on scalability and performance to handle millions of users.
Design Dropbox or Google Drive
Design a cloud-based file storage system like Dropbox or Google Drive that allows users to store and access files from anywhere, challenging due to large data volumes, sync conflicts, and security requirements.
Design Facebook Messenger or WhatsApp
Design a messaging system like Facebook Messenger or WhatsApp that handles a large volume of messages with low latency and high availability, challenging due to real-time delivery and end-to-end encryption at scale.
Design Twitter for millions of users
Design a Twitter-like system that can handle millions of users posting, following, and searching in real-time, with the main challenge being feed fanout at scale for both celebrities and regular users.
Design Youtube or Netflix
Design a scalable video streaming service like YouTube or Netflix to handle millions of concurrent viewers with low buffering, challenging due to CDN architecture, adaptive bitrate streaming, and massive storage needs.
Design a Distributed Metrics Logging and Aggregation System
Design a distributed system to collect, store, and aggregate metrics from thousands of services in real-time, challenging due to high ingestion rates, time-series storage, and query performance at petabyte scale.
Design a Distributed Stream Processing System like Kafka
Design a distributed stream processing system like Kafka to handle high-volume and high-velocity data streams, challenging due to the need for fault tolerance, exactly-once delivery guarantees, and horizontal scalability.
Design Typeahead Suggestion/Autocomplete
Design a typeahead suggestion/autocomplete system that provides relevant search results as users type, which is challenging due to the need for low-latency responses and handling a large volume of concurrent requests. The system should be able to handle millions of users and provide accurate suggestions within milliseconds.
If you are seeing this, thank you for being my ginny pig