Today’s started as a quick and fun one, and then it got me thinking. If you’ve built anything with AI over the last year, go back and have another look at it. The models right now are really quite good, and I’m finding some real improvements in the little apps I’ve made for myself.
My January Project
One of the first things I built this year was my bus tracker. It started life as a big 3D printed button, then turned into a gesture-powered bus and light controller that lives in my coffee zone.
It worked. It was very functional. But I always thought it could be made better, and I had a little list of things I wanted to add myself that I never got round to.
So I gave it to Claude Opus 5.5 and asked it to basically give the whole thing a fix up. I also wanted to see what improvements it could come up with without my help.
Surprise Surprise
Considering where we were in January and where we are now, it found some really awesome stuff.
- The UI looks better.
- New notifications.
- The gesture recognition is way more accurate. How it measures distance is really quite superior to the algorithm I was using before.
The only things I had to give it were a few bits it had no way of knowing, because they were about the human experience of using it, and it has no concept of that.
No More Plugging It In
Because that went so well, I could add some new features really, really quickly.
The big one for me is over the air updates. I don’t need to plug it in to update it any more. I wanted to do this right back at the start and just didn’t have the time. This time I threw it at Opus and said get on with it.
And that has changed how I use it. Now I’m constantly thinking of something, sending it off as a task, and the thing on my counter updates. Think of something, send it off, updated.
I will say I’ve gone a bit off the deep end and have a Mac mini running Linux server OS, which means it’s always on and always ready to help. It also means most of the work now happens on that device, which has made everything very fire and forget. Not to mention that T3 Code is a beast of an app and means I can fire things off from my phone or laptop, no worries.
Lights You Read Out of the Corner of Your Eye
Some of the new bits are just fun.
- Breathing green: When the bus is getting close to leaving, the lights go green and kind of breathe.
- Coffee mode: When I’m making coffee I obviously want the lights white.
- The countdown strip: The far left 3 or so LEDs change colour based on where the bus is. Red, then orange, then green when it’s time to go.
That last one is my favourite. When I’m standing at the counter I can just see it out the corner of my eye. In the picture below it’s saying 19 minutes to the next bus and the lights are red. No need to go just yet.

Refinement Should Be the Goal
Here’s what surprised me though. Opus found so many things to improve in a project that already worked, and that got me thinking. Refinement should be the goal, not the constant addition of features. And yes, I know, I’ve just spent half this post talking about how good add new features is.
Adding a feature costs basically nothing now. With the problem being that because its so easy some of them end up half baked, and they’re only there because adding them was “free”.
The small changes are what I’ve found the most joy in recently. The main features are done, and now it’s about the things that make it run faster and better.
Measuring it all is a big part of that. This was in a blog post from Anthropic and I’ve taken it to heart. I get Claude and Codex to run a load of tests and measure them: how fast, how much data, how much CPU. Then I use that to help refine and update. I was working on another project where all I wanted to do was reduce the RAM and CPU usage and have it load faster, and seeing those numbers fall is addictive.
The app does what it should. It doesn’t need new features, it needs to be as good as it can be. It’s so easy to just move on to the next feature, so that has been my goal recently, holding myself back from building features and constantly adding to a thing. I feel like I can move too fast at the minute, and holding back is now mega important. I always think of this quote when thinking about striving to make some thing even better.
“The pursuit of excellence does not need justification.”
Mitchell Hashimoto, creator of Ghostty and cofounder of HashiCorp
Go Give It a Lick of Paint
So that’s it for this one. If you built something at the start of the year and it’s been sitting there doing its job, go back and give it a lick of paint. It might take you a lot less effort than you think. And when it does everything it should, resist the next feature and see how good you can make it.
Coming Up Next: Hermes
One more thing before I go. I’ve been using Hermes, an AI assistant, with Home Assistant running on a Raspberry Pi plugged into the house. Hermes manages the devices at home, including my heating. I can just ask it questions, have it do research, save things onto a server, and it’s pretty good at troubleshooting too.
That’s the next post.
HAT - Human Attribution TagDirection: Human. 4 minute unscripted voice memo set the angle, the bus tracker example, the features shown and the Hermes tease. Human added the refinement argument and the notifications after the first draft.Research: Human. All facts come from the author's own build and reading; AI only cross-checked details against Blogs 1 and 6 and checked the Anthropic post and Hashimoto quote against their sources.Drafting: Mixed. First draft AI-generated from the voice memo. Human wrote the refinement, measuring and Mac mini passages; AI tidied and restructured them.Review: AI-led. AI review passes flagged the edits; human accepted most, cut the suggested honesty section and how-to list and set the refinement angle.Sign-off: Naji El-Arifi

Leave a Reply