Skip to content
← Notes

System Design

Core system design concepts and case studies

  1. 01 Client-Server Architecture Build a real HTTP server that handles JSON API requests with proper routing, parsing, and error handling.
  2. 02 REST API Design Design and build a complete REST API with proper HTTP semantics, validation, pagination, and filtering.
  3. 03 Database Fundamentals Connect to PostgreSQL, design schemas, write safe queries with prepared statements, and manage connection pools.
  4. 04 Caching Basics Integrate Redis for cache-aside pattern, TTL management, and cache invalidation strategies.
  5. 05 Load Balancing Build a reverse proxy with round-robin distribution, health checks, and sticky sessions.
  6. 06 Message Queues Build producers and consumers with RabbitMQ/NATS including acknowledgments, retries, and dead letter queues.
  7. 07 Rate Limiting Implement token bucket and sliding window rate limiters with Redis for production API protection.
  8. 08 Database Sharding & Replication Implement read replicas, consistent hashing for sharding, and shard-aware query routing.
  9. 09 Distributed Consensus Implement simplified Raft leader election with term management, vote requests, and heartbeats.
  10. 10 Event Sourcing & CQRS Build an event store with projections, command handlers, and event replay for an e-commerce order system.
  11. 11 Observability & Service Mesh Implement distributed tracing with OpenTelemetry, Prometheus metrics, and structured logging with correlation IDs.
  12. 12 Case Study: URL Shortener at Scale Design and build a production URL shortener with base62 encoding, Snowflake IDs, caching, rate limiting, and analytics.
  13. 13 Authentication & Authorization Implement JWT-based auth, refresh tokens, RBAC middleware, and secure password hashing from scratch.
  14. 14 API Gateway Build a gateway that handles routing, authentication, rate limiting, and request aggregation in one layer.
  15. 15 CDN & Edge Caching Implement edge caching with cache headers, signed URLs for private content, and cache purging strategies.
  16. 16 WebSockets & Real-time Build a real-time chat server with WebSocket connections, rooms, presence tracking, and message history.
  17. 17 Microservices Patterns Implement the saga pattern, circuit breakers, service discovery, and distributed transactions.
  18. 18 Case Study: Chat System at Scale Design and build a production chat system with message delivery, read receipts, typing indicators, and fan-out.
  19. 19 Case Study: Notification System at Scale Design and build a production notification system with multi-channel delivery, fan-out, priority queues, rate limiting, and user preferences.
  20. 20 Case Study: Payment System Design and build a production payment processing system with idempotency, double-entry ledger, reconciliation, and webhook delivery.
  21. 21 Case Study: Social Media News Feed Design and build a production news feed with fan-out, ranking, infinite scroll pagination, and real-time updates.
  22. 22 Tutorial: Build a Real-Time Analytics Dashboard Step-by-step guide to building a real-time dashboard with event ingestion, time-series aggregation, WebSocket streaming, and live counters.
  23. 23 Tutorial: Build a File Upload Service Step-by-step guide to building a production file upload service with chunked uploads, resumable transfers, virus scanning, and CDN integration.
  24. 24 Case Study: Video Transcoding Service Design and build a production video transcoding pipeline with VOD processing, adaptive bitrate encoding, job scheduling, and distributed workers.
  25. 25 Case Study: Live Streaming Platform Design and build a production live streaming system with RTMP ingest, real-time transcoding, HLS delivery, chat integration, and viewer scaling.
  26. 26 Case Study: Webinar & Video Conferencing Platform Design and build a production webinar system with multi-party video, screen sharing, Q&A, polls, breakout rooms, and recording.