Skip to content
Learning path

Developer Tooling

Build the tools you use every day — git, package managers, CI runners, cron, Docker, text editors, frontend frameworks.

mixed8 courses109 lessons~27 hoursFree
Start pathor sign up to track progress

Course sequence

  1. 01

    Build Your Own Git

    Not started

    Build 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
  2. 02

    Build Your Own Package Manager

    Not started

    Build 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
  3. 03

    Build a CI Runner

    Not started

    Build 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
  4. 04

    Build a Cron Scheduler from Scratch

    Not started

    Build 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
  5. 05

    Build Your Own Docker

    Not started

    Build 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
  6. 06

    Build a Bot Framework

    Not started

    Build 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
  7. 07

    Build a Text Editor

    Not started

    Build 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
  8. 08

    Build a Frontend Framework (Virtual DOM)

    Not started

    Build 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.

Developer Tooling