Traditional system design interview preparation often relies on passive learning - reading articles, watching YouTube videos, and memorizing architectural patterns. While valuable, this approach lacks the hands-on experience that comes from actually building systems.
This repository represents a different approach: learning system design by actually implementing it.
With the assistance of LLMs like Claude, we can rapidly prototype lightweight versions of classic (and creative) system design interview questions. This hands-on practice helps develop:
- Architectural thinking - Making real trade-offs, not theoretical ones
- Implementation experience - Understanding what actually works vs. what looks good on a whiteboard
- Technology selection - Choosing the right tools for each use case
- Scalability patterns - Building systems that can grow
- Problem-solving skills - Debugging and iterating on real implementations
Each folder contains an independent implementation of a system design problem.
| Project | Description | Status |
|---|---|---|
| Bit.ly | URL shortening service | ✅ Implemented |
| Web Crawler | Distributed web crawling system | ✅ Implemented |
| Project | Description | Status |
|---|---|---|
| Dropbox | Cloud file storage and synchronization | ✅ Implemented |
| Distributed Cache | High-performance caching layer | ✅ Implemented |
| Project | Description | Status |
|---|---|---|
| FB News Feed | Personalized content feed | ✅ Implemented |
| FB Live Comments | Real-time comment system | ✅ Implemented |
| FB Post Search | Social media search engine | ✅ Implemented |
| Photo sharing platform | ✅ Implemented | |
| Tinder | Matching and recommendation system | ✅ Implemented |
| r/place | Collaborative real-time pixel canvas | ✅ Implemented |
| Community forums with voting system | ✅ Implemented | |
| Microblogging and social network | ✅ Implemented | |
| Professional networking platform | ✅ Implemented | |
| TikTok | Short-form video platform | ✅ Implemented |
| Kindle Highlights | Social reading platform with real-time sync | ✅ Implemented |
| Project | Description | Status |
|---|---|---|
| Real-time messaging platform | ✅ Implemented | |
| Discord | Real-time chat and community platform | ✅ Implemented |
| Slack | Team communication and collaboration | ✅ Implemented |
| iMessage | Cross-device messaging with offline sync | ✅ Implemented |
| FaceTime | Real-time video calling | ✅ Implemented |
| Project | Description | Status |
|---|---|---|
| YouTube | Video hosting and streaming platform | ✅ Implemented |
| YouTube Top K | Real-time trending video analytics | ✅ Implemented |
| Twitch | Live streaming platform | ✅ Implemented |
| Netflix | Video streaming with adaptive bitrate | ✅ Implemented |
| Spotify | Music streaming and recommendations | ✅ Implemented |
| Apple Music | Music streaming service | ✅ Implemented |
| Apple TV+ | Video streaming service | ✅ Implemented |
| Project | Description | Status |
|---|---|---|
| Yelp | Local business review platform | ✅ Implemented |
| Online Auction | Bidding and auction system | ✅ Implemented |
| Price Tracking | E-commerce price monitoring | ✅ Implemented |
| Amazon | E-commerce platform at scale | ✅ Implemented |
| Airbnb | Vacation rental marketplace | ✅ Implemented |
| Etsy | Handmade goods marketplace | ✅ Implemented |
| DoorDash | Food delivery logistics | ✅ Implemented |
| Shopify | Multi-tenant e-commerce platform | ✅ Implemented |
| App Store | App discovery, purchases, and rankings | ✅ Implemented |
| Project | Description | Status |
|---|---|---|
| Uber | Ride-hailing platform | ✅ Implemented |
| Local Delivery | Last-mile delivery system | ✅ Implemented |
| Strava | Fitness tracking and social platform | ✅ Implemented |
| Apple Maps | Navigation with real-time traffic | ✅ Implemented |
| AirTag | Item tracking and Find My network | ✅ Implemented |
| Project | Description | Status |
|---|---|---|
| Ticketmaster | Event ticketing and inventory management | ✅ Implemented |
| Hotel Booking | Hotel reservation and management system | ✅ Implemented |
| Calendly | Meeting scheduling and calendar coordination | ✅ Implemented |
| Google Calendar | Calendar with Month/Week/Day views and conflict detection | ✅ Implemented |
| Project | Description | Status |
|---|---|---|
| LeetCode | Online coding judge and practice platform | ✅ Implemented |
| Google Docs | Collaborative document editing | ✅ Implemented |
| Google Sheets | Collaborative spreadsheet with real-time sync | ✅ Implemented |
| Figma | Collaborative design and prototyping platform | ✅ Implemented |
| GitHub | Code hosting and version control | ✅ Implemented |
| Notion | Collaborative workspace with blocks | ✅ Implemented |
| Jira | Issue tracking and project management | ✅ Implemented |
| Collaborative Editor | Real-time document editing | ✅ Implemented |
| AI Code Assistant | CLI coding assistant like Claude Code/Cursor | ✅ Implemented |
| Plugin Platform | VS Code-like extension system with sandboxing | ✅ Implemented |
| Project | Description | Status |
|---|---|---|
| Robinhood | Stock trading platform | ✅ Implemented |
| Payment System | Transaction processing system | ✅ Implemented |
| Stripe | Payment processing and APIs | ✅ Implemented |
| Venmo | P2P payment platform | ✅ Implemented |
| Apple Pay | Secure mobile payments | ✅ Implemented |
| Project | Description | Status |
|---|---|---|
| DocuSign | Electronic signature platform | ✅ Implemented |
| Project | Description | Status |
|---|---|---|
| Google Search | Web search engine | ✅ Implemented |
| Typeahead | Autocomplete and suggestions | ✅ Implemented |
| Spotlight | Device and cloud search | ✅ Implemented |
| Project | Description | Status |
|---|---|---|
| Scale AI | Data labeling with crowdsourced drawing collection | ✅ Implemented |
| Health Data Pipeline | Multi-device health data aggregation | ✅ Implemented |
| Project | Description | Status |
|---|---|---|
| Rate Limiter | API rate limiting service | ✅ Implemented |
| Job Scheduler | Distributed task scheduling | ✅ Implemented |
| Ad Click Aggregator | Real-time analytics aggregation | ✅ Implemented |
| News Aggregator | Content aggregation and curation | ✅ Implemented |
| Dashboarding | Metrics monitoring and visualization | ✅ Implemented |
| Notification System | High-traffic push notifications | ✅ Implemented |
| APNs | Apple Push Notification Service | ✅ Implemented |
| iCloud Sync | File and photo synchronization | ✅ Implemented |
| Scalable API | API serving millions of users | ✅ Implemented |
| Project | Description | Status |
|---|---|---|
| Gallery | Image gallery with Slideshow, Masonry, and Tiles views | ✅ Implemented |
External projects demonstrating system design concepts (with local architecture documentation):
| Project | Description | Status |
|---|---|---|
| MD Reader | Progressive Web App for Markdown editing (source) | 📝 Design Only |
| MCPlator | Retro calculator with LLM-powered AI assistant (source) | 📝 Design Only |
| 20 Forms, 40 Designs | Form library comparison across 41 React design systems (source) | 📝 Design Only |
Each project folder contains:
| File | Purpose |
|---|---|
README.md |
Implementation guide, setup instructions, and testing details |
architecture.md |
System design documentation, architectural decisions, and trade-offs |
system-design-answer.md |
Interview-style answer (45-minute format) |
claude.md |
LLM collaboration notes and iteration history |
| Source code | Actual implementation (varies by project) |
- Choose a system design challenge that interests you
- Read the
architecture.mdto understand the design decisions - Follow the
README.mdfor setup and implementation details - Review
claude.mdto see how the system evolved through LLM collaboration
This repository leverages Claude and other LLMs to:
- Rapidly prototype architectural ideas
- Generate boilerplate code and infrastructure
- Explore different implementation approaches
- Debug and optimize systems
- Document design decisions
See CLAUDE.md for guidelines on collaborating with AI on system design projects.
Utility scripts for repository management:
# Count SLOC for entire repository
node scripts/sloc.mjs
# Count SLOC for specific project
node scripts/sloc.mjs scale-ai
# Output as JSON
node scripts/sloc.mjs scale-ai --json
# Output summary for README embedding
node scripts/sloc.mjs scale-ai --summary- Understand the requirements - What problem are we solving?
- Design the architecture - What components do we need?
- Identify key challenges - What are the hard parts?
- Implement incrementally - Start simple, add complexity
- Test and iterate - Does it work? Can it scale?
- Reflect and document - What did we learn?
- Distributed systems design
- Database schema design and optimization
- API design and versioning
- Caching strategies
- Load balancing and horizontal scaling
- Real-time data processing
- Message queues and event-driven architecture
- Security and authentication
- Monitoring and observability
This is a personal learning repository, but feel free to fork it and create your own implementations! Different approaches to the same problem are valuable learning opportunities.
MIT License - Feel free to use this for your own learning and interview preparation.
Remember: The goal isn't to build production-ready systems, but to gain hands-on experience with system design concepts. Start simple, iterate, and learn by doing!