One GitHub repo, 562k stars, 29 categories and 360 step-by-step guides to rebuild real technologies from scratch: Git, a database, a shell, a web server, even an operating system. Here is the link, my beginner picks, and the order I'd follow.
Ordered from easiest to hardest. Pick a language you already know a little.
| # | Build | Guide | Level |
|---|---|---|---|
| 01 | Command-line tool Node.js | Create a CLI tool in JavaScript How CLIs read arguments and files. | Easy |
| 02 | Bot Node.js | Create a Discord bot (discord.js guide) Events, APIs and tokens. | Easy |
| 03 | Regex engine JavaScript | Build a Regex Engine in Less than 40 Lines of Code Recursion and pattern matching. | Easy |
| 04 | Web server Python | Let's Build A Web Server HTTP, sockets, requests and responses. | Easy–Medium |
| 05 | Web server Node.js | Build Your Own Web Server From Scratch In JavaScript HTTP in depth, streams. | Medium |
| 06 | Shell C | Tutorial – Write a Shell in C Processes, fork/exec, how a terminal runs commands. | Medium |
| 07 | Git Python | Write yourself a Git! Objects, hashes, commits: how Git really works. | Medium |
| 08 | Git Python | ugit: Learn Git Internals by Building Git Yourself Same idea, in small steps. | Medium |
| 09 | Database C | Let's Build a Simple Database Storage on disk, B-trees, a tiny SQL. | Medium |
| 10 | Text editor C | Build Your Own Text Editor (kilo) Terminal raw mode, rendering, files. | Medium |
| 11 | Programming language C | Build Your Own Lisp Parsing, evaluation, how languages run. | Hard |
| 12 | AI model Python | LLMs from scratch How a large language model is built and trained. | Hard |
| 13 | Operating system C | The little book about OS development Booting, kernel, memory, drivers. | Hard |
Plus a section for distributed systems and an "Uncategorized" list. 360 guides in total.