Mike MJ Harris

Upgrading my blog

When I started building this blog I was curious how long I'd keep it going and what I'd write about. Indeed, here's an engergetic passage from the second post 11 years ago:

...I've already built an mvp of the blog - look it’s glowing at you from your screen. You're reading it now. It is a side project squeezed into the small gaps that life sometimes provided but it does give an idea of the thoughts and process that I put into building a project. There were some interesting decisions along the way, I discovered some new tools and had problems to overcome. I’m still iterating and improving. I reckon there are enough navel gazing, meta posts in this project to pollinate the blog and hope it is flourishes into something beautiful.

- Mike Harris, Building a blog, Mar 2015

Meta navel gazing

So that was quite prescient - I have built lots of little things into the blog - from RSS feeds through to extravagant animations, progressive web apps through to automated lighthouse reports. Learnt a bunch along the way and each fun feature provided content for various posts. What I have failed to do is to keep all the libraries and dependencies up to date.

Upgrading the blog

This is a fun project to help learn things. I know how to manage dependencies and they don't provide much joy. The energy to push through and do the dirty work just wasn't there. I remember trying to upgrade handlebars (a templating engine) a few times and getting a bit stuck. Almost anything in life was more important! Fortunately AI came along and in the space of an afternoon my pal Claude worked alongside me in the background and we sorted out all the dependencies. We also did a bunch of slightly tedious but essential things such as expanding the test suite, providing better tooling along the way plus adding in workflows and types. It's a real project now!

Smoothness of AI just gets you going

My friend Werner wrote a longer, more detailed post about using AI to tackle often tedious tasks. Tasks which in the past would have sucked up a lot of time and been intimidating to start but now you're much more likely to tackle.

AI for the tech, me for the words

AI can fix the tech but I'll be writing the words. It goes through AI to check spelling and flag where it thinks grammar might be off but I usually roll with what I have and just use this to tidy up obvious errors.

Conclusion

The building part of the blog has done its job - I've learnt loads along the way, written posts and done talks on how I built it. I'll probably do some fun features in the future but it's a bit of a relief to have finally got the project into a decent state. Almost every job I've interviewed for I've shared a link to a blog post - I'd now feel happier if they actually looked at the code it was running on.

Appendix - updates

A list of everything that my pal Claude built to bring this project up to date. This list was produced by AI because I ain't got time to be copy pasting a bunch of links from github.

Modernising the stack

Bugs found along the way

Safety nets

Making it easier to work on

New features