Templates
All 16 system design templates
Interview classics and real cloud layouts. Open one to look around, then press Edit to make it yours.
A classic web app on AWS: CDN and WAF in front, an Auto Scaling app tier behind a load balancer, and a Multi-AZ database in private subnets.
The shared VPC of a host project with prod and shared-services subnets, an HTTPS load balancer behind Cloud Armor, Cloud NAT, central logging and an HA VPN to on-prem.
A production Kubernetes cluster laid out the recommended way: ingress, namespaces, autoscaled deployments, default-deny network policies and stateful storage.
Short links served from the edge, codes from leased ID ranges, a key-value links table and a click stream counted off the hot path.
A distributed token-bucket limiter: a local bucket in every gateway, backed by shared counters and per-plan rules.
One API that validates, deduplicates and renders a notification, then fans it out to email, push and SMS queues with their own workers.
Real-time chat over WebSockets: gateways hold the connections, a chat service orders and stores messages, and offline users get a push.
A social feed with fan-out on write into precomputed timelines, a follow graph, media on a CDN and a ranking model.
Card payments with idempotency keys, a payment state machine, fraud scoring, a ledger and outgoing webhooks.
A checkout that survives a flash sale: bot control and a waiting room in front, atomic stock counters and an order queue behind.
Upload, transcode to HLS renditions and stream through a CDN, with a catalog and search for viewers.
Riders and drivers on GCP: a GPS stream into a geo index, matching, surge pricing per cell and trip history.
Type-ahead suggestions from an in-memory trie, re-ranked per user, with blocked terms and a query log that rebuilds the index.
A Dynamo-style key-value store: consistent hashing, quorum reads and writes, membership tracking and storage nodes with a commit log and memtable across zones.
A polite web crawler: a URL frontier, per-host politeness, a fetcher fleet, deduplication of seen URLs and a search index at the end.
An LLM assistant on GCP that retrieves from a vector index, builds the prompt, applies guardrails and streams the answer back.
None of these fits? Start from a blank canvas.
Start designing free