ARCHIVED from builddistributedsystem.com on 2026-04-28 — URL: https://builddistributedsystem.com/
28 Tracks, 343+ Challenges

Build Distributed Systemsfrom Scratch

Learn distributed systems the hard way, by implementing real algorithms. Progress from basic message passing to consensus protocols, storage engines, and event-driven architectures through hands-on, Maelstrom-compatible challenges.

Build Real Systems

Implement actual distributed algorithms, from message passing to consensus protocols.

Progressive Learning

Start simple and build complexity. Each track builds on the previous one.

8 Languages

Solve challenges in Python, Go, Rust, C++, TypeScript, JavaScript, C, or Java.

Concept Explanations

Each task includes detailed explanations of the distributed systems concepts involved.

Learning Path

Eight categories with 28 tracks and 343+ tasks. Each track builds on concepts from previous ones, covering foundations through advanced distributed systems topics.

Foundations

Core distributed systems concepts: message passing, unique IDs, gossip protocols, and TCP/gRPC.

The MessengerThe IdentifierThe GossiperThe Networker

Consensus

Agreement and state management: CRDTs, leader election, Raft log replication, and linearizable KV.

The CounterThe ElectorThe ConsensusThe Store

Scalability

Scaling building blocks: consistent hashing, caching strategies, proxies, and message queues.

The SharderCachesProxiesLoad BalancersQueues

Storage

Durable storage internals: WAL, LSM trees, B-trees, distributed file systems, and indexes.

The LoggerThe FilesystemIndexes

Operations

Workflow coordination: distributed transactions, job scheduling, DAG pipelines, and schema migrations.

The CoordinatorThe OrchestratorThe SchedulerThe Migrator

Real Systems

Production-grade systems: ZooKeeper, event sourcing/CQRS, MapReduce, and distributed search.

The WatcherThe ReactorThe MapReducerThe Searcher

Advanced

Advanced topics: Byzantine fault tolerance, DHT, distributed clocks, and time synchronisation.

Advanced ParadigmsThe Timekeeper

Security

Security and observability: JWT, OAuth, encryption, distributed tracing, and alerting.

The SecuritorThe Tracer

Learning by Building

Distributed systems are notoriously difficult to understand through passive learning. The only way to truly grasp concepts like consensus, eventual consistency, and partition tolerance is to implement them yourself.

This platform takes inspiration from the Fly.io Gossip Glomers challenges and the Maelstrom testing framework. You will write code that runs against simulated distributed environments, complete with network partitions, message loss, and timing failures.

Each challenge is designed to teach a specific concept through implementation. By the time you complete all tracks, you will have built everything from simple echo servers to fully functional Raft consensus implementations, distributed storage engines, and event-driven architectures.