Master Distributed Systems by Building Them
Consensus, replication, sharding, fault tolerance — not as slides and diagrams, but as systems you build, break, and reason about yourself.
Distributed systems are hard for reasons that have nothing to do with syntax: consensus, leader election, replication, failure detection. This site exists to present the challenges, concepts, and terminology behind distributed systems — how they're implemented in existing large-scale systems like Kafka, Cassandra, and Raft-based databases, and what we can learn from those implementations.
We do this in two ways: a hands-on guide where you build a full-scale distributed system yourself and internalize the challenges as you go, and a blog covering the internals and nuances you reach for once you're past the fundamentals.
Building a Distributed Log
Build a Kafka-style replicated log from scratch — consensus and leader election, gossip membership, replication, and the wire protocol underneath it all.
Start the guide →BlogDeep dives & internals
Kafka internals, storage engines, indexing — the supporting knowledge you reach for once you're past the fundamentals.
Read the blog →