System Design: Collaborative Document Editing (Google Docs) — OT, CRDT, and WebSockets
The Problem: Concurrent Edits In real-time collaborative editing (Google Docs, Notion, Figma), multiple users edit the same document simultaneously. The […]
The Problem: Concurrent Edits In real-time collaborative editing (Google Docs, Notion, Figma), multiple users edit the same document simultaneously. The […]
Requirements Functional: customers browse restaurants and place orders, restaurants receive and confirm orders, the platform assigns delivery drivers, drivers pick
What Is a Distributed Task Queue? A distributed task queue decouples work producers from work executors. Producers enqueue jobs; workers
Requirements Functional: subscribe/unsubscribe users to plans, charge recurring fees at billing intervals, support upgrades/downgrades with proration, apply coupons and discounts,
What Is Apache Kafka? Apache Kafka is a distributed event streaming platform built for high-throughput, fault-tolerant, real-time data pipelines. Unlike
Low-Level Design: Ride-Sharing Driver App The driver-side of a ride-sharing app manages driver state, trip offers, earnings tracking, and location
Low-Level Design: Payment Processing System A payment processing system handles payment initiation, authorization, capture, refund, and failure recovery. Correctness and
Low-Level Design: Social Media Feed (Twitter/Instagram) A social media feed system manages posts, follows, likes, and generates a personalized home
Low-Level Design: Customer Support Ticketing System A ticketing system manages customer support requests from creation through resolution. It involves ticket
Low-Level Design: Inventory Management System An Inventory Management System (IMS) tracks product stock levels, warehouse locations, reorder triggers, and stock
Low-Level Design: Shopping Cart and Checkout System A shopping cart system manages item selection, inventory reservation, coupon application, pricing, and
Low-Level Design: Hotel Reservation System A hotel reservation system manages room inventory, bookings, availability checks, pricing, and cancellations. It is
System Design: Content Delivery Network (CDN) A CDN is a geographically distributed network of edge servers that caches and serves
Sharding and Data Partitioning: System Design Deep Dive Sharding (horizontal partitioning) splits a large dataset across multiple database nodes so
Low-Level Design: Bank Account Transaction System The bank account transaction system LLD models accounts, transactions, and balance management with strong