Build-Your-Own-X: A Curated Collection of Resources for Mastering Programming Skills
Build-Your-Own-X: A Curated Collection of Resources for Mastering Programming SkillsIntroduction
What is build-your-own-x?
The repository called build-your-own-x collects many great detailed, step-by-step guides and tutorials collections on recreating various technologies from scratch, helping people learn by building all kinds of popular technologies from zero. The idea comes from a quote by Richard Feynman: "What I cannot create, I do not understand," meaning you have to build it yourself to truly understand how a technology works. Emphasizing deep understanding of technology through creation is a great way to learn programming.

Main Content of Own-X
3D Related
3D Renderer: There are introductions tutorials on ray tracing to draw 3D images in C++, as well as tutorials on writing 3D software engines in C#, TypeScript, or JS.
Augmented Reality (AR): There are C# AR introduction tutorial with Vuforia and Unity 3D, and C# tutorial on ARKit (with video).
Network and Distributed Related
BitTorrent Client: There are tutorial on how to make your own BitTorrent client.
Blockchain / Cryptocurrency: For example, a tutorial on building a Proof-of-Stake-based cryptocurrency called NaivecoinStake with TypeScript.
Network Stack: Content on building your own network stack.
Robot Related
Chatbot: There is a tutorial on making a simple Facebook Messenger AI bot with Node.js (using API.ai), as well as a tutorial on building a Slack bot in 20 minutes using Python with the Slack Events API and Django.
Command Line Tool Related: Tutorial on building your own command line tool.
Database Related
Database Building: For example, a tutorial on building a database from scratch in Go, covering persistence, indexing, concurrency, and these aspects.
Container Related: Tutorial on building your own Docker.
Emulator / Virtual Machine Related: Tutorial on building your own emulator or virtual machine.
Front-end Framework / Library Related
React Related: A tutorial on learning how the React Reconciler works by building a lightweight React DOM, as well as a tutorial on building a front-end framework from scratch with components (templates, state, VDOM).
Game Related
Various Game Development: There is a tutorial on building cross-platform Tetris in C++ (mainly covering beginner game logic), a tutorial on building Snake in JS, HTML, and CSS, as well as a tutorial on building games in Python with Pygame.
Version Control Related: Tutorial on building a simple Git client in Python, capable of creating repositories, committing, and pushing code to GitHub.
Network Protocol Stack Related: Content on building your own network stack.
Neural Network Related
Neural Network Building: For example, building a neural network in JS for JS programmers (starting with perceptrons, part one), a tutorial on building a regular expression engine in Python (with different approaches including backtracking, NFA, DFA), and a tutorial on building a neural network from scratch in JS.
Operating System Related
Operating System Development: A video tutorial on building the hardware/software stack in C for a simple computer, including writing a Kernel 201 with keyboard and screen support, as well as a tutorial on learning to build an operating system with the Linux kernel and Raspberry Pi.
Physics Engine Related: Tutorial on building your own physics engine.
Programming Language Related
Various Language Building: Tutorial on building your own Lisp in C (under 1000 lines), "Let's Build a Compiler" with C and x86, a handbook for building interpreters in Java, building a compiler from source to machine code in Python, building your own programming language in Racket, etc.
Regular Expression Engine Related: Tutorial on building regex in JS using a functional approach (with derivatives), and a tutorial on building your own regex engine in Python (with backtracking, NFA, DFA).
Search Engine Related: Tutorial on building your own search engine.
Shell Related: Tutorial on building your own Shell.
Template Engine Related: Tutorial on building your own template engine.
Text Editor Related: Tutorial on building your own text editor.
Visual Recognition System Related
License Plate Recognition: Tutorial on license plate recognition with Python and machine learning.
Face Recognition: Tutorial on the face recognition pipeline with Python and Tensorflow.
Voxel Engine Related: Tutorial on building your own voxel engine.
Web Browser Related: Tutorial on building your own browser.
Web Server Related: Tutorial on building your own server.
Other
From NAND to Tetris: Content on building a modern computer from first principles.
vibe coding Style Tutorial: BYOX tutorial done in the vibe coding style.
C# Networking Related: Includes C# networking tutorials such as building a TCP chat server, TCP game, UDP ping-pong, etc.
C# 3D Animation Related: Tutorial on loading and rendering 3D skeletal animations from scratch in C# and GLSL.
JavaScript Related: For example, implementing the call(), apply(), and bind() methods in JS.
Node.js Related: Includes tutorial on building a simple Single Sign-On (SSO) server and solution from scratch in Node.js.
Python Related: For example, building a simple mobile document scanner in Python in 5 minutes, and a tutorial on building a simple Generative Adversarial Network (GAN) with Tensorflow.
The Own-X repository is suitable for people who want to learn the underlying principles of technology by doing. Whether you are just starting out or have been programming for a long time, you can find content that fits you.
Script Planner Assistant▸
AI Apps
AI News