The Course: Build Your Own LLM System
You build one system, end to end, in four languages: a byte-level language model trained in Python on your own numerics, kernels in C behind a stable ABI, a Rust inference engine that streams completions over HTTP, a Go gateway in front of it, and the containers, charts, traces, and runbooks that keep it running on Kubernetes. Every layer is yours. The course grades it with tests you can read, milestones that run your entry points, and drills that break your deployment on purpose.
For: engineers who want to own an LLM system from the matrix multiply to the pager, not just call one.
How it works: each chapter teaches one module from first principles (the math, a worked example by hand, the interface, the pitfalls), then you write the code in your own repo and ol check <ID> grades it. A pass ends at a milestone that runs your whole system as it stands: after every pass it runs end to end (the spiral).
practice/bin/ol doctor # the tools pass 0 and pass 1 needpractice/bin/ol course init --name forge # your repo (default .scratchpad/course; OL_COURSE_HOME moves it)practice/bin/ol learn course # every stage and your progresspractice/bin/ol learn course next # read the next unfinished stagepractice/bin/ol start lang.01 # stub a module into your repopractice/bin/ol check lang.01 # grade itol learn course --done <stage> marks a stage done only when its check passes ([x]), or with --force ([~]). The fifth column of path.tsv names each stage’s check.
Passes
Section titled “Passes”| Pass | Path | What your system does after it | Gate |
|---|---|---|---|
| P0 | course-p00-setup | an empty repo whose CI lints commits, runs native tests, and runs ol check --all --ci | MS-P0 |
| P1 | course-p01-tracer | a byte bigram trained by your CLI, served by your Rust engine, behind your Go gateway, on kind, with one trace and one runbook | MS-P1 |
| P2-P11 | pass paths through operate | autograd, data, model architecture, inference, serving, durable workflows, agents, and operations | MS-P2 to MS-P11 |
| P12 | course-p12-multimodal | multimodal extension planned in B14 | MS-P12, after Step C |
Passes 2 to 11 take the system from autograd through operations. Pass 12 is the multimodal extension in the B14 design. Each pass has its own staged path and check column in path.tsv.
Reading order
Section titled “Reading order”- SYSTEM.md: the components, their languages, the contracts between them, and how the system grows pass by pass. Read it first.
- Each pass path’s README says what that pass builds; its
milestone.mdsays what the gate runs. - Contracts live in
course/contracts/and are vendored into your repo’scontracts/byol course init.
Stages
Section titled “Stages”Generated from path.tsv. Track progress locally with practice/bin/ol learn.
| Stage | Read | Done when |
|---|---|---|
| 0 | The system you will build The Course: Build Your Own LLM System The System You Will Build | You can name every component, its language, and the contract it serves. |
| Part | Course Pass 0: Setup | Every stage of that path |
| Part | Course Pass 1: The Tracer | Every stage of that path |
| Part | Course Pass 2: Foundations | Every stage of that path |
| Part | Course Pass 3: Tokens and data | Every stage of that path |
| Part | Course Pass 4: Sequence models | Every stage of that path |
| Part | Course Pass 5: Transformer | Every stage of that path |
| Part | Course Pass 6: Inference and kernels | Every stage of that path |
| Part | Course Pass 7: Serving platform | Every stage of that path |
| Part | Course Pass 8: Durable | Every stage of that path |
| Part | Course Pass 9: Capstone training | Every stage of that path |
| Part | Course Pass 10: Agents | Every stage of that path |
| Part | Course Pass 11: Operate | Every stage of that path |
| Part | Course Pass 12: Multimodal | Every stage of that path |