I’ve been making massive headway on tgo, my TypeScript to Go compiler library, but it is forcing me to confront some hard realities about how I manage systems, AI, and even people.

The Cost of Scaling Complexity

Since the last devlog, I’ve added full support for Node libraries—fs, path, process, and a few others. Right now, I’m in the trenches trying to compile Lodash, argparse, and date-fns. I pushed date-fns to the side for a minute because Lodash is proving to be the perfect stress test. It is, frankly, obnoxious. In some cases, the code is just very poorly written.

Lodash has 316 different entry points. Right now, 122 are failing. But dealing with this massive, complex library has forced me to completely overhaul my test runner. I’ve built it so that you can choose specific entry points and compile only what you need—similar to how ES bundle works. I’ve also implemented heavy caching. If you are continually rebuilding, it won't re-compile the source to Go every single time; it just handles the binary compilation unless something actually changed. It’s significantly faster.

But as this project scales, the sheer complexity is threatening to break the system—and by the system, I mean the AI I am using to build it.