This Time Self-Hosted
dark mode light mode Search

This Blog, Brought To You Through AI! (Well, Kinda)

When I last wrote about AIs (well, technically, LLMs), I have noted that I’ll never use LLMs to write articles for this blog. I am not breaking said promise! Much as I’ve been tempted to let an LLM write a “Privacy Policy” page (since it would all be boilerplate anyway, I’m not tracking anything, and the only third party cookie is from WordPress/Automattic themselves), I don’t plan on ever letting an LLM try to pass for me. Heck, I refuse to even use tools like Grammarly, because I don’t trust their privacy policies, to the dismay of a few readers.

Where I have actually used an LLM is to get myself a tool to write this blog more easily. I have let agents, and multiple models, under my active supervision, build an Android app: a WordPress client, optimized to be used with eInk displays such as the Max Lumi which I already used up until recently to write later at night.

You may or may not know that – when I bought the Max Lumi and started using it – I have struggled badly with the various ways I had to write on it. The native Android app (“Jetpack”) is terrible on eInk, with most of its UI being shades of gray or colour. What worked the best, for a while at least, was using Edge for Android to access the Web UI. Not my favourite option to be honest, but it was workable, as long as I didn’t care about writing offline.

I had, at first, thought of writing a “Free Ideas” blog post, but even when I tried offering to pay someone to implement something I needed, I got no responses. So instead, given I’ve been playing with LLMs already to keep my skills relevant to the industry I find myself in, I decided it was a good time to try “vibing” something I had no experience with before at all: an Android app.

In my previous experiments with Claude, in particular, I had been using it either for obvious boilerplate (Ansible) or a service for which I had at least a decent understanding of (my pdfrenamer and Paperless integration.) This is the first time I decided to throw an LLM to a problem I had no idea how to solve myself, instead of solving something that I could have fixed myself, but would require me more time than I had available.

The end result is something quite workable, as you can see from this post, which I’m insisting on keeping edited only exclusively from the app itself, to make sure the whole flow works out correctly. Workable doesn’t mean maintainable, and definitely not perfect. I used Forgejo to “pair” with the LLM in terms of testing and requesting changes, and it took well over a week before I had something I could actually type onto, with over 50 issues reported, and a handful of them re-opened until they could actually be cleared. And I have obviously no idea how to maintain this if I lost access to every LLM on the planet.

Does this make me a doomerist, suggesting that software engineering as a profession is dead? Not really. Does it make me a cultist, suggesting that software engineering is obsolete? No. Does it make me a dismisser that thinks “AI” will never replace me professionally? Not that either. I think I’m still skeptical of all of these statements. But like with many other topics, I believe that the only way to form a valid opinion is at least approaching the reality with a healthy dose and skepticism and an open mind at the same time. Hey I even did that for cryptocurrencies – and yet I call them carboncurrencies still to this day! Approaching something doesn’t mean necessarily accepting it as a dogma!

What I can say is that, as tools to start a MVP (Minimum Viable Product, because we have too many overlapping acronyms), LLMs work like a charm. If I was going to try to productionize this app to share it with the world, and put it on various Android stores, I would probably need to spend more time understanding what the LLMs generated, because I wouldn’t trust it to keep it up to date for me. And of course, even though this all started with me describing what I was looking for, it doesn’t mean that I magically got everything I wanted the first time around. Software engineering was never exclusively about coding, in my opinion – which is likely formed through translating the eponymous Ian Sommerville’s book. Which is why I’m not expecting it to be a dead end. It is going, though, to change drastically: architectural decisions, UI layouts, and user acceptance testing are going to become increasingly more important than they have been over the past 50 years.

And yes, I am considering making this app available, even though it’s really just a scratch-my-itch kind of app. While I’m optimizing it for eInk displays and my own workflow (including an in-app Compose key support, since I couldn’t find a reasonable way to get this done with Android IMEs while also keeping the hardware keyboard support working), there’s nothing that is particularly tied to my own setup: it’s a WordPress client using application-specific password, with a minimalistic block editor and full offline drafting. It’s my ideal editor which I’ve been looking for for over 12 years!

Unfortunately, blogging is now an increasingly lost art. Newsletters and “Substacks” appear to be the mainstream alternative, but even those are becoming rarer and rarer, and I have found myself unsubscribing from a few that turned out to become a source of AI slop. Which is why I found myself needing to build my own tool in here. It’s definitely not something I expect most people to want to do in the first place, but it is something that is now within reach of most people with enough cash flow.

Post Scriptum

I have provided preambles a number of times regarding my views on LLMs (“AI”) and their usage, and their relationship to my employment. Even these ended up getting complaints because they were too long and verbose, so this time you’re all getting a post-scriptum instead.

The opinions I share on this blog are my own and do not reflect my employer’s. And that should be obvious, since my current employer has invested a lot on “AI”, and I don’t even like using the term. I’m not being paid by anyone to hype up anything in this post — heck, I have not even shared which LLMs I used to do this, intentionally!

Personally, as I said above, I don’t believe software engineering as a profession is done for. I think it is definitely going to change, significantly, in the next few years. I think that there will be a lot more value in the non-coding components of the job. If I was interested in the sociological aspect of this, I would probably be looking in the evolution of machining and mechanical design with the advent of CAD/CAM and CNC.

There are definitely a number of things that, as LLMs become more capable, will sound as obsolete as turning metal pots on a lathe — and yet there are plenty of people turning objects on a lathe to this day! Artisanship has not completely been replaced by industrial-scale manufacturing. In many fields, LLMs are bringing a similar “revolution”, as tasks that used to consume people’s time can be given to an LLM to complete, trading time for money, in a similar way as Cloud Computing does to infra.

What I don’t think LLMs will actually do is replacing the creative industries, no matter how both the doomerist and the hyperists insist they might. LLMs can generate generic images and placeholders, and they might be currently eating into some of the customer base of illustrators and cover artists — but it’s not going to stay like this once the novelty fades, just as Microsoft Wordart hasn’t replaced graphic designers before. Nobody who cares would want their covers, signs, or even business cards look generic like everyone else — the people who are now using “AI art” for their own commercial venues were not going to pay an artist to do the illustrations in the first place.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.