explaingit

codecrafters-io/build-your-own-x

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

TLDR

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

Things people build with this

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.

Tech stack

Markdown

Getting it running

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

In plain English

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?
Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub codecrafters-io on gitmyhub

Verify against the repo before relying on details.