Skip to content

How This Playbook Works

Most Rust material teaches the language and hopes you can build with it afterward. This playbook inverts that: you build first, and the language shows up exactly where the project demands it. By the end of Phase 1 you’ll have shipped four real programs and learned the Rust that powering them required — not a list of features, but the ones you actually reached for.

You can read Rust and write small things, but architecting a real project from scratch stalls you — which is the most common place to get stuck after the Book. We assume you know basic syntax (variables, functions, if/match, basic structs). We do not re-teach minigrep. We do slow down on the things that actually trip people up in real code: ownership across function boundaries, error handling that scales, lifetimes when the borrow checker pushes back, and concurrency.

The shape: 4 projects, 15 days, one runnable crate each

Section titled “The shape: 4 projects, 15 days, one runnable crate each”
ProjectDaysYou buildThe Rust it forces
logwise1–3a CLI log/CSV analyzerownership/borrowing, enums, Result/?, modules, tests
kvlite4–7a key-value store (mini-Redis)traits, generics, lifetimes, iterators, custom errors, concurrency
apilite8–11an async REST APIasync/tokio, axum, sqlx, middleware, tracing, Docker
askr12–15an AI CLI (Claude API)HTTP/streaming, a tiny RAG, then production hardening

Each day is one chapter: it teaches the concept it needs, then has you build that day’s slice of the project, and ends with Check your understanding (with answers). Each project is a real crate in the companion code/ directory that compiles and runs.

Everything you build lives under code/ as a standalone crate:

rust-playbook/
├─ src/content/docs/ ← these chapters
└─ code/
├─ logwise/ ← Project 1 (cargo run -- ...)
├─ kvlite/ ← Project 2
├─ apilite/ ← Project 3
└─ askr/ ← Project 4

Each is independent: cd rust/logwise && cargo run. They share no build state, so you can work on any one in isolation.

Phase 2 (Days 16–30) builds three mini-blockchains from scratch — a Bitcoin-style UTXO+PoW chain, an Ethereum-style account model with a tiny VM, and a Solana-style parallel runtime with a Proof-of-History clock — each answering what problem did this chain actually solve?, and ending at a bridge into real Solana/Anchor development. Phase 1 gives you the Rust to build them.

What does building this force you to understand — and what is Rust’s compiler protecting you from? Hold that question on every page. Rust’s learning curve is mostly the compiler refusing things other languages allow — and almost every refusal is preventing a real bug (a dangling pointer, a data race, a forgotten error). Project-first learning makes those refusals concrete: you hit them while building something you care about, which is the only way they stick.

Start with The Rust Mindset →