Curated collection of 300+ step-by-step guides for building foundational technologies from scratch. 30 categories: databases, Docker, Git, OS, compilers, neural networks, web servers, shells, blockchain, BitTorrent, game engines, regex engines, searc
Scanned 6/3/2026
Install via CLI
openskills install mahmoud20138/Tradecraft---
name: build-your-own-x
description: Curated collection of 300+ step-by-step guides for building foundational technologies from scratch. 30 categories: databases, Docker, Git, OS, compilers, neural networks, web servers, shells, blockchain, BitTorrent, game engines, regex engines, searc
kind: reference
category: dev/architecture
status: active
tags: [architecture, build, dev, own, your]
related_skills: [agentic-storage, gitnexus-codebase-intelligence]
---
# build-your-own-x
USE FOR:
- "build X from scratch / implement X yourself"
- "how does Docker/Git/database/web server actually work"
- "deep dive into how technology X is implemented"
- "learning compilers / interpreters / OS / networking internals"
- "implement neural network from scratch"
- "write your own shell / regex engine / search engine"
- "understand blockchain / BitTorrent internals"
tags: [education, from-scratch, systems, compilers, OS, database, Docker, Git, neural-network, blockchain, web-server, shell, regex]
kind: reference
category: pro-code-architecture
---
## What Is Build-Your-Own-X?
Curated repo of step-by-step tutorials for recreating popular technologies from scratch.
> "What I cannot create, I do not understand." — Richard Feynman
- Repo: https://github.com/codecrafters-io/build-your-own-x
- 300+ tutorials · 30 categories · 20+ programming languages
- Stars: 330,000+ (one of the most-starred repos on GitHub)
---
## Complete Category Reference
| # | Category | What You Build | Languages |
|---|----------|---------------|-----------|
| 1 | **3D Renderer** | Ray tracer, rasterizer, path tracer | C, C++, Java, JS, Python, Rust |
| 2 | **AI Model** | GPT, diffusion model, CLIP, NeRF | Python, C++ |
| 3 | **Augmented Reality** | AR overlay, marker tracking | JS, Python |
| 4 | **BitTorrent Client** | Peer-to-peer file sharing | Go, Haskell, JS, Python, Rust |
| 5 | **Blockchain / Crypto** | Bitcoin-like chain, smart contracts | Go, Haskell, Java, JS, Python, Rust |
| 6 | **Bot** | Chatbot, IRC bot, Slack bot | Go, Java, JS, Python |
| 7 | **Command-Line Tool** | CLI parser, progress bar, formatter | Go, Python, Rust |
| 8 | **Database** | SQL engine, key-value store, Redis clone | C, C++, Go, Java, Python, Rust |
| 9 | **Docker** | Container runtime, image builder | Go, Python |
| 10 | **Emulator / VM** | CHIP-8, NES, Game Boy emulator | C, C++, Go, Java, JS, Rust |
| 11 | **Frontend Framework** | React-like library, virtual DOM, JSX | JS, TS |
| 12 | **Game** | Tetris, chess, Minecraft clone | C, C++, Go, Java, JS, Python |
| 13 | **Git** | Version control from scratch | Go, Python, Haskell, Ruby |
| 14 | **Memory Allocator** | malloc/free implementation | C |
| 15 | **Network Stack** | TCP/IP stack, HTTP client | C, Go, Python |
| 16 | **Neural Network** | Backprop from scratch, CNN, RNN | C, C++, Java, JS, Python |
| 17 | **Operating System** | Bootloader, kernel, process scheduler | C, Rust |
| 18 | **Physics Engine** | Rigid body, collision detection | C++, JS |
| 19 | **Processor** | RISC-V CPU in HDL or emulation | C, Python |
| 20 | **Programming Language** | Interpreter, compiler, VM, LISP | C, Go, Haskell, Java, JS, Python, Rust |
| 21 | **Regex Engine** | NFA/DFA regex from scratch | C, Go, Java, JS, Python |
| 22 | **Search Engine** | Inverted index, TF-IDF, BM25 | Python, Ruby |
| 23 | **Shell** | Bash-like shell, job control | C, Go, Python, Rust |
| 24 | **Template Engine** | Jinja/Mustache-like | JS, Python |
| 25 | **Text Editor** | Vim-like, kilo editor | C |
| 26 | **Visual Recognition** | MNIST classifier, face detection | Python |
| 27 | **Voxel Engine** | Minecraft-style 3D world | C++ |
| 28 | **Web Browser** | HTML parser, CSS layout, DOM | Python, Haskell |
| 29 | **Web Server** | HTTP/1.1, static file server | C, Go, Java, Python, Rust |
| 30 | **Distributed Systems** | Kafka-like, Raft consensus, MapReduce | Go, Java, Python |
---
## Quick Lookup: "Build Your Own X" by Language
### Python
- Neural network (numpy only), web server, shell, regex engine,
search engine, blockchain, BitTorrent, Docker, browser, Git, database (Redis/SQLite clone)
### Go
- Docker, Git, BitTorrent client, web server, shell, database, distributed systems (Raft/Kafka)
### Rust
- OS kernel, web server, shell, regex engine, database, 3D renderer, BitTorrent
### C / C++
- OS, memory allocator, text editor (kilo), 3D renderer, shell, neural network, database
### JavaScript / TypeScript
- Frontend framework (React clone), game, bot, blockchain, web server, template engine
### Java
- Blockchain, compiler, neural network, distributed systems
---
## Learning Path Recommendations
### Systems Programming Track
```
1. Memory Allocator (C) → understand heap
2. Shell (C/Go/Rust) → processes, I/O, signals
3. Network Stack (C/Go) → TCP/IP fundamentals
4. Web Server (Go/Rust) → HTTP, concurrency
5. Operating System (C/Rust) → kernel, scheduling
```
### Compiler / Language Track
```
1. Regex Engine → NFA/DFA automata
2. Template Engine → parsing basics
3. Interpreter (LISP/calc) → AST, evaluation
4. Full Language (Python/Rust) → lexer → parser → codegen
```
### AI / ML Track
```
1. Neural Network (numpy/C) → backprop from scratch
2. Visual Recognition (MNIST) → CNN pipeline
3. AI Model (GPT-like) → transformer architecture
4. Diffusion Model → score-based generation
```
### Distributed Systems Track
```
1. BitTorrent Client → P2P, DHT
2. Blockchain → consensus, hashing
3. Kafka-like queue → log-structured storage
4. Raft consensus → leader election
5. MapReduce → distributed computation
```
### Database Track
```
1. Key-value store (Redis clone) → in-memory, persistence
2. SQL engine → parsing, query planning
3. B-tree storage engine → disk I/O, indexing
4. Full RDBMS → joins, transactions, ACID
```
---
## CodeCrafters Integration
Many guides are also available as interactive challenges at **codecrafters.io**:
- Build Redis, Git, Docker, HTTP server, SQLite, Kafka, BitTorrent
- Get automated test feedback as you build
- Supported languages: Go, Python, Rust, Java, C, C++, and more
---
## Using This as a Skill Reference
When a user asks "how does X work?" or "implement X from scratch":
1. Find X in the category table above
2. Route to the tutorial in preferred language
3. Use the learning path recommendations for sequencing
4. CodeCrafters for interactive guided versions
---
No comments yet. Be the first to comment!