Blog
Blog
29 May 20265 min readProgrammingLearningOpen Source

Build Your Own X: Learning by Rebuilding the Tools We Use

A personal reflection on the Build Your Own X repository, why rebuilding real technologies from scratch is such a powerful way to learn programming, AI, systems, and web engineering.

Build Your Own X: Learning by Rebuilding the Tools We Use

The repository codecrafters-io/build-your-own-x is one of those open source projects that feels simple at first, but becomes deeper the longer you look at it.

The idea is direct:

Learn how technology works by rebuilding it from scratch.

Instead of only reading documentation or watching a tutorial, this repo collects guides that ask you to recreate real systems yourself. A database. A web server. A shell. A search engine. A Git implementation. A neural network. A Docker-like container. A programming language. Even a browser.

That is a very different kind of learning.

Why This Repository Matters

Most developers use powerful tools every day without fully understanding what is happening underneath.

We use databases, but may not understand indexing. We use Git, but may not understand object storage. We use web servers, but may not understand sockets. We use AI models, but may not understand tokenization, embeddings, attention, or training loops. We use browsers, but may not understand parsing, rendering, layout, and JavaScript execution.

The Build Your Own X repo gives a practical answer to that gap:

If you want to understand a system, build a small version of it.

It does not mean you need to build a production-ready clone. The point is to build enough of the system that the hidden ideas become visible.

That is why this repo is useful for beginners, intermediate developers, and experienced engineers. Everyone has something they use but do not fully understand yet.

My Favourite Part: It Turns Curiosity Into Projects

One of the hardest parts of learning programming is choosing what to build.

Many tutorials teach syntax. That is useful, but syntax alone does not create engineering judgement. Real confidence comes from building things that have structure, constraints, and trade-offs.

This repo is full of project paths that naturally force those questions:

  • How does a database store and retrieve data?
  • How does a shell parse commands?
  • How does a web server handle requests?
  • How does a neural network learn from data?
  • How does a programming language become executable?
  • How does Git track history?
  • How does a search engine rank documents?

These are not toy questions. They are the same ideas behind real software.

That makes the repo valuable because it turns curiosity into concrete work. Instead of saying "I want to learn systems programming", you can say "I will build a small Redis, shell, database, or Git clone."

Why It Fits My Learning Style

I like learning by making practical systems. That is why this repository feels close to the way I want to grow as a developer.

For example, my own work with Anna, my personal AI chatbot, already touches many of the ideas in this repo:

  • chatbot behaviour and conversation design
  • retrieval over Markdown content
  • tokenization and text processing
  • admin workflows
  • GitHub-backed content publishing
  • Next.js interfaces
  • local development and deployment

Build Your Own X reminds me that every polished tool is made from smaller understandable parts.

If I want to become better at AI engineering, I should not only call an API. I should also understand the smaller systems around it: text indexing, search, memory, evaluation, prompt routing, and user interface behaviour.

If I want to become better at web development, I should not only use frameworks. I should understand HTTP, rendering, routing, caching, and browser behaviour.

If I want to become better at data work, I should not only use SQL. I should understand how data is stored, queried, indexed, transformed, and served.

That is the mindset this repo encourages.

A Good Way to Use the Repo

I would not try to finish everything. The repository is too big for that, and that is not the point.

A better approach is to choose one path based on what you want to understand next.

For AI and data learning, I would start with:

  • build a neural network
  • build a search engine
  • build a RAG document search system
  • build a simple database

For web development, I would start with:

  • build a web server
  • build a frontend framework
  • build a template engine
  • build a browser-inspired renderer

For systems thinking, I would start with:

  • build a shell
  • build Git
  • build a Docker-like container
  • build an operating system component

The goal is not to become an expert immediately. The goal is to replace mystery with a working mental model.

What I Want to Build From It

For my own learning, the most interesting next projects are:

  1. A tiny search engine for Markdown notes.
  2. A simple vector search or RAG system.
  3. A small database to understand indexing.
  4. A basic web server to understand HTTP more deeply.
  5. A miniature Git-like content tracker.

These projects connect directly to Max Hoang Journal and Anna.

Anna already depends on content, search, routing, and admin workflows. If I rebuild smaller versions of those systems, I will understand my own website better. I will also become less dependent on black-box tools.

That is the real benefit.

Final Thought

Build Your Own X is not just a list of tutorials. It is a reminder of a powerful learning principle:

Rebuilding something changes how you see it.

After you build a small database, SQL feels different. After you build a web server, HTTP feels different. After you build a search engine, ranking and retrieval feel different. After you build a small AI model, machine learning feels less magical and more mechanical.

This is the kind of learning that stays.

For me, this repository is a project library, a roadmap, and a challenge. It says: do not only use the tools. Open them up. Rebuild a smaller version. Learn the moving parts.

That is how software becomes less mysterious.

Continue reading

Generated cover for Agent Memory, Skills, and Browser Automation
Blog post

19 May 2026 / 4 min read

Agent Memory, Skills, and Browser Automation

A personal note on persistent agent memory, reusable agent skills, and stealth browser automation as the next layer of practical AI engineering.

  • AI
  • Agents
  • Automation
Generated cover for Data Analyst Portfolio Project #1 | Build a Database | Develop SQL | Create a Dashboard
Blog post

5 May 2026 / 1 min read

Data Analyst Portfolio Project #1 | Build a Database | Develop SQL | Create a Dashboard

I am going to use Excel, Microsoft SQL Server Management Studio, and Power BI to follow a data analyst portfolio project.

Generated cover for Common NLP Questions and Answers
Blog post

22 May 2026 / 13 min read

Common NLP Questions and Answers

A study note answering common NLP questions about ABSA, tokenisation, Naive Bayes, vector semantics, logistic regression, RAG, fine-tuning, hallucinations, and ethics.

  • NLP
  • Machine Learning
  • Text Classification
Max Hoang Journal

Practical notes on AI, service improvement, data-powered products, and public-sector innovation.

Latest writing

Events

This week and what's next

Webinar | The Secrets to Success: An Interview with the Hackathon Winners | 25 August 2026 media
Coming up

Webinar | The Secrets to Success: An Interview with the Hackathon Winners | 25 August 2026

25 Aug 2026

Online

Review Notion content databases and plan homepage updates.

View event
Gov Hack Award - Sydney media
Passed

Gov Hack Award - Sydney

8 May 2026

Charles Darwin University

Upcoming sprint for AI product prototypes and portfolio case studies.

View event
RIMPA Global's Hackathon
Passed

2025 GovHack presentation - Department of Home Affairs

7 May 2026

Online

We will showcase our winning GovHack 2025 product to more than 50 Australian Government professionals from different departments in Canberra.

Rimpa Live Global Hackathon 2025 - Melbourne media
Passed

Rimpa Live Global Hackathon 2025 - Melbourne

18 Apr 2026

Online

Past review session for blog, project, and media content structure.

View event
NT Digital Excellence Awards 2025 media
Passed

NT Digital Excellence Awards 2025

7 Nov 2025

Darwin, Northern Territory

Winners for the 2025 Northern Territory Digital Excellence Awards were announced on 7 November 2025. Hoang Cuong (Max) Ngo was listed in the CDU Code Fair Overall Award winner group.

View event
Darwin | Symposium
Passed

Darwin Symposium

13 Aug 2025

Darwin, NT

Join me and other industry leaders on August 13-14 at the NT Government's In-house Venue. I'll be discussing "AI Websites That Earn - Build Without Coding Skills" and am looking forward to connecting with fellow information management, records, and compliance professionals.

View event
Copyright 2026 Max Hoang.Built with GitHub-backed content.