Welcome to my System Design Learning Journey! 🚀
This repository documents my structured approach to mastering system design — from core fundamentals to designing scalable, distributed systems used by top tech companies.
To become a System Design Expert capable of architecting high-scale, fault-tolerant, and efficient backend systems — essential for roles such as Backend Engineer, System Architect, or SDE-2/3.
Start Date: June 2025
Target Completion: September 2025 (First milestone)
- ✅ Scalability
- ✅ Load Balancing
- ✅ Caching
- ✅ Data Partitioning (Sharding)
- ✅ Database Indexing
- 🔄 CAP Theorem, Consistency, Availability, Partition Tolerance
- 🔄 Latency vs Throughput
- ✅ Web Servers & Application Servers
- ✅ API Gateway
- 🔄 Content Delivery Networks (CDNs)
- 🔄 Relational vs NoSQL Databases
- 🔄 Message Queues & Event-Driven Systems (Kafka, RabbitMQ)
- 🔄 Object Storage (S3, GCS)
- 🔄 Authentication & Authorization (OAuth, JWT)
- 🔄 HTTPS, TLS
- 🔄 Rate Limiting
- 🔄 Circuit Breakers
- 🔄 Health Checks, Failovers
- ✅ Logging, Metrics, Alerts
- 🔄 Prometheus, Grafana, ELK Stack
- 🔄 Distributed Tracing
| System | Concepts Practiced | Status |
|---|---|---|
| URL Shortener (Bit.ly) | Hashing, DB Design, API Rate Limits | ✅ |
| Instagram Feed | Caching, Newsfeed Generation, Read-Write Balance | 🔄 |
| WhatsApp Chat System | Real-Time Messaging, Queues, Database Sharding | 🔄 |
| YouTube | Video Storage, Streaming, CDN | 🔄 |
| Uber Backend | Geo Indexing, Real-time Matching, Pub/Sub | 🔄 |
-
Books
- Designing Data-Intensive Applications — Martin Kleppmann
- System Design Interview Vol 1 & 2 — Alex Xu
-
Courses
- System Design Primer (GitHub)
- Grokking the System Design Interview (Educative)
- High Scalability blog
-
YouTube Channels
- VS Code
- Draw.io / Whimsical (for architecture diagrams)
- Git & GitHub
- Postman / Swagger (for API testing)
- Apache JMeter / k6 (for load testing)
🔗 LinkedIn
🔗 GitHub
🔗 Linktree
- Building scalable system design diagrams
- Writing notes on each key component
- Practicing whiteboard interviews
- Participating in mock system design interviews
Secure an advanced engineering position where I contribute to designing backend systems at scale — and apply for top tech companies or research-based MS in Computer Science (2026).
"First make it work. Then make it right. Then make it fast." — Kent Beck