“Don’t reinvent the wheel.”

It is the first piece of advice every developer gets. It is efficient, practical, and safe. It is also the reason why so many of us have no idea how our tools actually work.

We live in the era of the Black Box. We npm install complex logic, we send HTTP requests without knowing how a TCP handshake actually negotiates. We are becoming great at gluing things together, but we are forgetting how to build the glue.

I’ve created this blog to write along the lessons I learn on this journey.

The Skeleton Philosophy

I am not here to build production-ready software. I am here to build Skeleton Projects.

That means stripped-down, raw implementation of a complex piece of technology. It is the “bones” of the software, no flesh, skin, or make up. Explicitly not production-ready.

This started in 2018 when I wanted to understand game engines. Unity tutorials weren’t enough! I needed to go lower level. So I started working on a renderer, game loop and simulation from scratch. Next I wanted to understand interpreters, So I’ll write a parser that can do basic math, even if it crashes on a syntax error.

What’s Coming

I am currently lining up the first few victims for the chopping block:

  • Skeleton Engine: A small library to build 2D games (Loop, Renderer, Asset Manager).
  • Skeleton Interpreter: A language parser that can (barely) run code.
  • Skeleton HTTP: A web server that speaks the raw text of the internet.

This blog is my lab note collection. It won’t always be pretty, and the code definitely won’t be production-ready. But it will be fun and honest work.