Back from purgatory!
It's been over five years since I last posted anything on here. So much has changed. AI is everywhere, in everything, including this blog! I finally took the time to ditch WordPress and instead of using something off the shelf, I simply vibecoded my own static site blog engine. There's literally no surface to exploit, no dynamic code or anything and it will scale infinitely - unless Cloudflare or AWS is unhappy.
I've thought about doing this for a long time and expected I'd wind up using Hugo or something like that. Or switch to some sort of static site plugin from WP, and maintain the same admin interface. I nixed that idea - WP has far too many gotchas, technical debt and is too much of a kitchen sink. I'd likely be chasing down link remapping issues or some other silly stuff. I played with Hugo years ago quick and it didn't feel quite right either.
Like everything in life, I break things down to the basics. What do I really need?
- Basic post/page mechanics - title, slug, date/time, a draft and published capability, basic attachments/image support, tags.
- A theme - for this I had it make a basic swappable theme engine - I can have themes "developed" and simply select which one I want the site to use. The one that is in use here is based off one that I liked that was super basic and looked good on desktop and mobile. I simply pointed Cursor at it and said "I like this theme, make a version for me"
- Search - this one wasn't a primary requirement, but it didn't take more than a few minutes for it to code that in :)
- I decided to make it support multiple blogs/sites from a single interface. It technically supports multiple authors, multiple blogs, true multitenancy - although I am not sure anyone else will actually ever utilize it.
I was initially hesitant to embrace AI assistance. Mainly because I always developed my own code by hand, but that wound up having me be the coach and the player, and I would often get stuck on silly details (especially with the depth of admin interfaces, data validation, etc.) and then the frontend delivery of things. Now I've got an always-on, always-ready force-multiplying "coworker" available. I still "develop" in the same way I did before, doing bite size chunks of work, validating it looks/works the way I want, keeping the feedback loops quick. But I can now tackle any language - and I am - if there's an app that I am worried will disappear or "I just want this piece of it" - I can now develop my own purpose-built solution. It's amazing.
Anyway I am still making small tweaks here and there, but for the most part the whole thing is working well. Knowing that it's not a WP install sitting around waiting to be hacked makes me feel so much better as well!