Skip to content
Select theme

Project tracks

Reading about ownership is not the same as shipping something. Each track here is a series of articles that ends with a working thing: a tool you can install, a service you can deploy, firmware running on real hardware.

Tracks assume you know the basics. If you have not written any Rust yet, install it from rustup.rs, work through Ownership and borrowing and the bits that trip everyone up, then come back.

Build a CLI tool

A command-line HTTP client with subcommands, a config file and real error messages. Start the track →

A production API with Axum and SQLx

Postgres migrations, validation, tracing, integration tests, Docker, deployment. Start the track →

A desktop app with Tauri

A local Markdown notes app: React front end, Rust core, SQLite, full-text search. Start the track →

Speed up React with WebAssembly

Move the slow part of a JavaScript app into Rust and measure the real difference. Start the track →

Embedded Rust on STM32

From blinking an LED to I2C sensors, async tasks and power management. Start the track →

Write a toy database

A persistent log-structured key-value store, with compaction and benchmarks. Start the track →

  • Write your own search engine — inverted index, tokenisation, BM25 ranking, HTTP query API
  • Build a terminal UI with Ratatui — a live log and process monitor
  • Build a Redis clone — RESP protocol, concurrent connections, persistence
  • Write an interpreter — lexer, parser, tree-walking evaluator for a small scripting language
  • LLM apps in Rust — local inference, embeddings, a RAG service
  • Rust vs Go: choosing a backend stack — performance, concurrency, error handling, deployment, hiring

Each article is one step, and every step ends with code that runs. The code for every track lives in the examples repository, in a directory named after the track, and each article links to the tag that matches the state of the code at that point — so you can check your work against it instead of guessing where you went wrong.

Terminal window
git clone https://github.com/hackingwithrust/examples
cd examples/cli-tool
git checkout cli-ch04 # the state of the project after article 4

If you get stuck, the compiler error pages cover the errors these projects actually produce.