System Design
Posts and notes about system design.
Series & Posts
1
Backend system design scope
2 Designing RESTful APIs
3 Authentication and session management
4 Database design for backend systems
5 Caching in backend systems
6 Background jobs and task queues
7 File upload and storage
8 Search integration
9 Email and notification delivery
10 Webhooks: design and security
11 Payments integration
12 Multi-tenancy patterns
13 Backend for Frontend (BFF) pattern
14 GraphQL server design
15 gRPC and internal service APIs
1
Design a URL shortener
2 Design a key-value store
3 Design a rate limiter
4 Design a web crawler
5 Design a notification system
6 Design a news feed
7 Design a chat application
8 Design a video streaming platform
9 Design a music streaming service
10 Design a ride-sharing service
11 Design a food delivery platform
12 Design a hotel booking platform
13 Design a search engine
14 Design a distributed message queue
15 Design a code deployment system
16 Design a payments platform
17 Design an ad click aggregation system
18 Design a distributed cache
1
What frontend system design covers
2 Rendering strategies: CSR, SSR, SSG, ISR
3 Performance fundamentals: Core Web Vitals
4 Loading performance and resource optimization
5 State management at scale
6 Component architecture and design systems
7 Client-side caching and offline support
8 Real-time on the frontend
9 Frontend security
10 Scalability for frontend systems
11 Accessibility as a system design concern
12 Monitoring and observability for frontends
1
Monolith vs microservices
2 Microservice communication patterns
3 Service discovery and registration
4 Event-driven architecture
5 Distributed data patterns
6 Caching architecture patterns
7 Search architecture
8 Storage systems at scale
9 Notification systems
10 Real-time systems architecture
11 Batch and stream processing
12 Multi-region and global systems
1
Introduction to low level design
2 SOLID principles
3 Design patterns: Creational
4 Design patterns: Structural
5 Design patterns: Behavioral
6 Designing a parking lot
7 Designing a library management system
8 Designing an elevator system
9 Designing a hotel booking system
10 Designing a ride-sharing model
11 Designing a rate limiter
12 Designing a logging framework
13 Designing a notification system
14 API design and contract-first development
15 Data modeling for system design
1
What is system design and why it matters
2 Estimations and back-of-envelope calculations
3 Scalability: vertical vs horizontal scaling
4 CAP theorem and distributed system tradeoffs
5 Consistency models
6 Load balancing
7 Caching: strategies and patterns
8 Content Delivery Networks
9 Databases: SQL vs NoSQL and when to use each
10 Database replication
11 Database sharding and partitioning
12 Consistent hashing
13 Message queues and event streaming
14 API design: REST, GraphQL, gRPC
15 Rate limiting and throttling
16 Proxies: forward and reverse
17 Networking concepts for system design
18 Reliability patterns: timeouts, retries, circuit breakers
19 Observability: logging, metrics, tracing
20 Security in system design