Build the real thing.
Then prove it works.
Rebuild Redis, Git, a database, an OS kernel — from an empty file to passing tests on a real executor. It either passes or it doesn’t.
Free forever · no credit card · 179 courses · 37 language tracks · first test in about two minutes
You already know how to watch someone else write code.
Here you write it, a real grader runs it, and you keep going until it passes. 1,900+ graded exercises, every one verified.
A real executor, hidden tests
Every exercise runs on the same grader for everyone. Visible tests show the shape; hidden ones stop “looks right” from counting.
The artifact is the real thing
Not a to-do app. A Redis the real redis-cli talks to. A Git that git log reads. A kernel that boots.
Your editor, your repo
Link a GitHub repo and push from wherever you write code. Every push is graded and your README badge updates.
Certificates that mean it
Issued only when every graded exercise has passed. Public verification page, credential ID, nothing to buy.
Rebuild the software you use every day.
Each one walks from an empty file to a working system, one graded lesson at a time.
Build Redis
A server the real redis-cli can talk to.
Build a Database
B-tree pages, SQL parser, WAL recovery.
Build Git
Object store, index, diffs, real merges.
Build a Programming Language
Lexer to bytecode VM to garbage collector.
Build a Container Runtime
Namespaces, cgroups — Docker without Docker.
Build a Shell
fork/exec, pipes, redirection, job control.
Build an OS Kernel
Boot sector to scheduler to userland.
Build a Neural Network
Backprop by hand — no PyTorch allowed.
Build an HTTP Server
Sockets, parsing, routing — curl talks to it.
Build a Transformer
Attention, GPT blocks, sampling — by hand.
Build a Text Editor
Raw terminal mode, buffers, undo, search.
Build TLS 1.3
Handshake, key schedule — a real browser connects.
Or don’t use ours at all.
Link a GitHub repository to any course and write in whatever you already use. Every push is graded the same way the browser is, and your README badge shows live progress until the day it turns into a certificate.
Course updates never un-complete your work: a finished repo stays finished, and if a starter changes, the badge tells you instead of silently failing you.
How repo checking worksOr follow a route with the destination printed on it.
Eight paths, each a sequence of courses that ends in something you ship. You see the first course and the last one before you commit an hour.
Backend Engineer
The infrastructure under every web service — Go, SQL, caches, queues, and the protocols that connect them.
- 1Go Fundamentalsstart
- 2SQL Fundamentals
- 3Build Redis
- 4Build an HTTP Server
- …3 more courses
- 8Build OAuth 2.0ship
Finish a course. Get proof. Free.
Every completed course issues a certificate — and it’s only issued when every graded exercise has passed on the executor. Nothing to buy at the finish line.
- LinkedIn-ready. A public verification page with a credential ID.
- Lives in your GitHub README. The progress badge turns into the certificate the day you finish.
- Means something. It certifies passed tests, not watched videos — the same bar for everyone.
Teach or research? Put your name on a course.
We invite academics to peer-review the curriculum — correct it, deepen it, and be credited on the course itself. Every learner who opens a course you reviewed sees your name, title and institution.
- Credit where learners see it — on the course page, not in an acknowledgements file.
- A verifiable Certificate of Peer Review with its own credential ID.
- Real editorial control — changes go through a versioned review; nothing is silently rewritten.