Build Your Own X: The 480k-Star Curriculum That Teaches by Rebuilding
A single Markdown file of curated tutorials became GitHub's most starred repository, proved the Feynman method at mass scale, and turned into a venture-backed company.
- Build-your-own-x is a curated Markdown file of 200+ tutorials across 30+ categories that teach programming by having you rebuild real technologies from scratch.
- Created by Daniel Stefanovic in 2018 and now maintained by CodeCrafters (YC S22), it became the single most starred repository on all of GitHub with 480,000+ stars.
- The collection spans everything from operating systems and compilers to neural networks and blockchains, covering 20+ programming languages.
- CodeCrafters turned the open-source index into a venture-backed startup offering interactive, guided versions of these challenges for senior engineers.
One Markdown File to Rule Them All
In May 2018, developer Daniel Stefanovic pushed a single README.md to GitHub. The premise was simple: collect the best tutorials that teach you how to build real technologies from scratch. Not toy examples. Not library integrations. Full implementations that force you to understand every layer.
The repo opens with a Richard Feynman quote: "What I cannot create, I do not understand." That line became the project's thesis and its rallying cry. Eight years later, the repository holds 480,000+ stars, making it the most starred project on all of GitHub.
The entire thing is one file. No framework. No app. No build step. Just a carefully organized list of links in Markdown, each pointing to a tutorial that walks you through implementing something real.
"What I cannot create, I do not understand."
What Gets Curated (and What Doesn't)
Build-your-own-x has a strict editorial line. Every included tutorial must guide the reader through building a technology from scratch. Tutorials that teach you how to use a library or integrate an API are rejected. The bar is "could you explain every line of what you built?"
The categories cover a staggering range. Systems programming dominates with operating systems (18 tutorials), emulators (13), and shells (7). Web technologies include front-end frameworks (14 tutorials recreating React, Angular, Redux), web servers (10), and even full web browsers (2). Infrastructure tutorials walk you through building Docker, Git, databases, BitTorrent clients, and blockchains.
Then there are the categories that surprise newcomers: programming languages (28 compiler and interpreter tutorials), regex engines (9), physics engines (6), 3D renderers (11), and a growing AI section covering neural networks, LLMs, diffusion models, and RAG systems from scratch.
The Language Buffet
One of the collection's quiet strengths is its language diversity. The same concept appears in multiple languages. Want to build a BitTorrent client? Pick from C#, Go, Nim, Node.js, or Python. A blockchain? Choose from 12 different languages including ATS, Crystal, Kotlin, and Scala.
This is not accidental. It reflects how experienced developers actually learn. You pick a project that interests you, then use it as a vehicle to learn a new language. Building a Redis clone in Rust teaches you Rust's ownership model in a way no textbook can. Implementing a shell in Go teaches goroutines through real concurrency problems.
Python and JavaScript dominate the tutorial count, but C and C++ own the systems categories. Rust has been steadily climbing, with tutorials for operating systems, browsers, DNS servers, text editors, chat servers, and game engines. Go covers infrastructure particularly well with Docker, databases, and networking projects.
Why "Build From Scratch" Works
The Feynman learning method has a specific mechanism. When you build something from scratch, you hit knowledge gaps that reading documentation alone never reveals. You discover why hash tables need collision handling by watching your implementation break. You learn why TCP needs a three-way handshake by building a network stack that fails without one.
This approach inverts the typical tutorial structure. Most programming courses start with theory and work toward practice. Build-from-scratch tutorials start with a goal and force you to discover the theory yourself. The "aha" moments are deeper because you earned them through debugging.
The approach also produces transferable understanding. After building a simple database from scratch using B+ trees, you understand why PostgreSQL makes certain design decisions. After implementing a virtual DOM, React's reconciliation algorithm stops looking like magic. The tutorials create a mental model that applies far beyond the specific project.
"It's a great way to learn."
The Greatest Hits
Some tutorials in the collection have achieved legendary status in the programming community. "Build Your Own Text Editor" (the kilo tutorial in C) is a masterclass in terminal programming that walks you through building a complete editor in about 1,000 lines. "Writing an OS in Rust" by Philipp Oppermann became the go-to resource for operating system development in Rust.
"Crafting Interpreters" by Robert Nystrom, listed in the programming languages section, evolved from a web tutorial into a published book and is widely considered one of the best technical books of the decade. "Let's Build a Simple Database" teaches B-tree implementation through a SQLite clone. "Browser Engineering" walks you through building a web browser in Python, covering layout engines, rendering, and JavaScript execution.
The neural network section has exploded in recent years. Andrej Karpathy's "Neural Networks: Zero to Hero" video series and Sebastian Raschka's "LLMs from Scratch" both appear here. These are not toy demos. They are serious implementations that teach the math and architecture decisions behind modern AI.
From Index to Company
The repository's influence did not stay on GitHub. In 2022, Sarup Banskota and Paul Kuruvilla founded CodeCrafters, a Y Combinator-backed startup that took the build-your-own-x concept and made it interactive. The two had met during IIT prep school in Chennai and shared a conviction that senior engineers learn best through hard implementation challenges, not video courses.
CodeCrafters acquired stewardship of the build-your-own-x repository and built a paid platform around the same idea. On codecrafters.io, you build Redis, Git, SQLite, Docker, DNS servers, HTTP servers, and BitTorrent clients from scratch. The platform provides test suites, real-time feedback, and progression tracking. You write real code in your own editor and push it through Git.
The startup raised a $1.8 million seed round with a remarkable cap table. Instagram co-founder Mike Krieger, Dropbox co-founder Arash Ferdowsi, Supabase CEO Paul Copplestone, and PlanetScale co-founder Jitendra Vaidya all invested. The investor list reads like a who's who of infrastructure founders who themselves learned by building.
"Practice writing complex software. Recreate Redis, Git, DNS server, SQLite, and more from scratch."
The Competitive Landscape
Build-your-own-x is not the only project-based learning resource, but it occupies a unique position. The closest competitor is "project-based-learning" by practical-tutorials, another curated GitHub list. ProjectLearn.io offers a browsable web interface for similar tutorials. Exercism, Codecademy, and freeCodeCamp all teach programming through projects, but their challenges tend to be smaller and more guided.
What sets build-your-own-x apart is its editorial strictness and its ambition level. These are not "build a to-do app" tutorials. They are "build an operating system" and "build a compiler" tutorials. The collection targets intermediate-to-advanced developers who already know how to code and want to understand how foundational technologies actually work.
The Nand2Tetris course, listed in the uncategorized section, captures the spirit perfectly. It takes you from raw NAND gates to a working Tetris game, building every layer of a computer along the way. That is the level of depth the collection celebrates.
| Resource | Format | Difficulty | Scope | Cost |
|---|---|---|---|---|
| build-your-own-x | Curated link index | Intermediate to Expert | 200+ tutorials, 30+ categories | Free |
| CodeCrafters | Interactive challenges | Senior engineers | 10+ guided projects | Paid subscription |
| project-based-learning | Curated link index | Beginner to Intermediate | Broad but less strict curation | Free |
| Nand2Tetris | Structured course | Intermediate | One deep vertical (hardware to software) | Free / Coursera |
| Exercism | Small exercises | Beginner to Intermediate | Language-focused, smaller scope | Free |
The Contribution Model
The repository accepts submissions through pull requests and issues. The community proposes new tutorials, and maintainers evaluate whether each one meets the "build from scratch" bar. This curation is what keeps the collection valuable. Many awesome-lists on GitHub devolve into dump-everything collections. Build-your-own-x has maintained a relatively high quality threshold.
The issue tracker reveals the community's appetite. Pending submissions cover emerging areas: build your own LLM inference engine, build your own container orchestrator, build your own vector database. The collection evolves with the industry.
Contribution is also beautifully low-friction. Because the entire project is a single Markdown file, submitting a new tutorial is as simple as adding a line with a language tag, a title, and a URL. No complex build system. No review app. Just Git.
What the Star Count Actually Means
At 480,000+ stars, build-your-own-x regularly trades the top spot on GitHub with freeCodeCamp. But stars are a blunt metric. What matters more is bookmarking behavior. This is a reference people return to. When a developer decides to learn Rust, they search the repo for Rust tutorials. When someone wants to understand how databases work, they browse the database section.
The fork count (45,000+) is also telling. People fork the list to maintain their own curated subset, to track which tutorials they have completed, or to build derivative projects. The repository has been archived dozens of times on the Internet Archive, a sign that people treat it as critical infrastructure for self-directed learning.
The star growth has been remarkably steady. Unlike viral repos that spike and fade, build-your-own-x accumulates stars week after week, year after year. Every time a developer asks "how do I really learn programming?" someone links the repo. That organic recommendation loop is its growth engine.
The Deeper Pattern
Build-your-own-x reveals something important about how software knowledge actually transfers. Documentation tells you what a system does. Source code shows you how. But building a clone from scratch teaches you why.
That "why" is what separates a developer who uses Redis from one who can debug a production Redis cluster at 3 AM. It is what separates someone who deploys Docker containers from someone who can diagnose a namespace isolation failure. The tutorials in this collection create the kind of understanding that only comes from having built the thing yourself.
The repository also demonstrates the power of curation as a product. Daniel Stefanovic did not write any of these tutorials. He organized them. That act of selection, categorization, and quality filtering created more value than most original content. The 480,000 stars are a vote for editorial judgment.
Where It Goes From Here
The AI section is the fastest-growing part of the collection. As large language models, diffusion models, and RAG systems move from research to production, developers want to understand what is actually happening inside these systems. "LLMs from Scratch" by Sebastian Raschka and Karpathy's "Zero to Hero" series are already landmarks. Expect more tutorials covering inference engines, tokenizers, attention mechanisms, and alignment techniques.
The vibe coding movement may also drive growth in an unexpected direction. As AI-assisted coding becomes mainstream, the developers who understand the underlying systems will have an outsized advantage. You cannot effectively prompt an AI to build a database if you do not understand what a B-tree is. Build-your-own-x becomes more valuable, not less, in an AI-assisted world.
CodeCrafters continues to expand its guided challenge catalog. The open-source repo and the commercial product feed each other: the repo surfaces which topics developers care about, and the company builds polished interactive experiences around the most popular ones.
"Master programming by recreating your favorite technologies from scratch."
The Bottom Line
Build-your-own-x is proof that a well-curated list can be more influential than a framework, a platform, or a course. One developer, one Markdown file, and a strict editorial standard created the most starred repository on GitHub. It spawned a Y Combinator startup. And it quietly shaped how hundreds of thousands of developers think about learning.
The next time you want to understand how a piece of technology works, do not just read about it. Build it. The 200+ tutorials in this collection are waiting.