What Categories of Technologies Are Covered in Build Your Own X?

The Build Your Own X repository organizes tutorials into over 30 distinct technology categories, including 3D renderers, AI models, operating systems, databases, programming languages, and web browsers.

The codecrafters-io/build-your-own-x repository is a curated index of step-by-step tutorials that teach fundamental computing concepts by rebuilding popular technologies from scratch. Each tutorial is grouped under a specific technology category listed in the project's README.md, covering everything from low-level systems programming to modern machine learning pipelines.

Systems and Infrastructure

The repository includes extensive coverage of foundational system software. According to the README.md source, these categories teach core infrastructure concepts:

  • Operating System: Tutorials covering bootloaders, kernels, and minimal OS implementations.
  • Database: Guides for building key-value stores, Redis-like servers, and B-tree based databases.
  • Docker: Container-runtime concepts and minimal container implementations from scratch.
  • Web Server: HTTP handling, request routing, and connection management.
  • Network Stack: TCP/IP, UDP, and raw socket programming implementations.
  • Distributed Systems: Kafka-like streaming platforms and related distributed computing concepts.
  • Shell: Unix-style command interpreters with piping and job control.
  • Git: Re-implementations of core Git commands and object storage mechanisms.

Artificial Intelligence and Machine Learning

Modern AI concepts are well-represented with practical implementation guides:

  • AI Model: Tutorials on large language models, diffusion models, and retrieval-augmented generation.
  • Neural Network: Simple perceptrons, multilayer nets, and training loops from scratch.
  • Visual Recognition System: Computer vision pipelines for license-plate detection, face recognition, and other CV tasks.

Computer Graphics and Simulation

Graphics programming categories focus on rendering engines and physics:

  • 3D Renderer: Ray-tracing, rasterisation, and soft-engine implementations.
  • Game: Classic 2-D/3-D game engines, physics, and gameplay loops.
  • Physics Engine: Rigid-body dynamics, collision detection, and simulation systems.
  • Voxel Engine: 3-D voxel rendering and world generation techniques.
  • Augmented Reality: AR apps using Unity, Vuforia, OpenCV, and related frameworks.

Developer Tools and Languages

These categories focus on tools programmers use daily:

  • Programming Language: Interpreters, compilers, and REPLs for various syntaxes.
  • Regex Engine: NFA/DFA implementations, back-tracking, and derivative-based parsers.
  • Text Editor: Minimal editors (e.g., kilo) and richer multi-buffer editors.
  • Command-Line Tool: Small CLI utilities such as cowsay, fortune, and git-contributions.
  • Template Engine: String interpolation, micro-templating, and rendering pipelines.
  • Web Browser: Layout engines, rendering pipelines, and networking stacks.
  • Front-end Framework / Library: DIY React-like renderers, JSX implementations, Redux clones, and mini-frameworks.

Networking and Communication

Peer-to-peer and communication protocols:

  • BitTorrent Client: Peer-to-peer file-sharing client implementations.
  • Bot: IRC, Discord, Telegram, Slack, and other chat-bot examples.
  • Search Engine: Indexing systems, TF-IDF scoring, and basic crawling pipelines.

Hardware and Low-Level Computing

Close-to-the-metal implementations:

  • Processor: Simple CPU designs in Verilog or other HDLs.
  • Memory Allocator: Low-level malloc/free implementations.
  • Emulator / Virtual Machine: Byte-code interpreters, Game Boy, CHIP-8, and VM cores.

Blockchain and Cryptocurrency

  • Blockchain / Cryptocurrency: Tutorials for building simple blockchains, proof-of-work algorithms, and cryptocurrencies.

Uncategorized Projects

  • Uncategorized: Miscellaneous "from-first-principles" projects such as NAND-to-Tetris and other comprehensive computing courses.

Repository Structure and Navigation

The definitive source for all categories resides in the README.md file at the repository root. This file serves as the central catalogue, with each category anchored by a markdown header (e.g., ## Build your own 3D Renderer) containing curated links to external tutorials.

Contributors looking to add new tutorials should reference .github/ISSUE_TEMPLATE.md, which provides guidelines for submitting new "Build Your Own" entries to the collection.

Getting Started: Minimal Examples

While the repository itself contains curated links rather than runnable code, below are illustrative snippets showing how you might begin projects in three different categories:


# Example: Minimal "Hello, World" style project for three different categories

# 1️⃣ 3D Renderer (Python + Pillow)

from PIL import Image, ImageDraw
im = Image.new('RGB', (200, 200), (0, 0, 0))
draw = ImageDraw.Draw(im)
draw.rectangle([50, 50, 150, 150], outline='white')
im.save('renderer_demo.png')

# 2️⃣  Bot (Telegram Bot using python‑telegram‑bot)

# pip install python-telegram-bot

from telegram import Bot
bot = Bot(token='YOUR_TOKEN')
bot.send_message(chat_id='YOUR_CHAT_ID', text='Hello from Build‑Your‑Own Bot!')

# 3️⃣  Shell (very simple REPL in Go)

# package main

# import ("bufio"; "fmt"; "os")

# func main() {

#   r := bufio.NewReader(os.Stdin)

#   for {

#       fmt.Print("> ")

#       line, _ := r.ReadString('\n')

#       fmt.Printf("You typed: %s", line)

#   }

# }

Note: These snippets are illustrative only; each category's real tutorial links in the README.md provide comprehensive implementations from scratch.

Summary

  • Build Your Own X contains over 30 technology categories spanning systems programming, AI, graphics, and hardware.
  • Categories are organized in the repository's README.md with curated external tutorials for each topic.
  • Coverage ranges from high-level applications (web browsers, AI models) to low-level systems (operating systems, memory allocators, processors).
  • The collection includes modern infrastructure (Docker, distributed systems) alongside classic computing concepts (emulators, programming languages).
  • New contributions are managed through .github/ISSUE_TEMPLATE.md to maintain quality and consistency.

Frequently Asked Questions

How many technology categories are included in Build Your Own X?

The repository currently features over 30 distinct technology categories, ranging from 3D Renderer and AI Model to Operating System and Web Browser. The exact count expands periodically as the maintainers merge new tutorials via the contribution template in .github/ISSUE_TEMPLATE.md.

Where can I find the complete list of Build Your Own X tutorials?

The complete categorized list resides in the README.md file at the repository root. Each category is organized under an ATX-style markdown header (e.g., ## Build your own Database) containing curated links to step-by-step tutorials from various authors and educational platforms.

Can I contribute a new tutorial category to the repository?

Yes, new tutorials are welcomed through the repository's issue template. Contributors should follow the guidelines in .github/ISSUE_TEMPLATE.md when submitting links to "Build Your Own" style tutorials. While new categories are occasionally added, most contributions fit into existing categories like Programming Language, Game, or Command-Line Tool.

What programming languages are used in the Build Your Own X tutorials?

The tutorials span virtually all major programming languages. You will find implementations in Python, JavaScript, Go, Rust, C, C++, Java, and many others. Each category typically includes tutorials in multiple languages, allowing you to learn concepts in your preferred environment while understanding language-agnostic principles.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →