One system. Every day.
Practical system
design, documented.
Clear breakdowns of real-world systems—the requirements, architecture, data model, bottlenecks, and trade-offs that matter.
Developer infrastructure
Design a CI/CD Platform
Turn source changes into tested deployments with event-driven pipeline DAGs, isolated runners, trusted artifacts, protected environments, progressive delivery, and safe rollback.
Archive
All documents
Developer infrastructure
Design a Distributed Source Control Hosting Service
Host massive source repositories with content-addressed objects, atomic references, efficient clone and fetch, protected pushes, code review, large-file storage, and regional replication.
046Developer infrastructure
Design a Package Registry
Publish and distribute immutable software packages with deterministic metadata, dependency resolution, content-addressed blobs, provenance, malware scanning, and global replication.
045Developer infrastructure
Design a Distributed Build System
Build large codebases quickly with dependency graphs, content-addressed storage, remote caching, hermetic sandboxes, distributed execution, and reproducible artifacts.
044Network infrastructure
Design a Service Mesh
Secure and control service-to-service traffic with workload identity, mTLS, programmable proxies, resilient routing, policy enforcement, observability, and multi-cluster failover.
043Security systems
Design a Certificate Authority and PKI System
Issue and validate digital certificates safely with offline roots, hardware-protected signing, automated enrollment, revocation, transparency, and resilient rotation.
042Network infrastructure
Design a Global DNS Service
Resolve names reliably with anycast authoritative servers, versioned zone distribution, caching, DNSSEC, health-based routing, and layered DDoS protection.
041Storage systems
Design a Distributed Object Storage System
Store exabytes of immutable objects with partitioned metadata, multipart uploads, erasure coding, read-after-write consistency, background repair, lifecycle tiers, and regional replication.
040Database systems
Design a Distributed SQL Database
Provide scalable relational transactions with replicated key ranges, MVCC, consensus, distributed SQL execution, secondary indexes, rebalancing, and multi-region placement.
039Data infrastructure
Design a Data Lakehouse
Combine low-cost object storage with transactional tables, schema evolution, compaction, time travel, governance, and scalable analytical query execution.
038Data infrastructure
Design a Change Data Capture Platform
Replicate database changes safely with log-based capture, consistent snapshots, ordered partitions, schema evolution, idempotent sinks, and recoverable connector state.
037Data systems
Design a Vector Database
Store and search billions of embeddings with approximate nearest-neighbor indexes, metadata filtering, sharding, replication, freshness, and predictable multi-tenant performance.
036Machine learning systems
Design a Machine Learning Model Serving Platform
Deploy and operate models reliably with immutable artifacts, low-latency inference, dynamic batching, accelerator scheduling, autoscaling, canary releases, and drift monitoring.
035Machine learning systems
Design a Machine Learning Feature Store
Define, compute, discover, and serve trustworthy ML features with point-in-time correct training data, low-latency online reads, and consistent transformation logic.
034Data systems
Design a Real-Time Analytics Platform
Turn high-volume event streams into fresh, correct dashboards with event-time processing, durable state, replay, tiered storage, and low-latency multidimensional queries.
033Distributed systems
Design a Durable Workflow Orchestration System
Execute multi-step business processes reliably with event-sourced histories, deterministic replay, durable timers, idempotent activities, signals, and safe code evolution.
032Cloud platforms
Design a Serverless Functions Platform
Build, isolate, schedule, and scale event-driven functions with low-latency routing, bounded cold starts, reliable triggers, and precise usage metering.
031Infrastructure systems
Design a Container Orchestration System
Run containerized workloads across large clusters with declarative APIs, constraint-aware scheduling, reconciliation loops, service networking, autoscaling, and safe rollouts.
030Security systems
Design a Secrets Management System
Store and deliver credentials safely with envelope encryption, workload identity, short-lived leases, automated rotation, strict policy, and auditable recovery.
029Security systems
Design an Identity and Access Management System
Authenticate people and services, issue secure sessions and tokens, enforce centralized authorization, and preserve auditability across regions and tenants.
028Observability systems
Design a Distributed Tracing System
Follow requests across services with portable context, adaptive sampling, durable span ingestion, trace assembly, indexed search, and privacy-safe retention.
027Financial infrastructure
Design an API Metering and Billing System
Turn high-volume usage events into trustworthy quotas, customer-visible meters, rated charges, and auditable invoices without slowing the product path.
026Observability systems
Design a Centralized Log Aggregation System
Collect, process, retain, and search high-volume application logs with durable ingestion, tiered storage, tenant isolation, and safe handling of sensitive data.
025Developer infrastructure
Design a Feature Flag Service
Roll out software safely with local flag evaluation, versioned configuration, real-time updates, deterministic targeting, audit logs, and resilient fallbacks.
024Advertising systems
Design an Ad Serving System
Select and deliver relevant ads in milliseconds while enforcing budgets, pacing, frequency caps, attribution, fraud controls, and accurate billing.
023Financial systems
Design a Payment Processing System
Build a reliable payment platform with idempotent APIs, an immutable ledger, asynchronous settlement, reconciliation, refunds, and strict security boundaries.
022Machine learning systems
Design a Recommendation System
Generate and rank personalized content at scale while handling freshness, cold start, feedback loops, experimentation, and safety.
021Transactional systems
Design an Online Ticket Booking System
Sell scarce seats under extreme contention without overselling, losing reservations, or overwhelming checkout and payment services.
020Distributed systems
Design a Distributed Lock and Coordination Service
Coordinate ownership across unreliable processes using consensus, leases, fencing tokens, watches, and explicit failure semantics.
019Search systems
Design a Web Search Engine
Turn a continuously changing web corpus into fast, relevant, and trustworthy search results using distributed indexing and retrieval.
018Edge infrastructure
Design a Global API Gateway
Route, authenticate, protect, and observe API traffic at the edge without turning the gateway into a bottleneck or failure amplifier.
017Storage systems
Design a Distributed Key-Value Store
Store and retrieve data across many machines while balancing partitioning, replication, consistency, availability, and repair.
016Edge infrastructure
Design a Content Delivery Network
Serve cacheable content close to users while protecting origins, propagating invalidations, and surviving edge and regional failures.
015Collaborative systems
Design a Real-Time Collaborative Editor
Let many users edit one document concurrently while preserving intent, supporting offline work, and converging after failures.
014Location-based systems
Design a Ride-Hailing Service
Match riders with nearby drivers in real time while coordinating location updates, trip state, pricing, payments, and safety.
013Large-scale applications
Design a Social News Feed
Build a personalized, low-latency feed that balances freshness and relevance across billions of posts and follower relationships.
012Observability systems
Design a Metrics Monitoring and Alerting System
Ingest billions of time-series samples, answer interactive queries, and deliver reliable alerts without drowning operators in noise.
011Media systems
Design a Video Streaming Platform
Ingest, process, and deliver video globally with adaptive playback, resilient pipelines, and efficient CDN distribution.
010Storage systems
Design a Cloud File Storage System
Store, synchronize, version, and share files across devices while supporting resumable transfers and regional durability.
009Real-time systems
Design a Real-Time Chat System
Deliver ordered messages across devices with low latency while supporting presence, offline sync, media, and regional failures.
008Distributed systems
Design a Distributed Job Scheduler
Run one-time and recurring work reliably across a fleet while handling leases, retries, clock skew, and duplicate execution.
007Search systems
Design Search Autocomplete
Return relevant query suggestions in milliseconds while supporting ranking, typo tolerance, personalization, and continuous updates.
006Data-intensive systems
Design a Distributed Web Crawler
Discover and fetch billions of pages while respecting websites, avoiding duplicate work, and keeping the crawl frontier healthy.
005Distributed systems
Design a Distributed Cache
Serve frequently accessed data in milliseconds while handling sharding, hot keys, invalidation, and node failures.
004Distributed systems
Design a Distributed Message Queue
Decouple producers and consumers with durable, ordered delivery that scales across partitions and survives failures.
003Web infrastructure
Design a URL Shortener
Generate compact links, redirect with low latency, and scale reads globally without sacrificing reliability.
002Distributed systems
Design a Distributed Rate Limiter
Protect APIs consistently across regions while keeping enforcement fast and failure modes predictable.
001Event-driven systems
Design a Notification System
Deliver email, push, and SMS notifications reliably while respecting preferences, retries, and provider limits.