Learn by Building Real Systems #

You know that feeling when you read about Raft consensus or consistent hashing and think “okay, but how would I actually implement this?” That gap between understanding concepts and building working systems is what lsfr is for.

Project-Based Learning #

Learn by building complete, real-world systems rather than doing isolated exercises. You’ll implement actual distributed databases, message queues, and compilers that mirror production systems.

$ lsfr new kv-store
Created challenge in current directory.
  run.sh       - Builds and runs your implementation
  README.md    - Challenge overview and requirements
  lsfr.yaml    - Tracks your progress

Implement http-api stage, then run 'lsfr test'.

Build Incrementally #

Each stage introduces one new concept only after you’ve solidified the previous one. You can use any language you want to build it! Go, Rust, Python, or whatever you prefer.

The tests verify your system works by running it and checking behavior, not implementation details, so you can focus on learning the concepts without wrestling with complex setup.

$ lsfr test
Running http-api: HTTP API with GET/PUT/DELETE Operations

✓ PUT Basic Operations
✓ PUT Edge and Error Cases
✓ GET Basic Operations
✓ GET Edge and Error Cases
✓ DELETE Basic Operations
✓ DELETE Edge and Error Cases
✓ Concurrent Operations
✓ Check Allowed HTTP Methods

PASSED ✓

Run 'lsfr next' to advance to the next stage.

When you’re ready, advance to the next stage:

$ lsfr next
Advanced to persistence: Data Persistence

Your system must survive restarts and handle concurrent writes.

Read the guide: lsfr.io/kv-store/persistence

Run 'lsfr test' when ready.

Open-Source by Default #

All tests, tooling, reference implementations, and this website are open source. Check out lsfr’s source code and this website’s source code.

$ lsfr list
Available challenges:

  kv-store             - Distributed Key-Value Store (8 stages)

Start with: lsfr new <challenge-name>

Ready to Build? #

Start with the distributed key-value store challenge. Or learn how lsfr works if you want to understand the tooling first.