gitGood.dev

System Design

Curated walkthroughs for the bounded designs that show up in real interview loops. Each topic covers requirements, capacity estimation, architecture, deep-dives, and the trade-offs interviewers actually probe for.

NEW
Storage

URL Shortener

The canonical bounded system design problem. Read-heavy, hot-key prone, and a great vehicle for hashing, caching, and capacity estimation.

MediumFREE
Feeds

News Feed

The classic write-vs-read amplification trade-off. Push, pull, or hybrid fanout - and how to handle the celebrity user with 100M followers.

HardFREE
Distributed Systems

Rate Limiter

Five algorithms, three sharding strategies, one fail-open vs fail-closed decision. The bounded design that surfaces in every backend interview loop.

MediumFREE
Realtime

Chat

Long-lived connections, ordering guarantees, presence, and the difference between 1:1 chat and a 50K-member group.

Hard
Caching

Distributed Cache

Consistent hashing, eviction, replication, and what really happens when a single hot key takes down the cluster.

Hard
Distributed Systems

Web Crawler

Politeness, deduplication, freshness, and the URL frontier. The classic crawl-the-internet question that surfaces deep distributed systems judgment.

Hard
Streaming

Video Streaming

Encoding ladders, adaptive bitrate, CDN economics, and the difference between live and VOD. Petabyte-scale storage meets millisecond-scale playback.

Hard
Geo

Ride-Share Dispatch

Geo-indexing, real-time matching, ETA prediction, and surge. The canonical geo-spatial design problem with hard real-time constraints.

Hard
Payments

Payments

Idempotency keys, double-spend prevention, the ledger model, and why eventual consistency is wrong for balances. The interview where ambiguity costs you money.

Hard
Search

Search + Autocomplete

Inverted indexes, BM25 ranking, prefix tries, and the p99 < 100ms latency budget that drives every architectural choice.

Hard
Messaging

Notifications

Fan-out at write vs read, at-least-once vs exactly-once, dead-letter queues, and the multi-channel delivery problem - one message, ten failure modes.

Hard
Realtime

Real-Time Collab

CRDTs vs OT, presence, cursor broadcasting, and conflict-free merging when 50 people edit the same doc at once.

Hard
Streaming

Analytics Pipeline

Batch vs streaming, lambda vs kappa, the warehouse-vs-lakehouse decision, and dimension modeling that survives schema drift.

Hard
Messaging

Message Queue

Partitions, consumer groups, replication, retention, and the exactly-once myth - the implementation details Kafka users gloss over until they don't.

Hard
Distributed Systems

Consensus

Raft leader election, log replication, snapshots - and the CAP theorem in operational practice. The substrate every other distributed system stands on.

Hard
Networking

CDN + Edge

Edge cache hierarchies, cache key design, invalidation, origin shield, and edge compute - the system every other system relies on without thinking about it.

Hard
Networking

Load Balancer Internals

L4 vs L7, consistent hashing, health checks, connection draining, and the difference between a fleet that survives partial failures and one that cascades into outage.

Hard
Distributed Systems

Distributed Transactions

Two-phase commit, sagas (choreography vs orchestration), TCC, idempotency keys, and the compensation logic that turns multi-service writes into something a customer-support agent can untangle.

Hard
Distributed Systems

ML Serving

Online vs batch inference, GPU utilization tricks, autoscaling for spiky load, A/B testing models, and the feature store that decouples training from serving.

Hard
Distributed Systems

Observability Platform

Time-series DBs (Prometheus, M3, VictoriaMetrics), trace sampling, exemplars, OpenTelemetry, alerting, and the cardinality explosion that turns a $10K/month platform into a $1M/month outage.

Hard
Distributed Systems

Leaderboard at Scale

Redis sorted sets, sharding strategies, real-time vs eventual updates, top-K queries, hot keys, deep pagination - the deceptively-simple problem that breaks at 100M users.

Hard

How these walkthroughs work

System design rounds reward depth, not breadth. Memorizing twenty architectures gets you ranked "hire" less often than owning four cold. Each walkthrough is structured the way real interviewers think: clarifying questions first, capacity estimation second, high-level architecture third, then deep-dives into the specific subsystems and trade-offs that decide the score.

Free walkthroughs cover the canonical bounded designs that show up in mid-level loops (URL shortener, news feed). Premium unlocks harder topics that show up at senior+ levels (chat at scale, distributed cache internals). See pricing.

AI-graded practice is coming

Reading is the floor. The next phase wires each topic to an AI interviewer that walks you through a design and probes follow-ups in real time. Want to suggest a topic? Let us know.