--- 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