Developer Tooling
Build the tools you use every day — git, package managers, CI runners, cron, Docker, text editors, frontend frameworks.
Course sequence
- 01
Build Your Own Git
Not startedBuild a working subset of git from scratch — content-addressable object storage, trees and commits, refs and HEAD, the index, checkout planning, line diffs, and three-way merges. By the end you'll deeply understand Linus's elegant design and exactly what `git add`, `git commit`, `git checkout`, and `git merge` do under the hood.
intermediate18 lessons~5h - 02
Build Your Own Package Manager
Not startedBuild a complete package manager from scratch — semver parsing, constraint matching, dependency tree expansion, deduplication, backtracking SAT-style resolution, lockfile generation, hash verification, lifecycle scripts, and vulnerability auditing. By the end you'll deeply understand what npm, yarn, pnpm, cargo, and pip actually do.
intermediate12 lessons~3h - 03
Build a CI Runner
Not startedBuild a CI/CD runner like GitHub Actions: parse YAML workflows, expand build matrices, topologically sort job DAGs, execute steps with logs, manage artifacts and caches, handle self-hosted runners, and protect secrets. Used by every modern engineering team.
intermediate10 lessons~3h - 04
Build a Cron Scheduler from Scratch
Not startedBuild a fully-featured cron daemon from the ground up. You'll parse cron expressions, compute next firing times across timezones, schedule jobs with a min-heap, and handle real-world concerns like missed jobs, overlapping runs, and timezone DST. By the end you'll deeply understand the scheduler behind every "do this on a schedule" system you've ever used.
intermediate12 lessons~3h - 05
Build Your Own Docker
Not startedBuild a container runtime from scratch using Linux namespaces, cgroups, and overlayfs. You'll implement PID/mount/network namespace isolation, memory and CPU resource limits, layered image storage with copy-on-write, and the full container lifecycle. By the end you'll deeply understand what Docker, Podman, runc, and containerd actually do.
advanced19 lessons~5h - 06
Build a Bot Framework
Not startedBuild a Discord/Telegram-style bot framework: event loop + dispatch, command parsing with prefixes/aliases, permission + role checks, rate limiting (token bucket), persistent state, webhooks vs polling, and the architecture behind discord.py, Bolt SDK.
intermediate10 lessons~3h - 07
Build a Text Editor
Not startedBuild a Vim/Kilo-style text editor: gap buffer / piece table / rope data structures, line indexing, cursor and selection, undo/redo via command pattern, terminal rendering with ANSI escapes, search and replace. The data structures behind VS Code, Sublime, Emacs.
advanced14 lessons~4h - 08
Build a Frontend Framework (Virtual DOM)
Not startedBuild a tiny React: virtual DOM tree, components as functions, props + children, the diffing reconciliation algorithm with keys, useState and useEffect hooks, event delegation, and the architecture behind React, Vue, Preact.
advanced14 lessons~4h
Create a free account to track your progress across this path.