- 3D Renderer
 - Augmented Reality
 - BitTorrent Client
 - Blockchain / Cryptocurrency
 - Bot
 - Database
 - Docker
 - Emulator
 - Front-end Framework / Library
 - Game
 - Git
 - Network Stack
 - Neural Network
 - Operating System
 - Physics Engine
 - Programming Language
 - Regex Engine
 - Search Engine
 - Shell
 - Template Engine
 - Text Editor
 - Visual Recognition System
 - Web Search Engine
 - Web Server
 - Uncategorized
 
- 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# / TypeScript / JavaScript: Learning how to write a 3D soft engine from scratch in C#, TypeScript or JavaScript
 - Java / JavaScript: Build your own 3D renderer
 - Java: How to create your own simple 3D render engine in pure Java
 - JavaScript / Pseudocode: Computer Graphics from scratch
 - Python: A 3D Modeller
 
- C#: How To: Augmented Reality App Tutorial for Beginners with Vuforia and Unity 3D [video]
 - C#: Windows Mixed Reality Academy [video]
 - C#: How To Unity ARCore [video]
 - C#: AR Portal Tutorial with Unity [video]
 - C#: How to create a Dragon in Augmented Reality in Unity ARCore [video]
 - C#: How to Augmented Reality AR Tutorial: ARKit Portal to the Upside Down [video]
 
- C#: Building a BitTorrent client from scratch in C#
 - Nim: Writing a Bencode Parser
 - Node.js: Write your own bittorrent client
 - Python: A BitTorrent client in Python 3.5
 
- ATS: Functional Blockchain
 - C#: Programming The Blockchain in C#
 - Crystal: Write your own blockchain and PoW algorithm using Crystal
 - Go: Building Blockchain in Go
 - Go: Code your own blockchain in less than 200 lines of Go
 - Java: Creating Your First Blockchain with Java
 - JavaScript: A cryptocurrency implementation in less than 1500 lines of code
 - JavaScript: Build your own Blockchain in JavaScript
 - JavaScript: Learn & Build a JavaScript Blockchain
 - JavaScript: Creating a blockchain with JavaScript [video]
 - JavaScript: How To Launch Your Own Production-Ready Cryptocurrency
 - Python: Learn Blockchains by Building One
 - Python: Build your own blockchain: a Python tutorial
 - Python: A Practical Introduction to Blockchain with Python
 - Python: Let’s Build the Tiniest Blockchain
 - Ruby: Programming Blockchains Step-by-Step (Manuscripts Book Edition)
 - TypeScript: Naivecoin: a tutorial for building a cryptocurrency
 
- Haskell: Roll your own IRC bot
 - Java: How To Make a Scary Russian Twitter Bot With Java
 - Node.js: Creating a Simple Facebook Messenger AI Bot with API.ai in Node.js
 - Node.js: How to make a responsive telegram bot
 - Node.js: Create a Discord bot
 - Node.js: gifbot - Building a GitHub App
 - Python: Chatbot Fundamentals: An interactive guide to writing bots in Python
 - Python: How to Build Your First Slack Bot with Python
 - Python: Build a Reddit Bot
 - Python: How To Make A Reddit Bot [video]
 - Python: How To Create a Telegram Bot Using Python
 - Python: Create a Twitter Bot in Python Using Tweepy
 - Python: Creating Reddit Bot with Python & PRAW [video]
 - R: Build A Cryptocurrency Trading Bot with R
 
- C: Let's Build a Simple Database
 - C++: Implementing a Key-Value Store
 - C#: Build Your Own Database
 - Clojure: An Archaeology-Inspired Database
 - Crystal: Why you should build your own NoSQL Database
 - JavaScript: Dagoba: an in-memory graph database
 - Python: DBDB: Dog Bed Database
 - Python: Write your own miniature Redis with Python
 
- C: Linux containers in 500 lines of code
 - Go: Building a container from scratch in Go [video]
 - Python: A workshop on Linux containers: Rebuild Docker from Scratch
 - Python: A proof-of-concept imitation of Docker, written in 100% Python
 - Shell: Docker implemented in around 100 lines of bash
 
- C++: How to write an emulator (CHIP-8 interpreter)
 - C++: Emulation tutorial (CHIP-8 interpreter)
 - C++: Emulation tutorial (GameBoy emulator)
 - C++: Emulation tutorial (Master System emulator)
 - JavaScript: GameBoy Emulation in JavaScript
 - Python: Emulation Basics: Write your own Chip 8 Emulator/Interpreter
 
- JavaScript: WTF is JSX (Let's Build a JSX Renderer)
 - JavaScript: A DIY guide to build your own React
 - JavaScript: Reverse Engineering React
 - JavaScript: Building React From Scratch [video]
 - JavaScript: Building Your Own React Clone in Five Easy Steps
 - JavaScript: Gooact: React in 160 lines of JavaScript
 - JavaScript: React Internals
 - JavaScript: Build your own Vuejs
 - JavaScript: Build Yourself a Redux
 - JavaScript: Let’s Write Redux!
 - JavaScript: Redux: Implementing Store from Scratch
 - JavaScript: Build Your own Simplified AngularJS in 200 Lines of JavaScript
 - JavaScript: Make Your Own AngularJS
 - JavaScript: How to write your own Virtual DOM
 - JavaScript: Building a frontend framework, from scratch, with components
 
- C: Handmade Hero
 - C: How to Program an NES game in C
 - C: Chess Engine In C [video]
 - C: Let's Make: Dangerous Dave [video]
 - C: Learn Video Game Programming in C [video]
 - C: Coding A Sudoku Solver in C [video]
 - C: Coding a Rogue/Nethack RPG in C [video]
 - C: Tutorial For a Brickout Clone
 - C: A tutorials for a basic Invaders game made in C with GTK: and OpenGL
 - C: Astroids Tutorial written in C using GTK with OpenGL and DashGL for matrix manipulation
 - C: On Tetris and Reimplementation
 - C++: How To Make Minecraft in C++/ OpenGL [video]
 - C++: Breakout
 - C++: Beginning Game Programming v2.0
 - C++: Tetris tutorial in C++ platform independent focused in game logic for beginners
 - C++: Remaking Cavestory in C++
 - C++: Reconstructing Cave Story
 - C++: Space Invaders from Scratch
 - C#: Learn C# by Building a Simple RPG
 - C#: Creating a Roguelike Game in C#
 - Go: Games With Go [video]
 - Java: 3D Game Development with LWJGL 3
 - JavaScript: 2D breakout game using Phaser
 - JavaScript: How to Make Flappy Bird in HTML5 With Phaser
 - JavaScript: Developing Games with React, Redux, and SVG
 - JavaScript: Build your own 8-Ball Pool game from scratch [video]
 - JavaScript: How to Make Your First Roguelike
 - Lua: BYTEPATH
 - Python: Developing Games With PyGame
 - Python: Making Games with Python & Pygame [pdf]
 - Python: The Complete Roguelike Tutorial
 - Ruby: Developing Games With Ruby
 
- Haskell: Reimplementing “git clone” in Haskell from the bottom up
 - JavaScript: Gitlet
 - JavaScript: Build GIT - Learn GIT
 - Python: Just enough of a Git client to create a repo, commit, and push itself to GitHub
 - Ruby: Rebuilding Git in Ruby
 
- C: Beej's Guide to Network Programming
 - C: Let's code a TCP/IP stack
 - Ruby: How to build a network stack in Ruby
 
- C#: Neural Network OCR
 - Go: Build a multilayer perceptron with Golang
 - Go: How to build a simple artificial neural network with Go
 - Go: Building a Neural Net from Scratch in Go
 - Java: Neural Networks: Perceptron [video]
 - JavaScript: Neural Network implementation in JavaScript, by an example
 - JavaScript: Neural networks from scratch for JavaScript linguists (Part1 — The Perceptron)
 - Python: A Neural Network in 11 lines of Python
 - Python: Optical Character Recognition (OCR)
 - Python: Traffic signs classification with a convolutional network
 - Python: Generate Music using LSTM Neural Network in Keras
 
- Assembly: Writing a Tiny x86 Bootloader
 - Assembly: Baking Pi – Operating Systems Development
 - C: Building a software and hardware stack for a simple computer from scratch [video]
 - C: Operating Systems: From 0 to 1
 - C: The little book about OS development
 - C: Kernel 101 – Let’s write a Kernel
 - C: Kernel 201 – Let’s write a Kernel with keyboard and screen support
 - C: Build a minimal multi-tasking kernel for ARM from scratch
 - C: How to create an OS from scratch
 - C: Malloc tutorial
 - C: Hack the virtual memory
 - C: Learning operating system development using Linux kernel and Raspberry Pi
 - C++: Write your own Operating System [video]
 - C++: Writing a Bootloader
 - Rust: Writing an OS in Rust
 
- C: Video Game Physics Tutorial
 - C++: Game physics series by Allen Chou
 - C++: How to Create a Custom Physics Engine
 - C++: Game physics series by Glenn Fiedler
 - C++: 3D Physics Engine Tutorial [video]
 - C#: TowerFall Physics
 - JavaScript: Build your own basic physics engine in JavaScript
 - JavaScript: How Physics Engines Work
 - JavaScript: Broad Phase Collision Detection Using Spatial Partitioning
 - JavaScript: Build a simple 2D physics engine for JavaScript games
 
- (any): mal - Make a Lisp
 - C: Baby's First Garbage Collector
 - C: Build Your Own Lisp: Learn C and build your own programming language in 1000 lines of code
 - C: Writing a Simple Garbage Collector in C
 - C++: Writing Your Own Toy Compiler Using Flex
 - C++: How to Create a Compiler [video]
 - C++: Kaleidoscope: Implementing a Language with LLVM
 - F#: Understanding Parser Combinators
 - Go: The Super Tiny Compiler
 - Go: Lexical Scanning in Go [video]
 - Haskell: Let's Build a Compiler
 - Haskell: Write You a Haskell
 - Haskell: Write Yourself a Scheme in 48 Hours
 - Haskell: Write You A Scheme
 - Java: Crafting interpreters: A handbook for making programming languages
 - Java: Creating JVM Language
 - JavaScript: The Super Tiny Compiler
 - JavaScript: The Super Tiny Interpreter
 - OCaml: Writing a C Compiler
 - Pascal: Let's Build a Compiler
 - Python: A Python Interpreter Written in Python
 - Python: lisp.py: Make your own Lisp interpreter
 - Python: Simple Iterator-based Parsing
 - Python: Simple Top-Down Parsing in Python
 - Python: How to Write a Lisp Interpreter in Python
 - Python: Let’s Build A Simple Interpreter
 - Racket: Beautiful Racket: How to make your own programming languages with Racket
 - Ruby: A Compiler From Scratch
 - Ruby: Markdown compiler from scratch in Ruby
 
- C: A Regular Expression Matcher
 - C: Regular Expression Matching Can Be Simple And Fast
 - JavaScript: Build a Regex Engine in Less than 40 Lines of Code
 - JavaScript: How to implement regular expressions in functional javascript using derivatives
 - Perl: How Regexes Work
 - Scala: No Magic: Regular Expressions
 
- CSS: A search engine in CSS
 - Python: Building a search engine using Redis and redis-py
 - Python: Building a Vector Space Indexing Engine in Python
 - Python: Building A Python-Based Search Engine [video]
 - Python: Making text search learn from feedback
 - Python: Finding Important Words in Text Using TF-IDF
 
- C: Tutorial - Write a Shell in C
 - C: Let's build a shell!
 - C: Writing a UNIX Shell
 - C: Build Your Own Shell
 - C: Writing a shell in C
 - Ruby: A Unix Shell in Ruby
 
- JavaScript: JavaScript template engine in just 20 lines
 - JavaScript: Understanding JavaScript Micro-Templating
 - Python: Approach: Building a toy template engine in Python
 - Python: A Template Engine
 - Ruby: How to write a template engine in less than 30 lines of code
 
- C: Build Your Own Text Editor
 - C++: Designing a Simple Text Editor
 - Python: Python Tutorial: Make Your Own Text Editor [video]
 - Python: Create a Simple Python Text Editor!
 
- Python: Driver Drowsiness detection using OpenCV and Python
 - Python: Developing a License Plate Recognition System with Machine Learning in Python
 - Python: Building a Facial Recognition Pipeline with Deep Learning in Tensorflow
 
- C#: Writing a Web Server from Scratch
 - Node.js: Let's code a web server from scratch with NodeJS Streams
 - Node.js: lets-build-express
 - PHP: Writing a webserver in pure PHP
 - Python: A Simple Web Server
 - Python: Let’s Build A Web Server.
 - Python: Web application from scratch
 - Python: Building a basic HTTP Server from scratch in Python
 - Ruby: Building a simple websockets server from scratch in Ruby
 
- (any): From NAND to Tetris: Building a Modern Computer From First Principles
 - Alloy: The Same-Origin Policy
 - C: How to Write a Video Player in Less Than 1000 Lines
 - C: Learn how to write a hash table in C
 - C: Writing an SVG Library
 - C: The very basics of a terminal emulator
 - C: Write a System Call
 - C: Implementing a virtual machine in C
 - C++: Build your own VR headset for $100
 - C++: How X Window Managers work and how to write one
 - C++: Writing a Linux Debugger
 - C++: How a 64k intro is made
 - C#: C# Networking: Create a TCP chater server, TCP games, UDP Pong and more
 - Clojure: Building a spell-checker
 - Java: How to Build an Android Reddit App [video]
 - JavaScript: Build Your Own Module Bundler - Minipack
 - JavaScript: Learn JavaScript Promises by Building a Promise from Scratch
 - JavaScript: Implementing promises from scratch (TDD way)
 - JavaScript: Implement your own — call(), apply() and bind() method in JavaScript
 - JavaScript: JavaScript Algorithms and Data Structures
 - Kotlin: Build Your Own Cache
 - Nim: Writing a DMIDecode Parser
 - Nim: Writing a INI Parser
 - Nim: Writing a Link Checker
 - Nim: Writing a stow alternative to manage dotfiles
 - Nim: Writing a URL Shortening Service
 - Node.js: Build a static site generator in 40 lines with Node.js
 - PHP: Write your own MVC from scratch in PHP
 - PHP: Make your own blog
 - Python: How to Build a Kick-Ass Mobile Document Scanner in Just 5 Minutes
 - Python: Continuous Integration System
 - Python: Recommender Systems in Python: Beginner Tutorial
 - Python: Write SMS-spam detector with Scikit-learn
 - Python: A Simple Content-Based Recommendation Engine in Python
 - Python: Stock Market Predictions with LSTM in Python
 - Python: Build your own error-correction fountain code with Luby Transform Codes
 - Ruby: A Pedometer in the Real World
 - Ruby: Creating a Linux Desktop application with Ruby
 - Rust: Let's build a browser engine
 - Rust: Building a DNS server in Rust
 - TypeScript: Make your own GraphQL metrics dashboard
 
Contributions are very welcome: Submit tutorial
To the extent possible under law, Daniel Stefanovic has waived all copyright and related or neighboring rights to this work.
