HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
codecrafters-io
build-your-own-x
Markdown2018–2026
codecrafters-io / build-your-own-x

build-your-own-x

Master programming by recreating your favorite technologies from scratch.

70Distinct people
83Mentions
0Explicit recommenders
562.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Master programming by recreating your favorite technologies from scratch.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year83 dated mentions

Observed mentions: 2018-05-12 15:18:34 UTC to 2026-07-23 23:23:05 UTC.

051015202018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 9 mentions; 2 submissions, 7 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 14 mentions; 5 submissions, 9 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 15 mentions; 6 submissions, 9 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 18 mentions; 1 submissions, 17 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 9 mentions; 4 submissions, 5 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 7 mentions; 6 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC413
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC927
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC404
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC1459
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC1569
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC18117
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC312
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC945
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC761

From the project README

An excerpt from the repository, fetched Nov 12, 2026.

Read the project’s introduction
Build your own <insert-technology-here> 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 AI Model Augmented Reality BitTorrent Client Blockchain / Cryptocurrency Bot Command-Line Tool Database Docker Emulator / Virtual Machine Front-end Framework / Library Game Git Memory Allocator Network Stack Neural Network Operating System Physics Engine Processor Programming Language Regex Engine Search Engine Shell Template Engine Text Editor Visual Recognition System Voxel Engine Web Browser Web Server Uncategorized Tutorials Build your own Distributed Systems Java: Building Your Own Kafka-like System From Scratch: A Step-by-Step Guide Build your own 3D Renderer 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++: Rasterization: a Practical Implementation 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 Build your own AI Model Python: A Large Language Model (LLM) Python: Diffusion Models for Image Generation Python: RAG for Document Search Build your own Augmented Reality C#: How To: Augmented Reality App Tutorial for Beginners with Vuforia and Unity 3D [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] Python: Augmented Reality with Python and OpenCV Build your own BitTorrent Client C#: Building a BitTorrent client from scratch in C# Go: Building a BitTorrent client from the ground up in Go Nim: Writing a Bencode Parser Node.js: Write your own bittorrent client Python: A BitTorrent client in Python 3.5 Build your own Blockchain / Cryptocurrency ATS: Functional Blockchain 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 JavaScript: How To Launch Your Own Production-Ready Cryptocurrency JavaScript: Writing a Blockchain in Node.js Kotlin: Let’s implement a cryptocurrency in Kotlin 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) Scala: How to build a simple actor-based blockchain TypeScript: Naivecoin: a tutorial for building a cryptocurrency TypeScript: NaivecoinStake: a tutorial for building a cryptocurrency with the Proof of Stake consensus Rust: Building A Blockchain in Rust & Substrate Build your own Bot Haskell: Roll your own IRC bot 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 Node.js: Building A Simple AI Chatbot With Web Speech API And Node.js Python: How to Build Your First Slack Bot with Python Python: How to build a Slack Bot with Python using Slack Events API & Django under 20 minute 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 Rust: A bot for Starcraft in Rust, C or any other language Build your own Command-Line Tool Go: Visualize your local git contributions with Go Go: Build a command line app with Go: lolcat Go: Building a cli command with Go: cowsay Go: Go CLI tutorial: fortune clone Nim: Writing a stow alternative to manage dotfiles Node.js: Create a CLI tool in Javascript Rust: Command line apps in Rust Rust: Writing a Command Line Tool in Rust Zig: Build Your Own CLI App in Zig from Scratch Build your own Database C: Let's Build a Simple Database C++: Build Your Own Redis from Scratch C#: Build Your Own Database Clojure: An Archaeology-Inspired Database Crystal: Why you should build your own NoSQL Database Go: Build Your Own Database from Scratch: From B+Tree To SQL in 3000 Lines Go: Code a database in 45 steps: a series of test-driven small coding puzzles Go: Build Your Own Redis from Scratch JavaScript: Dagoba: an in-memory graph database Python: DBDB: Dog Bed Database Python: Write your own miniature Redis with Python Ruby: Build your own fast, persistent KV store in Ruby Rust: Build your own Redis client and server Build your own Docker C: Linux containers in 500 lines of code Go: Build Your Own Container Using Less than 100 Lines of Go 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 Build your own Emulator / Virtual Machine C: Home-grown bytecode interpreters C: Virtual machine in C C: Write your Own Virtual Machine C: Writing a Game Boy emulator, Cinoop C++: How to write an emulator (CHIP-8 interpreter) C++: Emulation tutorial (CHIP-8 interpreter) C++: Emulation tutorial (GameBo
Read the full README on GitHub

What Hacker News says

83 sources
> If software development is your 9-5, and not your passion. How do you keep improving? You don't really. If you are not able to find 3h a week to make at least one tutorial a week, then do it once a month, but if you are not open to learn outside the job, no matter if it is software development or anything else, I don't see how you can improve. And yes, the best advice is to build things, you don't have to build complicated things. Build things you enjoy. It will help you find time for it. Check https://github.com/codecrafters-io/build-your-own-x - or search on youtube for any tutorial of things you like. Do things you enjoy, and try to finish what you start - but don't overthink if you don't. Just keep building. If it's hard to finish, try to build something smaller, or easier.
In Ask HN: A Message in a Bottle from Gen Z

Showing the 15 most recent of 83 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.