whatisgithub

What is build-your-own-x?

codecrafters-io/build-your-own-x — explained in plain English

Analysis updated 2026-05-18

499,476MarkdownAudience · developerComplexity · 1/5Setup · easy

In one sentence

A curated index of step-by-step tutorials for building well-known technologies from scratch, databases, Git, web servers, neural networks, and more, to deepen your understanding through hands-on implementation.

Mindmap

mindmap
  root((repo))
    What it does
      Curated tutorials
      Build from scratch
      Learn by doing
    Categories
      Databases
      Web servers
      Programming languages
      Games and graphics
    How to use
      Pick a topic
      Choose a language
      Follow external guide
    Use cases
      Interview prep
      Side projects
      Learn new language
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Prepare for technical interviews by building real systems like databases or compilers from scratch.

USE CASE 2

Learn a new programming language by re-implementing a familiar tool like Git or a web server.

USE CASE 3

Find a structured side project that teaches you how a technology actually works under the hood.

USE CASE 4

Teach yourself systems concepts by following step-by-step guides to build operating systems or emulators.

What is it built with?

Markdown

How does it compare?

codecrafters-io/build-your-own-xlabuladong/fucking-algorithmtldr-pages/tldr
Stars499,476133,38962,380
LanguageMarkdownMarkdownMarkdown
Setup difficultyeasyeasyeasy
Complexity1/51/51/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min
License could not be detected automatically. Check the repository's LICENSE file before use.

So what is it?

This repository is a curated index of step-by-step guides for re-creating well-known technologies from scratch. The philosophy is captured by a Richard Feynman line printed near the top of the README: "What I cannot create, I do not understand." The idea is that you learn a technology most deeply by trying to rebuild it yourself rather than only reading about it. The README organizes the material as a long table of contents. Categories include 3D renderers, AI models, augmented reality, BitTorrent clients, blockchains and cryptocurrencies, bots, command-line tools, databases, distributed systems, Docker, emulators and virtual machines, front-end frameworks, games, Git, memory allocators, network stacks, neural networks, operating systems, physics engines, processors, programming languages, regex engines, search engines, shells, template engines, text editors, visual recognition systems, voxel engines, web browsers, and web servers, plus an uncategorized bucket at the end. Each category links out to external tutorials, blog posts, and books that walk through implementing that technology. Every entry is tagged by the programming language it uses, for example C++, Python, Go, Java, JavaScript, Ruby, Kotlin, Scala, Crystal, Nim, or TypeScript. A single category often spans many languages, so a reader can usually find a tutorial in the language they already know. You would use this collection when you want to move past tutorials that mostly wire pre-built libraries together, and instead see how a database, a Git clone, a tiny blockchain, or a small operating system is actually constructed under the hood. Because the resource is itself a list of pointers to other people's writing, the project is in effect a curated awesome-list (one of the repo's own tagged topics) written in Markdown, not runnable code that you clone and execute.

Copy-paste prompts

Prompt 1
I want to understand how databases work. What tutorial from build-your-own-x should I follow, and what language should I use?
Prompt 2
Show me a build-your-own-x tutorial for creating a web server in Python, and outline the main steps I'd need to implement.
Prompt 3
I'm learning Rust. What are some good build-your-own-x projects I can tackle to practice the language?
Prompt 4
Help me pick a build-your-own-x project that would be useful for my technical interview prep in systems design.
Prompt 5
What's a good build-your-own-x tutorial for understanding how Git version control actually works internally?

Frequently asked questions

What is build-your-own-x?

A curated index of step-by-step tutorials for building well-known technologies from scratch, databases, Git, web servers, neural networks, and more, to deepen your understanding through hands-on implementation.

What language is build-your-own-x written in?

Mainly Markdown. The stack also includes Markdown.

What license does build-your-own-x use?

License could not be detected automatically. Check the repository's LICENSE file before use.

How hard is build-your-own-x to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is build-your-own-x for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.