3.7 KiB
3.7 KiB
title, source, author, published, created, description, tags
| title | source | author | published | created | description | tags | ||||
|---|---|---|---|---|---|---|---|---|---|---|
| codecrafters-io/build-your-own-x:Master programming by recreating your favorite technologies from scratch. | https://github.com/codecrafters-io/build-your-own-x?tab=readme-ov-file#build-your-own-insert-technology-here | shenwei | 2026-01-01 | Master programming by recreating our favorite technologies from scratch. |
|
codecrafters-io/build-your-own-x
Source File
Overview
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 Tools
- 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 - Java implementation
- Write Yourself a Scheme in 48 Hours - Haskell
- Build Your Own Lisp - C in 1000 lines
- Make a Lisp (mal) - Implementations in any language
Operating Systems
- Linux from Scratch
- Writing an OS in Rust
- Operating Systems: From 0 to 1
- The little book about OS development
Databases
- Let's Build a Simple Database - C
- Build Your Own Redis from Scratch - C++
- Build Your Own Database from Scratch - Go
Web Technologies
- Let's Build a Web Server - Python
- Browser Engineering - Python
- Let's build a browser engine - Rust
Git
- Gitlet - JavaScript
- Write yourself a Git! - Python
- ugit: Learn Git Internals - Python
Contributing
Contributions are welcome! Submit a PR or create an issue to add new tutorials.
Resources
- CodeCrafters - Interactive challenges based on this repository