Times are changing
It's been a while since I last checked in, and it seems like a good time to catch up with what's been happening.
A change of mood
Back in November 2025, I described AI as a sandpit - it goes from a small sinkhole into a swirling torrent that pulls in everything. I also stated that I had hopes for AI to grow into a responsible part of life, and that builders would use it with responsible intent.
I still stand by that, but it's time to reflect on it because a lot has happened since I wrote that.
What's changed?
Firstly, Claude. I know that this existed before November 2025, but even since that time, it has changed significantly. I will also openly admit that Claude has become a significant part of my development workflow since April 2026. As such, I've only experienced a small slice of its history, but I think I jumped in at an exciting time.
When I jumped in, I think the 4.6 version of Sonnet and Opus were the latest. I remember reading horror stories of 4.7 being terrible, so for a long time, I pinned my Claude Code VSCode extension at an version which let me explicitly choose 4.6.
And just to be clear, I stuck with Sonnet initially. It did everything I needed it to. I comfortably got a few small projects and things done on the pro plan. No problem.
As time moved on though, I started to realise that I'd had so many ideas in my head over the years that I wanted to make a reality, but had never gotten around to building. It was always a mix between finding time, finding motivation, and not burning out. It's incredibly important to find balance. No matter how much you might want to make a project into something real, if you're burnt out already, you're gonna end up with a bad product (not to mention mental damage which might a long time to recover from).
So, eventually, I moved up to the Max 5x plan. I still stuck with Sonnet, but the 5x allowance felt huge. Suddenly I could build so much more, but the cost was kind of concerning. Still, I figured I'd stick with it, and see what I could do. I don't know how long I stuck with that plan, but I recall seeing myself after a particularly intensive multi-project coding session approaching limits. One time, I went into 'usage-based pricing' (Anthropic gave a bunch of credit when I've moved up between plans), and saw that drain £10 in almost no time at all. That was when the idea of going to 20X plan crossed my mind, and a little while later, I decided to upgrade.
The financial cost
The financial cost is one I couldn't typically justify. At ~£180/month, it's one of those things that I would have scoffed at. Consider that I am the sort of person who spent about 6-12 months getting rid of as many subscriptions as I could and saving over £1500 per year because of it, you can imagine that £180/month is something I didn't take lightly.
I view this one differently. The value that this delivers to me is immeasurable. I'm not saying I'd pay more for it, but that what it offers is incomparable to any of the other subscriptions I've ever had.
What's been built?
The first thing I built was a small web tool called 'WoW Tank-buster rotation cooldown calculator' ( https://wow-tank-rotation-cooldown-boss-fight.pages.dev/ ). This was built specifically to try and help me with a World of Warcraft boss called 'Nullaeus'. I won't go into too many details, but essentially, it calculates the most optimal order to use character abilities in order to 'counter' a specific boss mechanic.
And you know something? Even though I'd spent weeks trying and something like 30 attempts trying to beat the boss, the first time I followed the calculations from this tool, I beat the boss. Yeah, a tool that was entirely built with AI helped me figure out something that I'd struggled to do manually.
Expanding into Nenuzo
Nenuzo. If you've known me for more than a few years, you'll know that I had a project for train times. First called 'Panther' in 2018, then 'Railscope' in 2019, and then 'TheTransportLab' in 2020. My memory of each is a little fuzzy, so forgive me if these aren't quite correct, but - Panther relied on a public API. Railscope moved over to Apollo server with self-hosted data for some parts. TheTransportLab moved up to being a full infrastructure, with a database, data ingest tooling, etc. The latter was a huge project - I don't know how long it took to spin it up, but it was at least 2 months, likely longer. Not just 2 months of ease, but 2 months of very long nights, and dedicating all my free time into it.
In early 2023, I decided to discontinue the project. It was fun while it lasted, but it had outgrown its usefulness for me. The straw that broke the camels back was a bug which popped up which broke everything. I didn't have the time nor motivation to investigate and fix it, so I decided to discontinue it.
Fast forward to April 2026. I'd seen what AI could do, but I also knew that bus data was now open under the 'Bus Open Data Service' launched a few years prior. I use buses as much as trains these days (though I don't use either that often, generally speaking). So, I set my mind to building an app which could display bus locations, potentially with their route or timetable. At first, I tried to do some really clever stuff - like having a small subset of routes in an on-device database. I literally asked Claude to analyse the datasets and find a way to compress it. It sort of managed it, but at 80MB and far from flawless, I decided to scrap that plan.
I went down the route of building out an entire backend with a lot of infrastructure supporting it. First, we've got Postgres hosting around 40-60GB of data. This is the 'static' data like routes, stop times, etc. Backing this, we have Redis, which is particularly helpful for caching things like stop times and routes (there's millions of rows, and even with indexes, there's still a lot to go through).
So, I got this core experience built. Then, I headed to Sheffield for an event. I knew I'd need to catch the bus, but I didn't know where from. So, I decided to use 2 apps - Nenuzo (my app), and the Stagecoach official app. My thinking was that it'd be enough, and oh boy was I wrong.
I know Sheffield, but not that well. I know where the train station and bus station are. I know where various university blocks are, as well as some of the main streets. However, I don't "know" Sheffield. So, when I'm told that I need to head to 'Arundel Gate 7', I know which road to be on, but I don't know exactly where the stop is. I realise Nenuzo will tell me the times but at this point in development, it didn't have searchability. I tried the Stagecoach app - it tells me which stop to go to, but it doesn't actually show me how to get there. If I search, and then I'm walking, it doesn't update to show me where along the route I am.
I found 'Arundel gate 9', and figured that '7' would be the next one along. It was not. In the end, I never found it, and had to go to a different stop later along the route, which was in an area I was more familiar with.
I realised at that moment that I could do better. I wrote notes for myself detailing what needed to happen. I realised I needed a few things - geocoding/reverse geocoding, and routing. I needed to be able to search for places, but I also needed to be able to direct myself towards any location (but mostly bus stops).
Valhalla and Photon
If you know anything about geocoding or 'directions', you know there's a few providers. The first is Google. Very popular. The next is Mapbox. Both are decent options (and there are others of course), but you know where I start to have a problem? When their allowance-based pricing makes it clear that even supporting a small number of users is going to start costing you. I respect their need to make money, but I also refuse it.
That's why I decided to look at self-host options. It took me a while to decide on options, and Claude was invaluable with this. Ultimately, I settled on Photon for geocoding and Valhalla for routing. These are both using datasets limited to the UK. It was at this point, I realised that we were going to hit another problem - resources.
Ever since 2014, I've stuck with DigitalOcean. Their VPS were fairly priced and decent. Even TheTransportLab infra was hosted there. Over the years, I've been running less and less infra projects though. When it came to spinning up the Nenuzo backend, I settled on something like $24 VPS. Decent for the initial stack, not enough when I started wanting to add in Valhalla and Photon.
To get a VPS which would provide adequate resources, it would cost me over $70, so I started looking for alternatives. I'd heard about Hetzner for a long time, but heard a few horror stories (from cancelled accounts to 'someone tripping over a power cable and unplugging it'). Not sure how true they were, but I was hesitant. Then I saw their pricing.
8 cores. 16GB RAM. 320GB storage. €30.59/month. For me, that around £26.50 per month, or to provide a more accurate comparison versus DigitalOcean, around $35.50 USD. Yeah, DO wanted double the money for a server with these specs. It was a no-brainer to switch. The migration took a little while, even to the point of me asking Claude to build an interactive setup script.
Anyway, to cut to the end of the story, Nenuzo went live on the Apple app store a few weeks ago. Future plans include supporting rail data, but that's only in the research phase right now.
What else have I been building?
So. Many. Things. First of all, not all of these are publicly available, but they're worth mentioning.
Deckyard
If you've ever used a 'Streamdeck' (Elgato) or a 'Mirabox' (A cheaper 'knock-off' version), you'll know that their software is... definitely something. It does its job, but it looks like it's straight outta 2012. The user-experience feels limited to say the least. So, I decided to build my own modern version. No account, entirely locally. I've added support for 'Workflows' which are multi-step... well, workflows.
It integrates with OBS (because that's what most streamers use), but also integrates with Home Assistant. Yeah, that's right, I can control my smart home using buttons on a Mirabox.
This software is only tested with a couple of Mirabox devices, and I can't guarantee compatibility with anything else, but give it a try if you're considering options.
Hangar
You might remember that a while ago, I talked about building a self-hosted EAS builder. I got part of the way with that earlier this year, but got burnt out with it after a few weeks. I was up to the point of building a management UI, but I had enough going on that I couldn't find time or motivation to finish it.
I revisited this recently, and well... now I have a full end-to-end builder running on my Mac Mini, including a CLI and management UI. It functions very similarly to EAS - bundles up code, ships it off to the builder, and the builder picks it up and builds it. What's more, I hooked up pushover to it, so when a build completes, I can tap the notification from Pushover, tap the 'install' link, and if I'm on iOS, it won't even need me to open the browser. Do you know how huge this is? I don't have to scan a QR from the management dashboard. I don't even have to open a web browser.
This project isn't public right now. I'm not sure if I'll make it public, but I'm considering it. Even if you don't have a separate builder system, you could probably still run it locally on your laptop and get the benefit of a management UI.
Echelon
You know one of my pet peeves? Email clients. Outlook? Shit. Gmail? Shit. Thunderbird? Less shit, but slow. Microsoft have ruined a lot of things over the years, but the final straw I had with them was when they decided that the 'E1' plan was not allowed to be used with their 'New Outlook'. Which 'new outlook' you ask? I don't fucking know. They've released about 4 different Outlook apps over the past few years.
Gmail. I don't know where to begin with this, but perhaps 'GOOGLE ARE STEALING YOUR DATA' is a good way to go. They can go kick rocks. It's one thing to have email with them (trust me, I know that 'running your own email' is just... not feasible), but I do not trust the app to be on my phone.
Thunderbird. You poor soul. You're not in the same class as either of the other 2, but you too are flawed. You're only on desktop, but you're also frustratingly slow sometimes. The UI is also so damn cluttered. It really is the best of a bad situation.
So, I've been building my own email app. Expo-web project at the core, but back by React Native for mobile native functionality and Tauri for desktop native functionality. Light and airy layout. No analytics. No tracking. Just 'good old email'.
This project is in progress as of writing.
OpenForger
I've been a Fusion 360 user for a couple of years (for designing things for 3D printing), and you know what I hate about it? A couple of things. First, the project limit. I know I can set them as readonly, but it is so damn annoying to be hit with that red bar warning. Secondly, performance. It's not that it's slow during most usage, but the startup time is stupidly long. Thirdly, STEP. I want to export STEP files locally, but I can't do that.
So, I started building OpenForger. This is meant to offer the core features I want from F360, but much quicker startup and local-only. Let me tell you, this is difficult to get right. Most things are in place, but it took a lot of finessing to get certain parts working reliable.
This one uses Electron because I didn't want the core experience (i.e. the actual modelling area) to be screwed up by platform-specific webviews (like Tauri would do).
This project is in progress as of writing.
A PDF reader
This is a simple one. On desktop, I hate that PDF's are associated with my web browser, but I also hate Adobe enough to NOT ever warrant installing their software. So, I built a small PDF reader app. This one is pure rust, doesn't support features like signing or forms. It support the core things like open and print. That's it.
This project is done, but unsure if it's worth releasing.
Jollyfan
I use Jellyfin for TV shows and movies, but one thing I've had trouble with is finding offline clients. So, I had Claude build one. Core is Expo-web, and again it's React Native on mobile and Tauri on web. Now I can download TV shows and movies to watch on the train or bus. I want to say this project is done, but it's also not public at this time. No idea if I'll release it.
This website
I decided it was time to revamp this blog and turn it into a portfolio as well. I feel this reflects my stance a little more - speaking of, let's discuss that.
How do I feel about AI now?
My opinion has changed somewhat. I still believe that people should use it responsibly. Without guidance, you will get slop. Give it to an experienced engineer though, and they can dig down and validate inner workings. They can push back and say "this is wrong, and here's why". Not just validating the pretty things you see, but also the ugly parts you never see.
From my perspective. I've had all these project ideas over the years. Most of them stem from some inconvenience or frustration, but most of them never got built out, and you're left accepting mediocrity.
There's been a lot of projects over the years which I never built out because I shut down my 'discovery' phase. Not for lack of interest, but for self-care. Claude is bringing me back into that, and my goal is now solving all those little issues I've had with software and apps over the years.
For most cases, it's genuinely a case of wanting to run things locally, or seeing existing apps, and doing things in a way I deem to be better (for me).
To put it in perspective, I've built more products to solve problems for me in the past 2-3 months than I have in the past 5 years.
Times are changing
I feel that we are at a turning point. AI is becoming powerful enough to build very capable products, but is super-charged when you pitch it with an experienced engineer. I don't know what direction our industry will go in, but I feel that we could be heading into an era where we focus on describing architecture in detail, validating results and code, and pushing for refinements.
I believe that software engineering will continue to exist, but the way it will exist will be different.