Skip to content

Distributed systems,
from scratch.

Build real distributed systems in any language. Each challenge breaks a complex system into stages, verified by tests that simulate network failures, crashes, and real-world conditions.

Terminal window
$ clstr test
Testing leader-election: Cluster Elects and Maintains Leader
✓ /cluster/info Returns Pre-Election State
✓ Leader Election Completes
✓ Exactly One Leader Per Term
✓ Leader Maintains Authority via Heartbeats
✓ Followers Redirect to Leader
✓ Leader Handles KV Operations
✓ New Leader Elected After Leader Crash
✓ Service Unavailable During Election
✓ Partition Enforces Quorum
✓ Cluster Converges After Partition Heals
PASSED ✓
Run 'clstr next' to advance to the next stage.
01
Pick a challenge

Each challenge is a real distributed system broken into stages. Start simple, add complexity one stage at a time.

02
Build in any language

Go, Rust, Python, whatever. Update the Dockerfile to build and start your server. The tests only care about behavior.

03
Run the tests

Run clstr test. Tests simulate network failures, crashes, and real-world conditions against your implementation.

04
Advance

When you pass, run clstr next. Each stage unlocks after the previous one is solid.