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

> Explore Build Your Own X tutorials and discover over 30 technology categories like AI models, databases, operating systems, and programming languages. Build your skills today.

- Repository: [CodeCrafters/build-your-own-x](https://github.com/codecrafters-io/build-your-own-x)
- Tags: tutorial
- Published: 2026-02-23

---

**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`](https://github.com/codecrafters-io/build-your-own-x/blob/main/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`](https://github.com/codecrafters-io/build-your-own-x/blob/main/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`](https://github.com/codecrafters-io/build-your-own-x/blob/main/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`](https://github.com/codecrafters-io/build-your-own-x/blob/main/.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:

```python

# 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`](https://github.com/codecrafters-io/build-your-own-x/blob/main/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`](https://github.com/codecrafters-io/build-your-own-x/blob/main/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`](https://github.com/codecrafters-io/build-your-own-x/blob/main/.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`](https://github.com/codecrafters-io/build-your-own-x/blob/main/.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`](https://github.com/codecrafters-io/build-your-own-x/blob/main/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`](https://github.com/codecrafters-io/build-your-own-x/blob/main/.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.