danistefanovic

build-your-own-x: Learn by Recreating Technologies

A curated collection of step-by-step tutorials for recreating software and computing technologies from scratch. Use it to explore how systems work through hands-on projects across many languages and technical domains.

Stars
551k
Forks
51.7k

Our take

Health score

58/100

How it is scored
Activity
31
Community
75
Issues
82
Pull requests
44
  • Closes issues faster than 83% of the projects we track
  • More contributors than 77% of the projects we track

Overview

build-your-own-x is a categorized directory of external, step-by-step tutorials for building familiar technologies from scratch. It helps developers move beyond using tools by finding practical learning projects that reveal how their underlying components work.

The collection spans topics from databases, programming languages, and operating systems to AI models, games, and web servers. It is a resource list rather than a software package: choose a topic and language, then follow the linked tutorial. See the README for the full catalog.

Key Features

  • Organizes tutorials into technology-focused categories, including databases, Git, shells, network stacks, and web browsers.
  • Labels many entries by implementation language, helping readers find projects suited to their experience or interests.
  • Links to varied formats, including written guides, video tutorials, books, and code repositories.
  • Includes beginner-friendly small implementations alongside broader, more involved learning resources.
  • Covers both foundational computing topics and application-level projects, including neural networks, bots, and games.
  • Accepts community submissions through pull requests and issues.

Use Cases

  • A developer learning systems concepts can pick a topic such as a shell, database, or TCP/IP stack and study it by implementing a small version.
  • Someone exploring a new programming language can find a tutorial that uses it to build a concrete project.
  • An instructor or study group can use the categorized links to assemble hands-on exercises around a particular computing topic.
  • A developer curious about AI or graphics can use the list to locate implementation-focused learning material, rather than only high-level introductions.

Getting Started

There is no installation step. Browse the README, choose a category, and follow a linked tutorial.

Considerations

  • This repository curates external learning resources; it does not provide a single implementation, runtime, or unified course.
  • Tutorial depth, format, language, and prerequisites vary by entry. Check the linked resource before committing to a project.
  • The README lists no license value for the repository. Individual linked resources may have their own terms.

Found this useful?

Share it with someone who would like build-your-own-x.