System design
Splitwise (Shared Expense Manager)
Group expense sharing and balance tracking — split algorithms, an immutable ledger, debt simplification, idempotent writes, optimistic concurrency, transactional outboxes and payment-settlement semantics.
Complete Design
Reference & theory
The full system design reference — requirements, scale estimation, data model, architecture evolution, and every engineering decision explained in depth.
Visual Design Journey
Visual deep-dive
An immersive narrated experience. Watch the architecture emerge as traffic increases, bottlenecks appear, and decisions are made — one beat at a time.
Architecture Deep Dive
Go deeper into each major component: how matching works, how location is stored, how Redis and Kafka are used, and what happens under the hood.
Trade-offs & Decisions
Every significant architectural decision revisited — PostgreSQL vs NoSQL, polling vs WebSocket, sync vs async — with alternatives and reasoning.
Failure & Scale Scenarios
Explore what happens when traffic spikes 10x, Redis goes down, Kafka becomes unavailable, or a cascading failure propagates through the system.
Interview Perspective
How to present this design in an interview — what to clarify, what to estimate, how to structure, and how to respond when the interviewer pushes back.