---
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 your favorite technologies from scratch. - codecrafters-io/build-your-own-x
tags: [build-your-own-x, byox, codecrafters, github]
---


#github #codecrafters #build-your-own-x #byox 

**[build-your-own-x](https://github.com/codecrafters-io/build-your-own-x)** 

Master programming by recreating your favorite technologies from scratch.

[codecrafters.io](https://codecrafters.io/ "https://codecrafters.io")

[Open in github.dev](https://github.dev/) [Open in a new github.dev tab](https://github.dev/) [Open in codespace](https://github.com/codespaces/new/codecrafters-io/build-your-own-x?resume=1)

[![Banner](https://camo.githubusercontent.com/d5519a56f2d0fb4feb658af2aaae80023bcacca77f1dcb0c984488cf30d16c80/68747470733a2f2f636f646563726166746572732e696f2f696d616765732f757064617465642d62796f782d62616e6e65722e676966)](https://codecrafters.io/github-banner)

This repository is a compilation of well-written, step-by-step guides for re-creating our favorite technologies from scratch.

> *What I cannot create, I do not understand — Richard Feynman.*

It's a great way to learn.

- [3D Renderer](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-3d-renderer)
- [Augmented Reality](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-augmented-reality)
- [BitTorrent Client](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-bittorrent-client)
- [Blockchain / Cryptocurrency](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-blockchain--cryptocurrency)
- [Bot](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-bot)
- [Command-Line Tool](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-command-line-tool)
- [Database](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-database)
- [Docker](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-docker)
- [Emulator / Virtual Machine](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-emulator--virtual-machine)
- [Front-end Framework / Library](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-front-end-framework--library)
- [Game](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-game)
- [Git](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-git)
- [Network Stack](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-network-stack)
- [Neural Network](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-neural-network)
- [Operating System](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-operating-system)
- [Physics Engine](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-physics-engine)
- [Programming Language](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-programming-language)
- [Regex Engine](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-regex-engine)
- [Search Engine](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-search-engine)
- [Shell](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-shell)
- [Template Engine](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-template-engine)
- [Text Editor](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-text-editor)
- [Visual Recognition System](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-visual-recognition-system)
- [Voxel Engine](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-voxel-engine)
- [Web Browser](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-web-browser)
- [Web Server](https://github.com/codecrafters-io/?tab=readme-ov-file#build-your-own-web-server)
- [Uncategorized](https://github.com/codecrafters-io/?tab=readme-ov-file#uncategorized)

## Tutorials

- [**C++**: *Introduction to Ray Tracing: a Simple Method for Creating 3D Images*](https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-ray-tracing/how-does-it-work)
- [**C++**: *How OpenGL works: software rendering in 500 lines of code*](https://github.com/ssloy/tinyrenderer/wiki)
- [**C++**: *Raycasting engine of Wolfenstein 3D*](http://lodev.org/cgtutor/raycasting.html)
- [**C++**: *Physically Based Rendering:From Theory To Implementation*](http://www.pbr-book.org/)
- [**C++**: *Ray Tracing in One Weekend*](https://raytracing.github.io/books/RayTracingInOneWeekend.html)
- [**C++**: *Rasterization: a Practical Implementation*](https://www.scratchapixel.com/lessons/3d-basic-rendering/rasterization-practical-implementation/overview-rasterization-algorithm)
- [**C# / TypeScript / JavaScript**: *Learning how to write a 3D soft engine from scratch in C#, TypeScript or JavaScript*](https://www.davrous.com/2013/06/13/tutorial-series-learning-how-to-write-a-3d-soft-engine-from-scratch-in-c-typescript-or-javascript/)
- [**Java / JavaScript**: *Build your own 3D renderer*](https://avik-das.github.io/build-your-own-raytracer/)
- [**Java**: *How to create your own simple 3D render engine in pure Java*](http://blog.rogach.org/2015/08/how-to-create-your-own-simple-3d-render.html)
- [**JavaScript / Pseudocode**: *Computer Graphics from scratch*](http://www.gabrielgambetta.com/computer-graphics-from-scratch/introduction.html)
- [**Python**: *A 3D Modeller*](http://aosabook.org/en/500L/a-3d-modeller.html)
- [**C#**: *How To: Augmented Reality App Tutorial for Beginners with Vuforia and Unity 3D*](https://www.youtube.com/watch?v=uXNjNcqW4kY) \[video\]
- [**C#**: *How To Unity ARCore*](https://www.youtube.com/playlist?list=PLKIKuXdn4ZMjuUAtdQfK1vwTZPQn_rgSv) \[video\]
- [**C#**: *AR Portal Tutorial with Unity*](https://www.youtube.com/playlist?list=PLPCqNOwwN794Gz5fzUSi1p4OqLU0HTmvn) \[video\]
- [**C#**: *How to create a Dragon in Augmented Reality in Unity ARCore*](https://www.youtube.com/watch?v=qTSDPkPyPqs) \[video\]
- [**C#**: *How to Augmented Reality AR Tutorial: ARKit Portal to the Upside Down*](https://www.youtube.com/watch?v=Z5AmqMuNi08) \[video\]
- [**Python**: *Augmented Reality with Python and OpenCV*](https://bitesofcode.wordpress.com/2017/09/12/augmented-reality-with-python-and-opencv-part-1/)
- [**C#**: *Building a BitTorrent client from scratch in C#*](https://www.seanjoflynn.com/research/bittorrent.html)
- [**Go**: *Building a BitTorrent client from the ground up in Go*](https://blog.jse.li/posts/torrent/)
- [**Nim**: *Writing a Bencode Parser*](https://xmonader.github.io/nimdays/day02_bencode.html)
- [**Node.js**: *Write your own bittorrent client*](https://allenkim67.github.io/programming/2016/05/04/how-to-make-your-own-bittorrent-client.html)
- [**Python**: *A BitTorrent client in Python 3.5*](http://markuseliasson.se/article/bittorrent-in-python/)
- [**ATS**: *Functional Blockchain*](https://beta.observablehq.com/@galletti94/functional-blockchain)
- [**C#**: *Programming The Blockchain in C#*](https://programmingblockchain.gitbooks.io/programmingblockchain/)
- [**Crystal**: *Write your own blockchain and PoW algorithm using Crystal*](https://medium.com/@bradford_hamilton/write-your-own-blockchain-and-pow-algorithm-using-crystal-d53d5d9d0c52)
- [**Go**: *Building Blockchain in Go*](https://jeiwan.net/posts/building-blockchain-in-go-part-1/)
- [**Go**: *Code your own blockchain in less than 200 lines of Go*](https://medium.com/@mycoralhealth/code-your-own-blockchain-in-less-than-200-lines-of-go-e296282bcffc)
- [**Java**: *Creating Your First Blockchain with Java*](https://medium.com/programmers-blockchain/create-simple-blockchain-java-tutorial-from-scratch-6eeed3cb03fa)
- [**JavaScript**: *A cryptocurrency implementation in less than 1500 lines of code*](https://github.com/conradoqg/naivecoin)
- [**JavaScript**: *Build your own Blockchain in JavaScript*](https://github.com/nambrot/blockchain-in-js)
- [**JavaScript**: *Learn & Build a JavaScript Blockchain*](https://medium.com/digital-alchemy-holdings/learn-build-a-javascript-blockchain-part-1-ca61c285821e)
- [**JavaScript**: *Creating a blockchain with JavaScript*](https://github.com/SavjeeTutorials/SavjeeCoin)
- [**JavaScript**: *How To Launch Your Own Production-Ready Cryptocurrency*](https://hackernoon.com/how-to-launch-your-own-production-ready-cryptocurrency-ab97cb773371)
- [**JavaScript**: *Writing a Blockchain in Node.js*](https://www.smashingmagazine.com/2020/02/cryptocurrency-blockchain-node-js/)
- [**Kotlin**: *Let’s implement a cryptocurrency in Kotlin*](https://medium.com/@vasilyf/lets-implement-a-cryptocurrency-in-kotlin-part-1-blockchain-8704069f8580)
- [**Python**: *Learn Blockchains by Building One*](https://hackernoon.com/learn-blockchains-by-building-one-117428612f46)
- [**Python**: *Build your own blockchain: a Python tutorial*](http://ecomunsing.com/build-your-own-blockchain)
- [**Python**: *A Practical Introduction to Blockchain with Python*](http://adilmoujahid.com/posts/2018/03/intro-blockchain-bitcoin-python/)
- [**Python**: *Let’s Build the Tiniest Blockchain*](https://medium.com/crypto-currently/lets-build-the-tiniest-blockchain-e70965a248b)
- [**Ruby**: *Programming Blockchains Step-by-Step (Manuscripts Book Edition)*](https://github.com/yukimotopress/programming-blockchains-step-by-step)
- [**Scala**: *How to build a simple actor-based blockchain*](https://medium.freecodecamp.org/how-to-build-a-simple-actor-based-blockchain-aac1e996c177)
- [**TypeScript**: *Naivecoin: a tutorial for building a cryptocurrency*](https://lhartikk.github.io/)
- [**TypeScript**: *NaivecoinStake: a tutorial for building a cryptocurrency with the Proof of Stake consensus*](https://naivecoinstake.learn.uno/)
- [**Rust**: *Building A Blockchain in Rust & Substrate*](https://hackernoon.com/building-a-blockchain-in-rust-and-substrate-a-step-by-step-guide-for-developers-kc223ybp)
- [**Haskell**: *Roll your own IRC bot*](https://wiki.haskell.org/Roll_your_own_IRC_bot)
- [**Node.js**: *Creating a Simple Facebook Messenger AI Bot with API.ai in Node.js*](https://tutorials.botsfloor.com/creating-a-simple-facebook-messenger-ai-bot-with-api-ai-in-node-js-50ae2fa5c80d)
- [**Node.js**: *How to make a responsive telegram bot*](https://www.sohamkamani.com/blog/2016/09/21/making-a-telegram-bot/)
- [**Node.js**: *Create a Discord bot*](https://discordjs.guide/)
- [**Node.js**: *gifbot - Building a GitHub App*](https://blog.scottlogic.com/2017/05/22/gifbot-github-integration.html)
- [**Node.js**: *Building A Simple AI Chatbot With Web Speech API And Node.js*](https://www.smashingmagazine.com/2017/08/ai-chatbot-web-speech-api-node-js/)
- [**Python**: *How to Build Your First Slack Bot with Python*](https://www.fullstackpython.com/blog/build-first-slack-bot-python.html)
- [**Python**: *How to build a Slack Bot with Python using Slack Events API & Django under 20 minute*](https://medium.com/freehunch/how-to-build-a-slack-bot-with-python-using-slack-events-api-django-under-20-minute-code-included-269c3a9bf64e)
- [**Python**: *Build a Reddit Bot*](http://pythonforengineers.com/build-a-reddit-bot-part-1/)
- [**Python**: *How To Make A Reddit Bot*](https://www.youtube.com/watch?v=krTUf7BpTc0) \[video\]
- [**Python**: *How To Create a Telegram Bot Using Python*](https://www.freecodecamp.org/news/how-to-create-a-telegram-bot-using-python/)
- [**Python**: *Create a Twitter Bot in Python Using Tweepy*](https://medium.freecodecamp.org/creating-a-twitter-bot-in-python-with-tweepy-ac524157a607)
- [**Python**: *Creating Reddit Bot with Python & PRAW*](https://www.youtube.com/playlist?list=PLIFBTFgFpoJ9vmYYlfxRFV6U_XhG-4fpP) \[video\]
- [**R**: *Build A Cryptocurrency Trading Bot with R*](https://towardsdatascience.com/build-a-cryptocurrency-trading-bot-with-r-1445c429e1b1)
- [**Rust**: *A bot for Starcraft in Rust, C or any other language*](https://habr.com/en/post/436254/)
- [**Go**: *Visualize your local git contributions with Go*](https://flaviocopes.com/go-git-contributions/)
- [**Go**: *Build a command line app with Go: lolcat*](https://flaviocopes.com/go-tutorial-lolcat/)
- [**Go**: *Building a cli command with Go: cowsay*](https://flaviocopes.com/go-tutorial-cowsay/)
- [**Go**: *Go CLI tutorial: fortune clone*](https://flaviocopes.com/go-tutorial-fortune/)
- [**Nim**: *Writing a stow alternative to manage dotfiles*](https://xmonader.github.io/nimdays/day06_nistow.html)
- [**Node.js**: *Create a CLI tool in Javascript*](https://citw.dev/tutorial/create-your-own-cli-tool)
- [**Rust**: *Command line apps in Rust*](https://rust-cli.github.io/book/index.html)
- [**Rust**: *Writing a Command Line Tool in Rust*](https://mattgathu.dev/2017/08/29/writing-cli-app-rust.html)
- [**Zig**: *Build Your Own CLI App in Zig from Scratch*](https://rebuild-x.github.io/docs/#/./zig/terminal/cli)
- [**C**: *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*](https://www.codeproject.com/Articles/1029838/Build-Your-Own-Database)
- [**Clojure**: *An Archaeology-Inspired Database*](http://aosabook.org/en/500L/an-archaeology-inspired-database.html)
- [**Crystal**: *Why you should build your own NoSQL Database*](https://medium.com/@marceloboeira/why-you-should-build-your-own-nosql-database-9bbba42039f5)
- [**Go**: *Build Your Own Database from Scratch: From B+Tree To SQL in 3000 Lines*](https://build-your-own.org/database/)
- [**Go**: *Code a database in 45 steps: a series of test-driven small coding puzzles*](https://trialofcode.org/database/)
- [**Go**: *Build Your Own Redis from Scratch*](https://www.build-redis-from-scratch.dev/)
- [**JavaScript**: *Dagoba: an in-memory graph database*](http://aosabook.org/en/500L/dagoba-an-in-memory-graph-database.html)
- [**Python**: *DBDB: Dog Bed Database*](http://aosabook.org/en/500L/dbdb-dog-bed-database.html)
- [**Python**: *Write your own miniature Redis with Python*](http://charlesleifer.com/blog/building-a-simple-redis-server-with-python/)
- [**Ruby**: *Build your own fast, persistent KV store in Ruby*](https://dineshgowda.com/posts/build-your-own-persistent-kv-store/)
- [**Rust**: *Build your own Redis client and server*](https://tokio.rs/tokio/tutorial/setup)
- [**C**: *Linux containers in 500 lines of code*](https://blog.lizzie.io/linux-containers-in-500-loc.html)
- [**Go**: *Build Your Own Container Using Less than 100 Lines of Go*](https://www.infoq.com/articles/build-a-container-golang)
- [**Go**: *Building a container from scratch in Go*](https://www.youtube.com/watch?v=8fi7uSYlOdc) \[video\]
- [**Python**: *A workshop on Linux containers: Rebuild Docker from Scratch*](https://github.com/Fewbytes/rubber-docker)
- [**Python**: *A proof-of-concept imitation of Docker, written in 100% Python*](https://github.com/tonybaloney/mocker)
- [**Shell**: *Docker implemented in around 100 lines of bash*](https://github.com/p8952/bocker)
- [**C**: *Home-grown bytecode interpreters*](https://medium.com/bumble-tech/home-grown-bytecode-interpreters-51e12d59b25c)
- [**C**: *Virtual machine in C*](http://web.archive.org/web/20200121100942/https://blog.felixangell.com/virtual-machine-in-c/)
- [**C**: *Write your Own Virtual Machine*](https://justinmeiners.github.io/lc3-vm/)
- [**C**: *Writing a Game Boy emulator, Cinoop*](https://cturt.github.io/cinoop.html)
- [**C++**: *How to write an emulator (CHIP-8 interpreter)*](http://www.multigesture.net/articles/how-to-write-an-emulator-chip-8-interpreter/)
- [**C++**: *Emulation tutorial (CHIP-8 interpreter)*](http://www.codeslinger.co.uk/pages/projects/chip8.html)
- [**C++**: *Emulation tutorial (GameBoy emulator)*](http://www.codeslinger.co.uk/pages/projects/gameboy.html)
- [**C++**: *Emulation tutorial (Master System emulator)*](http://www.codeslinger.co.uk/pages/projects/mastersystem/memory.html)
- [**C++**: *NES Emulator From Scratch*](https://www.youtube.com/playlist?list=PLrOv9FMX8xJHqMvSGB_9G9nZZ_4IgteYf) \[video\]
- [**Common Lisp**: *CHIP-8 in Common Lisp*](http://stevelosh.com/blog/2016/12/chip8-cpu/)
- [**JavaScript**: *GameBoy Emulation in JavaScript*](http://imrannazar.com/GameBoy-Emulation-in-JavaScript)
- [**Python**: *Emulation Basics: Write your own Chip 8 Emulator/Interpreter*](http://omokute.blogspot.com.br/2012/06/emulation-basics-write-your-own-chip-8.html)
- [**Rust**: *0dmg: Learning Rust by building a partial Game Boy emulator*](https://jeremybanks.github.io/0dmg/)
- [**JavaScript**: *WTF is JSX (Let's Build a JSX Renderer)*](https://jasonformat.com/wtf-is-jsx/)
- [**JavaScript**: *A DIY guide to build your own React*](https://github.com/hexacta/didact)
- [**JavaScript**: *Building React From Scratch*](https://www.youtube.com/watch?v=_MAD4Oly9yg) \[video\]
- [**JavaScript**: *Gooact: React in 160 lines of JavaScript*](https://medium.com/@sweetpalma/gooact-react-in-160-lines-of-javascript-44e0742ad60f)
- [**JavaScript**: *Learn how React Reconciler package works by building your own lightweight React DOM*](https://hackernoon.com/learn-you-some-custom-react-renderers-aed7164a4199)
- [**JavaScript**: *Build Yourself a Redux*](https://zapier.com/engineering/how-to-build-redux/)
- [**JavaScript**: *Let’s Write Redux!*](https://www.jamasoftware.com/blog/lets-write-redux/)
- [**JavaScript**: *Redux: Implementing Store from Scratch*](https://egghead.io/lessons/react-redux-implementing-store-from-scratch) \[video\]
- [**JavaScript**: *Build Your own Simplified AngularJS in 200 Lines of JavaScript*](https://blog.mgechev.com/2015/03/09/build-learn-your-own-light-lightweight-angularjs/)
- [**JavaScript**: *Make Your Own AngularJS*](http://teropa.info/blog/2013/11/03/make-your-own-angular-part-1-scopes-and-digest.html)
- [**JavaScript**: *How to write your own Virtual DOM*](https://medium.com/@deathmood/how-to-write-your-own-virtual-dom-ee74acc13060)
- [**JavaScript**: *Building a frontend framework, from scratch, with components (templating, state, VDOM)*](https://mfrachet.github.io/create-frontend-framework/)
- [**JavaScript**: *Build your own React*](https://pomb.us/build-your-own-react/)
- [**JavaScript**: *Building a Custom React Renderer*](https://youtu.be/CGpMlWVcHok) \[video\]
- [**C**: *Handmade Hero*](https://handmadehero.org/)
- [**C**: *How to Program an NES game in C*](https://nesdoug.com/)
- [**C**: *Chess Engine In C*](https://www.youtube.com/playlist?list=PLZ1QII7yudbc-Ky058TEaOstZHVbT-2hg) \[video\]
- [**C**: *Let's Make: Dangerous Dave*](https://www.youtube.com/playlist?list=PLSkJey49cOgTSj465v2KbLZ7LMn10bCF9) \[video\]
- [**C**: *Learn Video Game Programming in C*](https://www.youtube.com/playlist?list=PLT6WFYYZE6uLMcPGS3qfpYm7T_gViYMMt) \[video\]
- [**C**: *Coding A Sudoku Solver in C*](https://www.youtube.com/playlist?list=PLkTXsX7igf8edTYU92nU-f5Ntzuf-RKvW) \[video\]
- [**C**: *Coding a Rogue/Nethack RPG in C*](https://www.youtube.com/playlist?list=PLkTXsX7igf8erbWGYT4iSAhpnJLJ0Nk5G) \[video\]
- [**C**: *On Tetris and Reimplementation*](https://brennan.io/2015/06/12/tetris-reimplementation/)
- [**C++**: *Breakout*](https://learnopengl.com/In-Practice/2D-Game/Breakout)
- [**C++**: *Beginning Game Programming v2.0*](http://lazyfoo.net/tutorials/SDL/)
- [**C++**: *Tetris tutorial in C++ platform independent focused in game logic for beginners*](http://javilop.com/gamedev/tetris-tutorial-in-c-platform-independent-focused-in-game-logic-for-beginners/)
- [**C++**: *Remaking Cavestory in C++*](https://www.youtube.com/watch?v=ETvApbD5xRo&list=PLNOBk_id22bw6LXhrGfhVwqQIa-M2MsLa) \[video\]
- [**C++**: *Reconstructing Cave Story*](https://www.youtube.com/playlist?list=PL006xsVEsbKjSKBmLu1clo85yLrwjY67X) \[video\]
- [**C++**: *Space Invaders from Scratch*](http://nicktasios.nl/posts/space-invaders-from-scratch-part-1.html)
- [**C#**: *Learn C# by Building a Simple RPG*](http://scottlilly.com/learn-c-by-building-a-simple-rpg-index/)
- [**C#**: *Creating a Roguelike Game in C#*](https://roguesharp.wordpress.com/)
- [**C#**: *Build a C#/WPF RPG*](https://scottlilly.com/build-a-cwpf-rpg/)
- [**Go**: *Games With Go*](https://www.youtube.com/playlist?list=PLDZujg-VgQlZUy1iCqBbe5faZLMkA3g2x) \[video\]
- [**Java**: *Code a 2D Game Engine using Java - Full Course for Beginners*](https://www.youtube.com/watch?v=025QFeZfeyM) \[video\]
- [**Java**: *3D Game Development with LWJGL 3*](https://lwjglgamedev.gitbooks.io/3d-game-development-with-lwjgl/content/)
- [**JavaScript**: *2D breakout game using Phaser*](https://developer.mozilla.org/en-US/docs/Games/Tutorials/2D_breakout_game_Phaser)
- [**JavaScript**: *How to Make Flappy Bird in HTML5 With Phaser*](http://www.lessmilk.com/tutorial/flappy-bird-phaser-1)
- [**JavaScript**: *Developing Games with React, Redux, and SVG*](https://auth0.com/blog/developing-games-with-react-redux-and-svg-part-1/)
- [**JavaScript**: *Build your own 8-Ball Pool game from scratch*](https://www.youtube.com/watch?v=aXwCrtAo4Wc) \[video\]
- [**JavaScript**: *How to Make Your First Roguelike*](https://gamedevelopment.tutsplus.com/tutorials/how-to-make-your-first-roguelike--gamedev-13677)
- [**JavaScript**: *Think like a programmer: How to build Snake using only JavaScript, HTML & CSS*](https://medium.freecodecamp.org/think-like-a-programmer-how-to-build-snake-using-only-javascript-html-and-css-7b1479c3339e)
- [**Lua**: *BYTEPATH*](https://github.com/SSYGEN/blog/issues/30)
- [**Python**: *Developing Games With PyGame*](https://pythonprogramming.net/pygame-python-3-part-1-intro/)
- [**Python**: *Making Games with Python & Pygame*](https://inventwithpython.com/makinggames.pdf) \[pdf\]
- [**Python**: *Roguelike Tutorial Revised*](http://rogueliketutorials.com/)
- [**Ruby**: *Developing Games With Ruby*](https://leanpub.com/developing-games-with-ruby/read)
- [**Ruby**: *Ruby Snake*](https://www.diatomenterprises.com/gamedev-on-ruby-why-not/)
- [**Rust**: *Adventures in Rust: A Basic 2D Game*](https://a5huynh.github.io/posts/2018/adventures-in-rust/)
- [**Rust**: *Roguelike Tutorial in Rust + tcod*](https://tomassedovic.github.io/roguelike-tutorial/)
- [**Haskell**: *Reimplementing “git clone” in Haskell from the bottom up*](http://stefan.saasen.me/articles/git-clone-in-haskell-from-the-bottom-up/)
- [**JavaScript**: *Gitlet*](http://gitlet.maryrosecook.com/docs/gitlet.html)
- [**JavaScript**: *Build GIT - Learn GIT*](https://kushagra.dev/blog/build-git-learn-git/)
- [**Python**: *Just enough of a Git client to create a repo, commit, and push itself to GitHub*](https://benhoyt.com/writings/pygit/)
- [**Python**: *Write yourself a Git!*](https://wyag.thb.lt/)
- [**Python**: *ugit: Learn Git Internals by Building Git Yourself*](https://www.leshenko.net/p/ugit/)
- [**Ruby**: *Rebuilding Git in Ruby*](https://robots.thoughtbot.com/rebuilding-git-in-ruby)
- [**C**: *Beej's Guide to Network Programming*](http://beej.us/guide/bgnet/)
- [**C**: *Let's code a TCP/IP stack*](http://www.saminiir.com/lets-code-tcp-ip-stack-1-ethernet-arp/)
- [**C / Python**: *Build your own VPN/Virtual Switch*](https://github.com/peiyuanix/build-your-own-zerotier)
- [**Ruby**: *How to build a network stack in Ruby*](https://medium.com/geckoboard-under-the-hood/how-to-build-a-network-stack-in-ruby-f73aeb1b661b)
- [**C#**: *Neural Network OCR*](https://www.codeproject.com/Articles/11285/Neural-Network-OCR)
- [**F#**: *Building Neural Networks in F#*](https://towardsdatascience.com/building-neural-networks-in-f-part-1-a2832ae972e6)
- [**Go**: *Build a multilayer perceptron with Golang*](https://made2591.github.io/posts/neuralnetwork)
- [**Go**: *How to build a simple artificial neural network with Go*](https://sausheong.github.io/posts/how-to-build-a-simple-artificial-neural-network-with-go/)
- [**Go**: *Building a Neural Net from Scratch in Go*](https://datadan.io/blog/neural-net-with-go)
- [**JavaScript / Java**: *Neural Networks - The Nature of Code*](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6aCibgK1PTWWu9by6XFdCfh) \[video\]
- [**JavaScript**: *Neural networks from scratch for JavaScript linguists (Part1 — The Perceptron)*](https://hackernoon.com/neural-networks-from-scratch-for-javascript-linguists-part1-the-perceptron-632a4d1fbad2)
- [**Python**: *A Neural Network in 11 lines of Python*](https://iamtrask.github.io/2015/07/12/basic-python-network/)
- [**Python**: *Implement a Neural Network from Scratch*](https://victorzhou.com/blog/intro-to-neural-networks/)
- [**Python**: *Optical Character Recognition (OCR)*](http://aosabook.org/en/500L/optical-character-recognition-ocr.html)
- [**Python**: *Traffic signs classification with a convolutional network*](https://navoshta.com/traffic-signs-classification/)
- [**Python**: *Generate Music using LSTM Neural Network in Keras*](https://towardsdatascience.com/how-to-generate-music-using-a-lstm-neural-network-in-keras-68786834d4c5)
- [**Python**: *An Introduction to Convolutional Neural Networks*](https://victorzhou.com/blog/intro-to-cnns-part-1/)
- [**Python**: *Neural Networks: Zero to Hero*](https://www.youtube.com/playlist?list=PLAqhIrjkxbuWI23v9cThsA9GvCAUhRvKZ)
- [**Assembly**: *Writing a Tiny x86 Bootloader*](http://joebergeron.io/posts/post_two.html)
- [**Assembly**: *Baking Pi – Operating Systems Development*](http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/index.html)
- [**C**: *Building a software and hardware stack for a simple computer from scratch*](https://www.youtube.com/watch?v=ZjwvMcP3Nf0&list=PLU94OURih-CiP4WxKSMt3UcwMSDM3aTtX) \[video\]
- [**C**: *Operating Systems: From 0 to 1*](https://tuhdo.github.io/os01/)
- [**C**: *The little book about OS development*](https://littleosbook.github.io/)
- [**C**: *Roll your own toy UNIX-clone OS*](http://jamesmolloy.co.uk/tutorial_html/)
- [**C**: *Kernel 101 – Let’s write a Kernel*](https://arjunsreedharan.org/post/82710718100/kernel-101-lets-write-a-kernel)
- [**C**: *Kernel 201 – Let’s write a Kernel with keyboard and screen support*](https://arjunsreedharan.org/post/99370248137/kernel-201-lets-write-a-kernel-with-keyboard)
- [**C**: *Build a minimal multi-tasking kernel for ARM from scratch*](https://github.com/jserv/mini-arm-os)
- [**C**: *How to create an OS from scratch*](https://github.com/cfenollosa/os-tutorial)
- [**C**: *Malloc tutorial*](https://danluu.com/malloc-tutorial/)
- [**C**: *Hack the virtual memory*](https://blog.holbertonschool.com/hack-the-virtual-memory-c-strings-proc/)
- [**C**: *Learning operating system development using Linux kernel and Raspberry Pi*](https://github.com/s-matyukevich/raspberry-pi-os)
- [**C**: *Operating systems development for Dummies*](https://medium.com/@lduck11007/operating-systems-development-for-dummies-3d4d786e8ac)
- [**C++**: *Write your own Operating System*](https://www.youtube.com/playlist?list=PLHh55M_Kq4OApWScZyPl5HhgsTJS9MZ6M) \[video\]
- [**C++**: *Writing a Bootloader*](http://3zanders.co.uk/2017/10/13/writing-a-bootloader/)
- [**Rust**: *Writing an OS in Rust*](https://os.phil-opp.com/)
- [**Rust**: *Add RISC-V Rust Operating System Tutorial*](https://osblog.stephenmarz.com/)
- [**(any)**: *Linux from scratch*](https://linuxfromscratch.org/lfs)
- [**C**: *Video Game Physics Tutorial*](https://www.toptal.com/game/video-game-physics-part-i-an-introduction-to-rigid-body-dynamics)
- [**C++**: *Game physics series by Allen Chou*](http://allenchou.net/game-physics-series/)
- [**C++**: *How to Create a Custom Physics Engine*](https://gamedevelopment.tutsplus.com/series/how-to-create-a-custom-physics-engine--gamedev-12715)
- [**C++**: *3D Physics Engine Tutorial*](https://www.youtube.com/playlist?list=PLEETnX-uPtBXm1KEr_2zQ6K_0hoGH6JJ0) \[video\]
- [**JavaScript**: *How Physics Engines Work*](http://buildnewgames.com/gamephysics/)
- [**JavaScript**: *Broad Phase Collision Detection Using Spatial Partitioning*](http://buildnewgames.com/broad-phase-collision-detection/)
- [**JavaScript**: *Build a simple 2D physics engine for JavaScript games*](https://developer.ibm.com/tutorials/wa-build2dphysicsengine/?mhsrc=ibmsearch_a&mhq=2dphysic)
- [**(any)**: *mal - Make a Lisp*](https://github.com/kanaka/mal#mal---make-a-lisp)
- [**Assembly**: *Jonesforth*](https://github.com/nornagon/jonesforth/blob/master/jonesforth.S)
- [**C**: *Baby's First Garbage Collector*](http://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/)
- [**C**: *Build Your Own Lisp: Learn C and build your own programming language in 1000 lines of code*](http://www.buildyourownlisp.com/)
- [**C**: *Writing a Simple Garbage Collector in C*](http://maplant.com/gc.html)
- [**C**: *C interpreter that interprets itself.*](https://github.com/lotabout/write-a-C-interpreter)
- [**C**: *A C & x86 version of the "Let's Build a Compiler" by Jack Crenshaw*](https://github.com/lotabout/Let-s-build-a-compiler)
- [**C**: *A journey explaining how to build a compiler from scratch*](https://github.com/DoctorWkt/acwj)
- [**C++**: *Writing Your Own Toy Compiler Using Flex*](https://gnuu.org/2009/09/18/writing-your-own-toy-compiler/)
- [**C++**: *How to Create a Compiler*](https://www.youtube.com/watch?v=eF9qWbuQLuw) \[video\]
- [**C++**: *Kaleidoscope: Implementing a Language with LLVM*](https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/index.html)
- [**F#**: *Understanding Parser Combinators*](https://fsharpforfunandprofit.com/posts/understanding-parser-combinators/)
- [**Elixir**: *Demystifying compilers by writing your own*](https://www.youtube.com/watch?v=zMJYoYwOCd4) \[video\]
- [**Go**: *The Super Tiny Compiler*](https://github.com/hazbo/the-super-tiny-compiler)
- [**Go**: *Lexical Scanning in Go*](https://www.youtube.com/watch?v=HxaD_trXwRE) \[video\]
- [**Haskell**: *Let's Build a Compiler*](https://g-ford.github.io/cradle/)
- [**Haskell**: *Write You a Haskell*](http://dev.stephendiehl.com/fun/)
- [**Haskell**: *Write Yourself a Scheme in 48 Hours*](https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours)
- [**Haskell**: *Write You A Scheme*](https://www.wespiser.com/writings/wyas/home.html)
- [**Java**: *Crafting interpreters: A handbook for making programming languages*](http://www.craftinginterpreters.com/)
- [**JavaScript**: *The Super Tiny Compiler*](https://github.com/jamiebuilds/the-super-tiny-compiler)
- [**JavaScript**: *The Super Tiny Interpreter*](https://github.com/keyanzhang/the-super-tiny-interpreter)
- [**JavaScript**: *Little Lisp interpreter*](https://maryrosecook.com/blog/post/little-lisp-interpreter)
- [**JavaScript**: *How to implement a programming language in JavaScript*](http://lisperator.net/pltut/)
- [**JavaScript**: *Let’s go write a Lisp*](https://idiocy.org/lets-go-write-a-lisp/part-1.html)
- [**OCaml**: *Writing a C Compiler*](https://norasandler.com/2017/11/29/Write-a-Compiler.html)
- [**OCaml**: *Writing a Lisp, the series*](https://bernsteinbear.com/blog/lisp/)
- [**Pascal**: *Let's Build a Compiler*](https://compilers.iecc.com/crenshaw/)
- [**Python**: *A Python Interpreter Written in Python*](http://aosabook.org/en/500L/a-python-interpreter-written-in-python.html)
- [**Python**: *lisp.py: Make your own Lisp interpreter*](http://khamidou.com/compilers/lisp.py/)
- [**Python**: *How to Write a Lisp Interpreter in Python*](http://norvig.com/lispy.html)
- [**Python**: *Let’s Build A Simple Interpreter*](https://ruslanspivak.com/lsbasi-part1/)
- [**Python**: *Make Your Own Simple Interpreted Programming Language*](https://www.youtube.com/watch?v=dj9CBS3ikGA&list=PLZQftyCk7_SdoVexSmwy_tBgs7P0b97yD&index=1) \[video\]
- [**Python**: *From Source Code To Machine Code: Build Your Own Compiler From Scratch*](https://build-your-own.org/compiler/)
- [**Racket**: *Beautiful Racket: How to make your own programming languages with Racket*](https://beautifulracket.com/)
- [**Ruby**: *A Compiler From Scratch*](https://www.destroyallsoftware.com/screencasts/catalog/a-compiler-from-scratch)
- [**Ruby**: *Markdown compiler from scratch in Ruby*](https://blog.beezwax.net/2017/07/07/writing-a-markdown-compiler/)
- [**Rust**: *Learning Parser Combinators With Rust*](https://bodil.lol/parser-combinators/)
- [**Swift**: *Building a LISP from scratch with Swift*](https://www.uraimo.com/2017/02/05/building-a-lisp-from-scratch-with-swift/)
- [**TypeScript**: *Build your own WebAssembly Compiler*](https://blog.scottlogic.com/2019/05/17/webassembly-compiler.html)
- [**C**: *A Regular Expression Matcher*](https://www.cs.princeton.edu/courses/archive/spr09/cos333/beautiful.html)
- [**C**: *Regular Expression Matching Can Be Simple And Fast*](https://swtch.com/~rsc/regexp/regexp1.html)
- [**Go**: *How to build a regex engine from scratch*](https://rhaeguard.github.io/posts/regex)
- [**JavaScript**: *Build a Regex Engine in Less than 40 Lines of Code*](https://nickdrane.com/build-your-own-regex/)
- [**JavaScript**: *How to implement regular expressions in functional javascript using derivatives*](http://dpk.io/dregs/toydregs)
- [**JavaScript**: *Implementing a Regular Expression Engine*](https://deniskyashif.com/2019/02/17/implementing-a-regular-expression-engine/)
- [**Perl**: *How Regexes Work*](https://perl.plover.com/Regex/article.html)
- [**Python**: *Build Your Own Regular Expression Engines: Backtracking, NFA, DFA*](https://build-your-own.org/b2a/r0_intro)
- [**Scala**: *No Magic: Regular Expressions*](https://rcoh.svbtle.com/no-magic-regular-expressions)
- [**CSS**: *A search engine in CSS*](https://stories.algolia.com/a-search-engine-in-css-b5ec4e902e97)
- [**Python**: *Building a search engine using Redis and redis-py*](http://www.dr-josiah.com/2010/07/building-search-engine-using-redis-and.html)
- [**Python**: *Building a Vector Space Indexing Engine in Python*](https://boyter.org/2010/08/build-vector-space-search-engine-python/)
- [**Python**: *Building A Python-Based Search Engine*](https://www.youtube.com/watch?v=cY7pE7vX6MU) \[video\]
- [**Python**: *Making text search learn from feedback*](https://medium.com/filament-ai/making-text-search-learn-from-feedback-4fe210fd87b0)
- [**Python**: *Finding Important Words in Text Using TF-IDF*](https://stevenloria.com/tf-idf/)
- [**C**: *Tutorial - Write a Shell in C*](https://brennan.io/2015/01/16/write-a-shell-in-c/)
- [**C**: *Let's build a shell!*](https://github.com/kamalmarhubi/shell-workshop)
- [**C**: *Writing a UNIX Shell*](https://indradhanush.github.io/blog/writing-a-unix-shell-part-1/)
- [**C**: *Build Your Own Shell*](https://github.com/tokenrove/build-your-own-shell)
- [**C**: Write a shell in C](https://danishpraka.sh/posts/write-a-shell/)
- [**Go**: *Writing a simple shell in Go*](https://sj14.gitlab.io/post/2018-07-01-go-unix-shell/)
- [**Rust**: *Build Your Own Shell using Rust*](https://www.joshmcguigan.com/blog/build-your-own-shell-rust/)
- [**JavaScript**: *JavaScript template engine in just 20 lines*](http://krasimirtsonev.com/blog/article/Javascript-template-engine-in-just-20-line)
- [**JavaScript**: *Understanding JavaScript Micro-Templating*](https://medium.com/wdstack/understanding-javascript-micro-templating-f37a37b3b40e)
- [**Python**: *Approach: Building a toy template engine in Python*](http://alexmic.net/building-a-template-engine/)
- [**Python**: *A Template Engine*](http://aosabook.org/en/500L/a-template-engine.html)
- [**Ruby**: *How to write a template engine in less than 30 lines of code*](http://bits.citrusbyte.com/how-to-write-a-template-library/)
- [**C**: *Build Your Own Text Editor*](https://viewsourcecode.org/snaptoken/kilo/)
- [**C++**: *Designing a Simple Text Editor*](http://www.fltk.org/doc-1.1/editor.html)
- [**Python**: *Python Tutorial: Make Your Own Text Editor*](https://www.youtube.com/watch?v=xqDonHEYPgA) \[video\]
- [**Python**: *Create a Simple Python Text Editor!*](http://www.instructables.com/id/Create-a-Simple-Python-Text-Editor/)
- [**Ruby**: *Build a Collaborative Text Editor Using Rails*](https://blog.aha.io/text-editor/)
- [**Rust**: *Hecto: Build your own text editor in Rust*](https://www.flenker.blog/hecto/)
- [**Python**: *Developing a License Plate Recognition System with Machine Learning in Python*](https://medium.com/devcenter/developing-a-license-plate-recognition-system-with-machine-learning-in-python-787833569ccd)
- [**Python**: *Building a Facial Recognition Pipeline with Deep Learning in Tensorflow*](https://hackernoon.com/building-a-facial-recognition-pipeline-with-deep-learning-in-tensorflow-66e7645015b8)
- [**C++**: *Let's Make a Voxel Engine*](https://sites.google.com/site/letsmakeavoxelengine/home)
- [**Rust**: *Let's build a browser engine*](https://limpet.net/mbrubeck/2014/08/08/toy-layout-engine-1.html)
- [**Python**: *Browser Engineering*](https://browser.engineering/)
- [**C#**: *Writing a Web Server from Scratch*](https://www.codeproject.com/Articles/859108/Writing-a-Web-Server-from-Scratch)
- [**Node.js**: *Build Your Own Web Server From Scratch In JavaScript*](https://build-your-own.org/webserver/)
- [**Node.js**: *Let's code a web server from scratch with NodeJS Streams*](https://www.codementor.io/@ziad-saab/let-s-code-a-web-server-from-scratch-with-nodejs-streams-h4uc9utji)
- [**Node.js**: *lets-build-express*](https://github.com/antoaravinth/lets-build-express)
- [**PHP**: *Writing a webserver in pure PHP*](http://station.clancats.com/writing-a-webserver-in-pure-php/)
- [**Python**: *A Simple Web Server*](http://aosabook.org/en/500L/a-simple-web-server.html)
- [**Python**: *Let’s Build A Web Server.*](https://ruslanspivak.com/lsbaws-part1/)
- [**Python**: *Web application from scratch*](https://defn.io/2018/02/25/web-app-from-scratch-01/)
- [**Python**: *Building a basic HTTP Server from scratch in Python*](http://joaoventura.net/blog/2017/python-webserver/)
- [**Python**: *Implementing a RESTful Web API with Python & Flask*](http://blog.luisrei.com/articles/flaskrest.html)
- [**Ruby**: *Building a simple websockets server from scratch in Ruby*](http://blog.honeybadger.io/building-a-simple-websockets-server-from-scratch-in-ruby/)

#### Uncategorized

- [**(any)**: *From NAND to Tetris: Building a Modern Computer From First Principles*](http://nand2tetris.org/)
- [**(any)**: build-your-own-x-vibe-coding: BYOX-style tutorials adapted for vibe coding](https://github.com/inFaaa/build-your-own-x-vibe-coding)
- [**Alloy**: *The Same-Origin Policy*](http://aosabook.org/en/500L/the-same-origin-policy.html)
- [**C**: *How to Write a Video Player in Less Than 1000 Lines*](http://dranger.com/ffmpeg/ffmpeg.html)
- [**C**: *Learn how to write a hash table in C*](https://github.com/jamesroutley/write-a-hash-table)
- [**C**: *The very basics of a terminal emulator*](https://www.uninformativ.de/blog/postings/2018-02-24/0/POSTING-en.html)
- [**C**: *Write a System Call*](https://brennan.io/2016/11/14/kernel-dev-ep3/)
- [**C**: *Sol - An MQTT broker from scratch*](https://codepr.github.io/posts/sol-mqtt-broker)
- [**C++**: *Build your own VR headset for $200*](https://github.com/relativty/Relativ)
- [**C++**: *How X Window Managers work and how to write one*](https://seasonofcode.com/posts/how-x-window-managers-work-and-how-to-write-one-part-i.html)
- [**C++**: *Writing a Linux Debugger*](https://blog.tartanllama.xyz/writing-a-linux-debugger-setup/)
- [**C++**: *How a 64k intro is made*](http://www.lofibucket.com/articles/64k_intro.html)
- [**C++**: *Make your own Game Engine*](https://www.youtube.com/playlist?list=PLlrATfBNZ98dC-V-N3m0Go4deliWHPFwT)
- [**C#**: *C# Networking: Create a TCP chater server, TCP games, UDP Pong and more*](https://16bpp.net/tutorials/csharp-networking)
- [**C#**: *Loading and rendering 3D skeletal animations from scratch in C# and GLSL*](https://www.seanjoflynn.com/research/skeletal-animation.html)
- [**Clojure**: *Building a spell-checker*](https://bernhardwenzel.com/articles/clojure-spellchecker/)
- [**Go**: *Build A Simple Terminal Emulator In 100 Lines of Golang*](https://ishuah.com/2021/03/10/build-a-terminal-emulator-in-100-lines-of-go/)
- [**Go**: *Let's Create a Simple Load Balancer*](https://kasvith.me/posts/lets-create-a-simple-lb-go/)
- [**Go**: *Video Encoding from Scratch*](https://github.com/kevmo314/codec-from-scratch)
- [**Java**: *How to Build an Android Reddit App*](https://www.youtube.com/playlist?list=PLgCYzUzKIBE9HUJU-upNvl3TRVAo9W47y) \[video\]
- [**JavaScript**: *Build Your Own Module Bundler - Minipack*](https://github.com/ronami/minipack)
- [**JavaScript**: *Learn JavaScript Promises by Building a Promise from Scratch*](https://levelup.gitconnected.com/understand-javascript-promises-by-building-a-promise-from-scratch-84c0fd855720)
- [**JavaScript**: *Implementing promises from scratch (TDD way)*](https://www.mauriciopoppe.com/notes/computer-science/computation/promises/)
- [**JavaScript**: *Implement your own — call(), apply() and bind() method in JavaScript*](https://blog.usejournal.com/implement-your-own-call-apply-and-bind-method-in-javascript-42cc85dba1b)
- [**JavaScript**: *JavaScript Algorithms and Data Structures*](https://github.com/trekhleb/javascript-algorithms)
- [**JavaScript**: *Build a ride hailing app with React Native*](https://pusher.com/tutorials/ride-hailing-react-native)
- [**JavaScript**: *Build Your Own AdBlocker in (Literally) 10 Minutes*](https://levelup.gitconnected.com/building-your-own-adblocker-in-literally-10-minutes-1eec093b04cd)
- [**Kotlin**: *Build Your Own Cache*](https://github.com/kezhenxu94/cache-lite)
- [**Lua**: *Building a CDN from Scratch to Learn about CDN*](https://github.com/leandromoreira/cdn-up-and-running)
- [**Nim**: *Writing a Redis Protocol Parser*](https://xmonader.github.io/nimdays/day12_resp.html)
- [**Nim**: *Writing a Build system*](https://xmonader.github.io/nimdays/day11_buildsystem.html)
- [**Nim**: *Writing a MiniTest Framework*](https://xmonader.github.io/nimdays/day08_minitest.html)
- [**Nim**: *Writing a DMIDecode Parser*](https://xmonader.github.io/nimdays/day01_dmidecode.html)
- [**Nim**: *Writing a INI Parser*](https://xmonader.github.io/nimdays/day05_iniparser.html)
- [**Nim**: *Writing a Link Checker*](https://xmonader.github.io/nimdays/day04_asynclinkschecker.html)
- [**Nim**: *Writing a URL Shortening Service*](https://xmonader.github.io/nimdays/day07_shorturl.html)
- [**Node.js**: *Build a static site generator in 40 lines with Node.js*](https://www.webdevdrops.com/en/build-static-site-generator-nodejs-8969ebe34b22/)
- [**Node.js**: *Building A Simple Single Sign On(SSO) Server And Solution From Scratch In Node.js.*](https://codeburst.io/building-a-simple-single-sign-on-sso-server-and-solution-from-scratch-in-node-js-ea6ee5fdf340)
- [**Node.js**: *How to create a real-world Node CLI app with Node*](https://medium.freecodecamp.org/how-to-create-a-real-world-node-cli-app-with-node-391b727bbed3)
- [**Node.js**: *Build a DNS Server in Node.js*](https://engineerhead.github.io/dns-server/)
- [**PHP**: *Write your own MVC from scratch in PHP*](https://chaitya62.github.io/2018/04/29/Writing-your-own-MVC-from-Scratch-in-PHP.html)
- [**PHP**: *Make your own blog*](https://ilovephp.jondh.me.uk/en/tutorial/make-your-own-blog)
- [**PHP**: *Modern PHP Without a Framework*](https://kevinsmith.io/modern-php-without-a-framework)
- [**PHP**: *Code a Web Search Engine in PHP*](https://boyter.org/2013/01/code-for-a-search-engine-in-php-part-1/)
- [**Python**: *Build a Deep Learning Library*](https://www.youtube.com/watch?v=o64FV-ez6Gw) \[video\]
- [**Python**: *How to Build a Kick-Ass Mobile Document Scanner in Just 5 Minutes*](https://www.pyimagesearch.com/2014/09/01/build-kick-ass-mobile-document-scanner-just-5-minutes/)
- [**Python**: *Continuous Integration System*](http://aosabook.org/en/500L/a-continuous-integration-system.html)
- [**Python**: *Recommender Systems in Python: Beginner Tutorial*](https://www.datacamp.com/community/tutorials/recommender-systems-python)
- [**Python**: *Write SMS-spam detector with Scikit-learn*](https://medium.com/@kopilov.vlad/detect-sms-spam-in-kaggle-with-scikit-learn-5f6afa7a3ca2)
- [**Python**: *A Simple Content-Based Recommendation Engine in Python*](http://blog.untrod.com/2016/06/simple-similar-products-recommendation-engine-in-python.html)
- [**Python**: *Stock Market Predictions with LSTM in Python*](https://www.datacamp.com/community/tutorials/lstm-python-stock-market)
- [**Python**: *Building a simple Generative Adversarial Network (GAN) using Tensorflow*](https://blog.paperspace.com/implementing-gans-in-tensorflow/)
- [**Python**: *Learn ML Algorithms by coding: Decision Trees*](https://lethalbrains.com/learn-ml-algorithms-by-coding-decision-trees-439ac503c9a4)
- [**Python**: *JSON Decoding Algorithm*](https://github.com/cheery/json-algorithm)
- [**Python**: *Build your own Git plugin with python*](https://joshburns-xyz.vercel.app/posts/build-your-own-git-plugin)
- [**Ruby**: *A Pedometer in the Real World*](http://aosabook.org/en/500L/a-pedometer-in-the-real-world.html)
- [**Ruby**: *Creating a Linux Desktop application with Ruby*](https://iridakos.com/tutorials/2018/01/25/creating-a-gtk-todo-application-with-ruby)
- [**Rust**: *Building a DNS server in Rust*](https://github.com/EmilHernvall/dnsguide/blob/master/README.md)
- [**Rust**: *Writing Scalable Chat Service from Scratch*](https://nbaksalyar.github.io/2015/07/10/writing-chat-in-rust.html)
- [**Rust**: *WebGL + Rust: Basic Water Tutorial*](https://www.chinedufn.com/3d-webgl-basic-water-tutorial/)
- [**TypeScript**: *Tiny Package Manager: Learns how npm or Yarn works*](https://github.com/g-plane/tiny-package-manager)

## Contribute

- Submissions welcome, just send a PR, or [create an issue](https://github.com/codecrafters-io/build-your-own-x/issues/new)
- Help us review [pending submissions](https://github.com/codecrafters-io/build-your-own-x/issues) by leaving comments and "reactions"

This repository is the work of [many contributors](https://github.com/codecrafters-io/build-your-own-x/graphs/contributors). It was started by [Daniel Stefanovic](https://github.com/danistefanovic), and is now maintained by [CodeCrafters, Inc.](https://codecrafters.io/) To the extent possible under law, [CodeCrafters, Inc.](https://codecrafters.io/) has waived all copyright and related or neighboring rights to this work.

## Releases

No releases published

## Packages

No packages published  

## Languages

- [Markdown 100.0%](https://github.com/codecrafters-io/build-your-own-x/search?l=markdown)