🖥️
3D Renderer
10
C++Introduction to Ray Tracing: a Simple Method for Creating 3D Images⭐⭐⭐→
C++How OpenGL works: software rendering in 500 lines of code⭐⭐⭐⭐→
C++Raycasting engine of Wolfenstein 3D⭐⭐⭐→
C++Physically Based Rendering: From Theory To Implementation⭐⭐⭐⭐⭐→
C++Ray Tracing in One Weekend⭐⭐→
C# / TS / JSLearning how to write a 3D soft engine from scratch⭐⭐⭐→
JavaHow to create your own simple 3D render engine in pure Java⭐⭐⭐→
JavaScriptComputer Graphics from scratch⭐⭐→
PythonA 3D Modeller⭐⭐→
🤖
AI Model
8
PythonA Large Language Model (LLM) from Scratch⭐⭐⭐⭐⭐→
PythonBuild GPT: Reproduce GPT-2 from Scratch⭐⭐⭐⭐⭐→
PythonBuilding a Transformer from Scratch⭐⭐⭐⭐→
PythonDiffusion Models for Image Generation⭐⭐⭐⭐→
PythonRAG for Document Search from Scratch⭐⭐⭐→
PythonLet's build the GPT Tokenizer⭐⭐⭐→
PythonWord2Vec from Scratch with NumPy⭐⭐→
PythonNeural Networks: Zero to Hero (Karpathy)⭐⭐⭐⭐→
⛓️
Blockchain / Cryptocurrency
10
PythonLet's Build the Tiniest Blockchain⭐→
PythonLearn Blockchains by Building One⭐⭐→
JavaScriptBuild your own Blockchain in JavaScript⭐⭐→
GoBuilding Blockchain in Go⭐⭐⭐→
TypeScriptNaivecoin: a tutorial for building a cryptocurrency⭐⭐⭐→
TypeScriptNaivecoinStake: cryptocurrency with Proof of Stake⭐⭐⭐⭐→
RustBuilding A Blockchain in Rust & Substrate⭐⭐⭐⭐→
JavaCreating Your First Blockchain with Java⭐⭐→
KotlinLet's implement a cryptocurrency in Kotlin⭐⭐⭐→
🗄️
Database
10
CLet's Build a Simple Database⭐⭐⭐⭐→
C++Build Your Own Redis from Scratch⭐⭐⭐⭐→
GoBuild Your Own Database: From B+Tree To SQL in 3000 Lines⭐⭐⭐⭐⭐→
GoBuild Your Own Redis from Scratch — Go Edition⭐⭐⭐→
JavaScriptDagoba: an in-memory graph database⭐⭐⭐→
PythonDBDB: Dog Bed Database⭐⭐→
PythonWrite your own miniature Redis with Python⭐⭐→
RubyBuild your own fast, persistent KV store in Ruby⭐⭐⭐→
RustBuild your own Redis client and server⭐⭐⭐→
🐳
Docker / Container
6
CLinux containers in 500 lines of code⭐⭐⭐⭐→
GoBuild Your Own Container Using Less than 100 Lines of Go⭐⭐⭐→
GoBuilding a container from scratch in Go⭐⭐⭐→
PythonA workshop on Linux containers: Rebuild Docker from Scratch⭐⭐⭐→
PythonA proof-of-concept imitation of Docker, written in 100% Python⭐⭐→
ShellDocker implemented in around 100 lines of bash⭐⭐→
💻
Emulator / Virtual Machine
9
CWrite your Own Virtual Machine (LC-3)⭐⭐⭐→
CWriting a Game Boy emulator, Cinoop⭐⭐⭐⭐→
C++How to write an emulator (CHIP-8 interpreter)⭐⭐→
C++NES Emulator From Scratch⭐⭐⭐⭐⭐→
HaskellCHIP-8 in Common Lisp⭐⭐⭐→
JavaScriptGameBoy Emulation in JavaScript⭐⭐⭐⭐→
PythonEmulation Basics: Write your own Chip 8 Emulator/Interpreter⭐⭐→
Rust0dmg: Learning Rust by building a partial Game Boy emulator⭐⭐⭐⭐→
⚛️
Front-end Framework / Library
9
JavaScriptBuild your own React⭐⭐⭐→
JavaScriptWTF is JSX (Let's Build a JSX Renderer)⭐⭐⭐→
JavaScriptA DIY guide to build your own React (Didact)⭐⭐⭐→
JavaScriptBuild Yourself a Redux⭐⭐→
JavaScriptHow to write your own Virtual DOM⭐⭐⭐→
JavaScriptBuild Your own Simplified AngularJS in 200 Lines⭐⭐⭐→
JavaScriptGooact: React in 160 lines of JavaScript⭐⭐⭐→
JavaScriptBuilding a frontend framework from scratch with components⭐⭐⭐→
JavaScriptBuilding a Custom React Renderer⭐⭐⭐⭐→
🎮
Game
18
CHandmade Hero — Complete game from scratch⭐⭐⭐⭐⭐→
CHow to Program an NES game in C⭐⭐⭐⭐→
CChess Engine In C⭐⭐⭐⭐→
COn Tetris and Reimplementation⭐⭐→
C++Breakout — LearnOpenGL⭐⭐⭐→
C++Beginning Game Programming v2.0⭐⭐→
C++Space Invaders from Scratch⭐⭐→
C#Learn C# by Building a Simple RPG⭐⭐→
JavaCode a 2D Game Engine using Java — Full Course⭐⭐⭐⭐→
JavaScriptHow to Make Flappy Bird in HTML5 With Phaser⭐→
JavaScriptThink like a programmer: Build Snake with JS, HTML & CSS⭐→
JavaScriptDeveloping Games with React, Redux, and SVG⭐⭐→
LuaBYTEPATH — Complete game in Lua (LÖVE)⭐⭐⭐→
PythonDeveloping Games With PyGame⭐⭐→
PythonRoguelike Tutorial Revised⭐⭐→
RustAdventures in Rust: A Basic 2D Game⭐⭐⭐→
RustRoguelike Tutorial in Rust + tcod⭐⭐⭐→
📦
Git
7
HaskellReimplementing "git clone" in Haskell from the bottom up⭐⭐⭐⭐⭐→
JavaScriptGitlet⭐⭐⭐⭐→
PythonJust enough of a Git client to create a repo, commit, and push itself to GitHub⭐⭐⭐→
PythonWrite yourself a Git!⭐⭐⭐→
Pythonugit: Learn Git Internals by Building Git Yourself⭐⭐⭐→
RubyRebuilding Git in Ruby⭐⭐⭐→
🧬
Neural Network
9
PythonA Neural Network in 11 lines of Python⭐→
PythonImplement a Neural Network from Scratch⭐⭐→
PythonAn Introduction to Convolutional Neural Networks⭐⭐→
PythonGenerate Music using LSTM Neural Network in Keras⭐⭐⭐→
PythonSlowTorch: Implementation of PyTorch from the ground up⭐⭐⭐⭐→
GoBuild a multilayer perceptron with Golang⭐⭐⭐→
JavaScriptNeural networks from scratch for JavaScript linguists — The Perceptron⭐⭐→
C#Neural Network OCR⭐⭐⭐→
🖥️
Operating System
13
AssemblyWriting a Tiny x86 Bootloader⭐⭐⭐⭐→
COperating Systems: From 0 to 1⭐⭐⭐⭐→
CThe little book about OS development⭐⭐⭐→
CRoll your own toy UNIX-clone OS⭐⭐⭐⭐→
CKernel 101 – Let's write a Kernel⭐⭐⭐→
CHow to create an OS from scratch⭐⭐⭐→
CLearning OS development using Linux kernel and Raspberry Pi⭐⭐⭐⭐→
C++Write your own Operating System⭐⭐⭐⭐→
C++Writing a Bootloader⭐⭐⭐→
RustWriting an OS in Rust⭐⭐⭐⭐⭐→
RustAdd RISC-V Rust Operating System Tutorial⭐⭐⭐⭐→
AnyLinux from scratch⭐⭐⭐⭐⭐→
🗣️
Programming Language
17
Anymal — Make a Lisp (in 82+ languages)⭐⭐⭐→
CBuild Your Own Lisp: Learn C and build your own programming language in 1000 lines⭐⭐⭐→
CA journey explaining how to build a C compiler from scratch⭐⭐⭐⭐⭐→
C++Kaleidoscope: Implementing a Language with LLVM⭐⭐⭐⭐→
GoThe Super Tiny Compiler⭐⭐→
HaskellWrite You a Haskell⭐⭐⭐⭐⭐→
HaskellWrite Yourself a Scheme in 48 Hours⭐⭐⭐⭐→
JavaCrafting Interpreters: A handbook for making programming languages⭐⭐⭐⭐→
JavaScriptThe Super Tiny Compiler⭐⭐→
JavaScriptHow to implement a programming language in JavaScript⭐⭐⭐→
PythonA Python Interpreter Written in Python⭐⭐⭐→
PythonLet's Build A Simple Interpreter⭐⭐→
PythonFrom Source Code To Machine Code: Build Your Own Compiler⭐⭐⭐⭐→
RustLearning Parser Combinators With Rust⭐⭐⭐→
TypeScriptBuild your own WebAssembly Compiler⭐⭐⭐⭐→
🐚
Shell
7🔀
Distributed Systems
6
JavaBuilding Your Own Kafka-like System From Scratch⭐⭐⭐⭐→
GoBuild Your Own Distributed Key-Value Store with Raft⭐⭐⭐⭐→
GoLet's Create a Simple Load Balancer⭐⭐→
PythonImplementing Raft Consensus Algorithm from Scratch⭐⭐⭐⭐⭐→
CSol — An MQTT broker from scratch⭐⭐⭐⭐→
LuaBuilding a CDN from Scratch to Learn about CDN⭐⭐⭐⭐→
🖧
Web Server
9
C#Writing a Web Server from Scratch⭐⭐⭐→
Node.jsBuild Your Own Web Server From Scratch In JavaScript⭐⭐⭐→
PHPWriting a webserver in pure PHP⭐⭐→
PythonA Simple Web Server⭐⭐→
PythonLet's Build A Web Server⭐⭐→
PythonBuilding a basic HTTP Server from scratch in Python⭐→
PythonImplementing a RESTful Web API with Python & Flask⭐⭐→
RubyBuilding a simple websockets server from scratch in Ruby⭐⭐⭐→
Node.jslets-build-express — Build Express.js from scratch⭐⭐⭐→
🔍
Regex Engine
6
CA Regular Expression Matcher⭐⭐⭐→
CRegular Expression Matching Can Be Simple And Fast⭐⭐⭐→
GoHow to build a regex engine from scratch⭐⭐⭐→
JavaScriptBuild a Regex Engine in Less than 40 Lines of Code⭐⭐→
JavaScriptImplementing a Regular Expression Engine⭐⭐⭐→
PythonBuild Your Own Regular Expression Engines: Backtracking, NFA, DFA⭐⭐⭐⭐→
✏️
Text Editor
5🌐
Web Browser
3200+
Tutorials
34
Categories
15+
Languages
40+
Video Guides
8
Learning Paths
100%
Free Forever
🗺️
Learning Paths
Systems Programmer
OS, kernel, memory allocators, virtual machines, compilers from scratch.
AI / ML Engineer
From perceptrons to GPT-2. Build every piece of the AI stack yourself.
Web Developer
Web servers, React, Redux, module bundlers, auth systems from the ground up.
Game Developer
Snake to full 3D game engines. Build every component yourself.
Blockchain Developer
Tiniest blockchain to Proof-of-Stake networks. Build crypto from scratch.
Security Engineer
TCP stacks, VPNs, auth systems, debuggers, system calls.
Database Engineer
Redis to distributed SQL. Every storage engine concept from scratch.
Language Designer
Lexers, parsers, GC, type inference, JIT — design your own language.