hacker tutorialscourse catalogue

Course catalogue

Courses built from Hacker News posts.

Build a database, an interpreter and compiler, a GPT, an operating system, a network stack or your own Git from scratch. Each course strings together the tutorials HN kept upvoting, in learning order, with every score and every criticism left in.

Start with Build a database

The courses

Suggested order. Each course is a path through sources, not a single post; the bars show how its HN score is distributed across the steps.

01coursestart here

Build a database

A durable key-value store you wrote, with a B+tree, crash recovery and transactions, a small SQL layer on top, and enough knowledge of PostgreSQL's internals to read its source.

21 sources·130 HN threads·2010–2026·3–5 months part-time

HN points per step

14,681 pointsOpen course
02course

Build an interpreter and a compiler

Two interpreters for one language (a tree-walker, then a bytecode VM with a garbage collector), a compiler that turns a real language into assembly you can run, and enough LLVM to know what you'd use in production.

26 sources·333 HN threads·2007–2026·3–5 months part-time; add 3–4 months for the optional book in step 7

HN points per step

24,263 pointsOpen course
03course

Build a neural network, then a GPT

An autograd engine you wrote, a GPT you trained from scratch with a tokenizer you wrote, and a from-scratch inference loop for a modern open-weights architecture. Enough to read a model's source and know what every line does.

30 sources·290 HN threads·2013–2026·4–6 months part-time

HN points per step

26,668 pointsOpen course
04course

Build an operating system

A Unix shell you wrote; a small RISC-V operating system with processes, paging, user mode, system calls and a file system; an x86-64 kernel in Rust with interrupts, paging and a heap allocator; xv6 extended through MIT's nine labs; and Linux kernel modules you built and loaded, with enough Linux internals to read the kernel's source.

23 sources·401 HN threads·2008–2026·6–9 months part-time

HN points per step

29,894 pointsOpen course
05course

Build a network stack, then the protocols on top

An HTTP server on raw sockets, a DNS resolver that walks from the root servers, a userspace TCP/IP stack (Ethernet, ARP, IPv4, ICMP, TCP) that answers ping and carries TCP connections, a toy TLS 1.3 client that talks to a real server, and a BitTorrent client that downloads a real file from real peers.

22 sources·247 HN threads·2008–2026·4–6 months part-time

HN points per step

19,547 pointsOpen course
06courseopening stages

Build your own developer tools

A terminal text editor in about 1,000 lines of C, with search and syntax highlighting; a Git in about 1,000 lines of Python that can init, add, commit, log, checkout and tag, compatible with real Git repositories; and a Redis-like server in C with an event loop, hashtables, sorted sets and key expiry.

8 sources·66 HN threads·2015–2026·6–10 weeks part-time for the opening stages·more stages coming

HN points per step

9,234 pointsOpen course

Points are summed across every HN submission of the same source. Steps are ordered for learning, not by points. How we count.