Files
nexus/wiki/sources/codecrafters-iobuild-your-own-x-master-programming-by-recreating-your-favorite-technologies-from-scratch.md
2026-04-21 16:03:27 +08:00

99 lines
3.7 KiB
Markdown

---
title: codecrafters-io/build-your-own-x:Master programming by recreating your favorite technologies from scratch.
source: https://github.com/codecrafters-io/build-your-own-x?tab=readme-ov-file#build-your-own-insert-technology-here
author: shenwei
published:
created: 2026-01-01
description: Master programming by recreating our favorite technologies from scratch.
tags: [build-your-own-x, byox, codecrafters, github]
---
# codecrafters-io/build-your-own-x
## Source File
- [[raw/AI/codecrafters-iobuild-your-own-x Master programming by recreating your favorite technologies from scratch.md]]
## Overview
**[build-your-own-x](https://github.com/codecrafters-io/build-your-own-x)** is a compilation of well-written, step-by-step guides for recreating our favorite technologies from scratch.
> *What I cannot create, I do not understand — Richard Feynman.*
## Core Philosophy
The fundamental principle behind this project is that **learning by creating is the most effective way to truly understand a technology**. Instead of just consuming knowledge passively, practitioners rebuild complex systems from scratch, gaining deep insight into how they work internally.
## Technology Categories
This repository covers **26 major technology domains**:
- [[3D Renderer]]
- [[Augmented Reality]]
- [[BitTorrent Client]]
- [[Blockchain / Cryptocurrency]]
- [[Bot]] Development
- [[Command-Line Tool]]s
- [[Database]]
- [[Docker]]
- [[Emulator / Virtual Machine]]
- [[Front-end Framework / Library]]
- [[Game]] Development
- [[Git]]
- [[Network Stack]]
- [[Neural Network]]
- [[Operating System]]
- [[Physics Engine]]
- [[Programming Language]]
- [[Regex Engine]]
- [[Search Engine]]
- [[Shell]]
- [[Template Engine]]
- [[Text Editor]]
- [[Visual Recognition System]]
- [[Voxel Engine]]
- [[Web Browser]]
- [[Web Server]]
## Related Concepts
- [[Byox]] - The methodology of learning programming by rebuilding technologies from scratch
- [[Learn In Public]] - Sharing learning progress publicly
- [[CodeCrafters]] - The platform that maintains this repository and provides interactive challenges
## Notable Tutorials
### Programming Languages
- [Crafting Interpreters](http://www.craftinginterpreters.com/) - Java implementation
- [Write Yourself a Scheme in 48 Hours](https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours) - Haskell
- [Build Your Own Lisp](http://www.buildyourownlisp.com/) - C in 1000 lines
- [Make a Lisp (mal)](https://github.com/kanaka/mal) - Implementations in any language
### Operating Systems
- [Linux from Scratch](https://linuxfromscratch.org/lfs)
- [Writing an OS in Rust](https://os.phil-opp.com/)
- [Operating Systems: From 0 to 1](https://tuhdo.github.io/os01/)
- [The little book about OS development](https://littleosbook.github.io/)
### Databases
- [Let's Build a Simple Database](https://cstack.github.io/db_tutorial/) - C
- [Build Your Own Redis from Scratch](https://build-your-own.org/redis) - C++
- [Build Your Own Database from Scratch](https://build-your-own.org/database/) - Go
### Web Technologies
- [Let's Build a Web Server](https://ruslanspivak.com/lsbaws-part1/) - Python
- [Browser Engineering](https://browser.engineering/) - Python
- [Let's build a browser engine](https://limpet.net/mbrubeck/2014/08/08/toy-layout-engine-1.html) - Rust
### Git
- [Gitlet](http://gitlet.maryrosecook.com/docs/gitlet.html) - JavaScript
- [Write yourself a Git!](https://wyag.thb.lt/) - Python
- [ugit: Learn Git Internals](https://www.leshenko.net/p/ugit/) - Python
## Contributing
Contributions are welcome! Submit a PR or [create an issue](https://github.com/codecrafters-io/build-your-own-x/issues/new) to add new tutorials.
## Resources
- [CodeCrafters](https://codecrafters.io/) - Interactive challenges based on this repository