
Three weeks ago I posted about bare, my login shell in pure x86_64 assembly. It was the start of a sprint. Now the whole stack is mine.
bare is the shell. glass is the terminal emulator. tile is the window manager. strip is the bar. show is the file viewer. bolt is the screen locker. All in x86_64 assembly. Single static binaries with no libc or any bloat and with minimum CPU cycles. Built with Claude Code over a few evenings. The CHasm suite.
The Rust side, Fe2O3, absorbed almost every other tool in my daily use. RTFM became pointer and then the rest of my Ruby tools became fresh and rusty; kastrup, tock, astro, scroll, watchit. Each is a static binary, snappy like a rattlesnake and uses memory I can count on one hand.
The only GUI program I regularly run now is Firefox.

A laptop on full battery now lasts more than three hours longer than it used to. The fan is mostly silent. Cold-start times are gone since everything is already warm by the time my finger leaves the Enter key.
I had a chat with Claude about the typical pushback when I tell people that I built my daily-driver tools with AI. The pushback comes in flavours: “I don’t trust AI code”, “yeah, it can prototype, but how do you maintain it?”, “what’s the fun in that?”, “but, but you didn’t actually make it!”.
These all miss the same mark.
I never wrote kitty. I never wrote i3, or zsh, or vim, or Firefox. I ran them for years and never asked who wrote them or how. I cared whether they worked, whether they fit how I think, whether I could lean on them. The authorship question never came up because I had no alternative.
But I got tired of subtly adapting to how applications work. Someone wrote it a specific way, and it may be highly configurable, like the i3 window manager. But it was never exactly like I wanted it. Almost, but not on the mark.
What changed is not who writes the code. It is who has agency.
For three decades the tool was the fixed point and I adapted to it. I learned its quirks, accepted its compromises, built habits around its limitations. Now the tool bends to me. When tile annoys me I describe the annoyance and tile changes. When glass needs a sequence it does not handle, it gets one before the tea water boils.
And when it comes to maintenance… we have done lots. Five bolt bugs found via diagnostic logs I cannot read on my own (machine code), patched, retested, committed, tagged, all in a short stint. The loop is tighter than most teams manage with a full-time engineer on payroll. I read the symptoms. Claude reads the code. We converge.
The “but you didn’t make it” critique falls apart the moment you remember most people are running thirty years of code they didn’t write either. They just had no agency over it. What changed isn’t the authorship question, it’s the agency question.
This is not me telling you to do the same (you could if you just clone the repos for inspiration and let Claude Code go at it to make it how you want it). The point here is that it fits one shape, mine. If your shape is different, build differently. Or do not build at all and use what works.
I am writing this down because the transition has been strange and the strangeness deserves a note. I have been a tweaker since 1999. The tweaking has finally caught up with the tools. There is nothing left to compromise on. That is a quiet kind of luxury.
The next quirk will surface. It looks like it’s going to be replacing my most beloved tool of all: VIM. Time for a better text editor. For me.