URL Shortener System Design: Short Codes, Redirects, Caching, Analytics, and Abuse Control
A concise URL-shortener system design covering collision-safe short codes, durable mappings, read-heavy redirects, caching, 301 vs 302 behavior, asynchronous click analytics, expiry, and abuse controls.
System Design
Showing 13 of 16 articlesDistributed System Design: Failure, Consistency, Partitioning, and Idempotency
A concise distributed-system design guide covering partial failures, timeouts and bounded retries, idempotency, consistency choices, partitioning, coordination cost, backpressure, and distributed observability.
CQRS Explained: Separate Read and Write Models Without Overengineering
A concise CQRS guide covering separate command/query models, single-database CQRS, optional read/write stores, materialized projections, eventual consistency, CQRS vs event sourcing, and when the pattern is worth using.
System Design for Beginners: A Simple Framework for Designing Real Applications
A beginner-friendly system-design framework covering functional and non-functional requirements, rough capacity estimates, simple architecture, API/data modeling, bottleneck analysis, reliability, and engineering trade-offs.
WhatsApp System Design: Persistent Connections, Message Delivery, Offline Queues, and E2EE
A concise WhatsApp-like system design covering persistent client connections, stable message IDs and acknowledgements, offline delivery, multi-device state, encrypted media, group fan-out, push notifications, and end-to-end encryption constraints.
High-Level Design Explained: Components, Data Flow, Scaling, and Reliability
A concise high-level design guide covering requirements, major components, data flows, sources of truth, APIs, scaling and failure boundaries, security, observability, and the difference between HLD and LLD.
Low-Level Design Explained: Classes, Interfaces, State Machines, and Testable Code
A concise low-level design guide covering responsibilities, invariants, classes and interfaces, explicit dependencies, state machines, error and concurrency behavior, testability, and pragmatic use of design patterns.
YouTube System Design: Uploads, Transcoding, Storage, CDN, and Playback
A concise reference design for a YouTube-like video platform covering direct uploads, object storage, asynchronous transcoding, multiple playback renditions, metadata, CDN delivery, analytics, and independent scaling.
Uber System Design: Real-Time Location, Geospatial Search, Dispatch, and Trip State
A concise Uber-like system design covering high-frequency driver locations, H3-style geospatial indexing, nearby-driver candidate search, dispatch and ETA ranking, durable trip state, realtime updates, idempotency, and geographic scaling.
Event Sourcing Explained: Event Stores, Projections, Replay, and Schema Evolution
A concise event-sourcing guide covering append-only event stores, business events, replay, projections, optimistic concurrency, snapshots, schema evolution, corrective events, and the difference between an event store and a message broker.
Event-Driven Architecture: Events, Brokers, Idempotency, Ordering, and Schema Evolution
A concise event-driven architecture guide covering events vs commands, brokers, duplicate delivery, idempotent consumers, partition-scoped ordering, schema evolution, dead-letter handling, transactional outbox, and backpressure.
System Design Core Concepts: Load Balancing, Caching, Queues, Replication, and Sharding
A compact system-design map covering load balancing, stateless compute, caching, queues, replication, sharding, consistency, idempotency, backpressure, and observability—and the trade-off each concept introduces.
Netflix System Design: Streaming Control Plane, Encoding, Open Connect CDN, and Playback
A concise Netflix-like system design grounded in Netflix's public Open Connect architecture: intelligent clients, control-plane APIs, multiple video encodes, CDN/Open Connect Appliances, ISP-local delivery, and playback resilience.