An Ad Hoc Decade

Well, would you look at that 👀 Today is the ✨ ten year anniversary ✨ of my first blog post on this good ol' website. That feels like a pretty big milestone ‒ something worth celebrating 🥳

I've never really bothered with this kind of post in the past, mainly because I'm not sure what I would say. But having had a fixed place of residence on the web for a whole decade? Ten years ago, that was exactly the kind of thing that I wanted to be able to write one day. And now I can!

A lot has changed around these parts over those years, and whilst I've written about some aspects of those changes as I went, I've never really tried to create a chronology of theAdhocracy. A birthday felt like a good excuse to reminisce, so allow me to indulge myself 😁

Pre-Hoc: v0

Tinker, Tailor, Moderator

I've been dabbling in the web since I was a teenager, ever since I first peaked under the hood of an Invision forum board. I started making small tweaks to the HTML, building out basic "news banner" mods and simple style plugins. As I began moderating, and then running, my own forums, I found that administrator privileges unlocked even more tinkering opportunities.

Because of the model of forum hosting that everybody used ‒ a freemium reseller situation, where you could register a forum at no cost, and then buy paid upgrades ‒ I could never delve into the back end or modify the underlying code. Not directly, at least. However, discovering jQuery changed all that. It fundamentally warped how I saw the web, giving me the power to actively modify the structure of a page. Suddenly, I found I could bend a website to any shape I wanted. I could add interactive capabilities, or persist data in cookies. I was never really extending the functionality of my forums, but it felt like I was. Entire evenings vanished hacking away at little scripts and code snippets, injecting HTML, warping DOM nodes, and building out event listeners.

I'd caught the coding bug 😁

Welcome To The Web

What is the shortest word in the English language to contain every single vowel? Exclusionary? Coequality? Sequoia[1]? Actually, it's eunoia[2]. "The feeling of good will built between a speaker and their audience." Why do I know that? Because when I was getting ready to leave school (and jet off around the world with a childhood friend) I was just arrogant enough to believe that my few years of experience modding forums, building MySpace and Bebo themes, and generally poking at the seams of the web, was sufficient to make me a freelance web developer. Said travelling companion was also a (legitimately) excellent graphic/web designer, and together we thought we could start a digital agency ✨ All we needed was a name. We wanted it to be unique, with minimal competing search terms, and something that felt like a conversation starter 🤔 And so, Eunoia Studios was born!

This initial foray into the world of commercial web development was, surprisingly, a partial success[3]. I began in the most classic way possible, building out our own website, which I'm still quite proud of. This introduced me to the world of WordPress and PHP, which opened up even more avenues in my mind. It also provided the perfect space to create a travel blog. I'd already been dabbling with writing online, first on platforms like Bebo and DeviantArt, as well as via long-form forums, but through trying to understand web technologies, I'd come to deeply respect many of the folks I still follow, all of whom wrote on their own websites. I wanted to emulate that, and now we had both a website, and a reason to write[4].

From Tiny Acorns...

Before there was a website, there was an idea.

Eunoia Studios fizzled out the moment we headed off to uni, but my interest in the web never waned. I continued "freelancing", helping debug family member's websites and even building a few from scratch for collegiate societies and student theatre groups. Without a designer by my side, I'm not sure that I was genuinely proud of anything I created during those years, but it kept me involved and, at the very least, helped improve my code 😉

During one summer, an(other) old school friend reached out. He was working for someone who had a hand in several local takeaways and bars. They wanted to improve their digital footprint, and he figured I might be able to help. This felt like a proper job option, and so I began fleshing out a few ideas, hopped on a train, and gave my first (and last) website pitch. In the end, almost nothing came of that presentation; I wasn't very good at selling myself, and his boss wasn't anywhere near as interested in digital marketing as my friend was. But it did plant one little seed in my mind 🌱

Y'see, I'd wanted to do things properly this time around. I'd learned from Eunoia that a lack of clear contracts, deliverables, and deadlines was a recipe for failure, creating a quagmire of confused requests, knee-jerk reactions, and general dissatisfaction. So I'd prepared some basic documents outlining the process, my fees, expectations, all that good stuff. And I'd wanted these to look professional, so I needed some kind of branding. I needed a name.

Around the same time, some friends had realised that my otherwise problematic surname[5] was phonetically similar to "ad hoc", which they also felt fit my personality 😅 It helped that, being called Murray, the two could be combined into "mad hoc", which became a short-lived nickname. I liked it, and so when I was trying to name my "business", it felt like a good starting place. "Madhoc" was a little too, well, mad, but I began digging around for other derivations, and the term adhocracy jumped out of the mix:

An "adhocracy" is a flexible, adaptable organisation, defined by a lack of formal structure and an abundance of spontaneity. The antithesis of a bureaucracy. Able to embrace new ideas rapidly.

Oh, I like that!

I liked that it was distinctive; I liked that it had a direct connection to my name; and I definitely liked how easy it would be to spin into marketing material 😄 Flexible, adaptable, and open to new ideas? Ideal!

Of course, I was hardly the first to stumble onto the term, so SEO wasn't going to be as easy as it had been with "eunoia", but it ticked too many boxes to ignore. And so that term ‒ adhocracy ‒ sat in the back my mind, slowly germinating. Over the following handful of years, I'd often return to it, sketching out a portfolio, or an agency website, a logo, or just a plain old blog ‒ turning it around and around to see where it fit best.

Bare Bones: v1

5th July, 2015

Several years passed, and I found myself still trapped in that same design cycle. Inspiration would strike, and I'd dive into Photoshop, designing the perfect website, only to get smothered by the details, burn out, and achieve nothing. Again and again, over and over. One step forward, two steps back.

The only thing I could agree on was that name: adhocracy. Years later, and it still felt right.

Of course, the plan had evolved; I was no longer interested in creating a one-man agency, or building out a freelancing career. I was already working as a software engineer in the South West, and so I had no need for a portfolio or "brand" any more. What I wanted was a space that I could call my own.

My first attempt to break the design iteration cycle was to set up a Tumblog. Somewhere with minimal theme options and a robust, existing suite of tools. Somewhere I could just write, and forget about everything else. This worked well enough for a few months, but I missed being able to tinker and tweak; I missed being in control.

So, with a slightly lazy summer stretching ahead, in July 2015, I decided to knuckle down and get something online. I gave myself a weekend. I bought a domain name and some hosting. Installed WordPress. Wrote something. Hit publish.

It was hardly a lengthy diatribe, and it wasn't much to look at 😅 I'd purposefully removed the default themes and styles that WordPress ships with, opting for a bare-bones skin, basically just raw HTML, browser styles, and a few minor readability tweaks. But it was mine.

... just some HTML and CSS that I wrote, on a server I paid for, found via a URL that I decided on.

At the time I called the launch of this site a big deal. Ten years later, I stand by that!

Styling It Out: v2

8th June, 2016

Not even a year later, and those rapid-fire early decisions were beginning to buckle under their own weight. I was already feeling the pain of building atop WordPress ‒ a pain that had completely stalled any attempts to get a personal theme off the ground, resulting in a site practically identical to the day it was launched.

But much more than that, I was running up against a looming bill 😬 That super cheap hosting I'd grabbed a year prior was up for renewal, and they'd bumped up the price to a frankly extortionate amount. I'll admit, these days, I pay a lot more for hosting than I would have felt was reasonable at that time in my life, but ridiculously, even now, I pay less annually than that renewal fee 🤯

I began shopping around, and thankfully landed on a group called SmartHosting. They marketed themselves as a small, scrappy, UK-based outfit, with outstanding customer reviews and a strong environmental streak. The migration was a little painful but, nine years later, I cannot believe how worthwhile it was! SmartHosting are long since gone, subsumed into another company barely a year after I joined them, but that company, now known as Krystal, has been faultless.

They remain my primary web host, I attended their own birthday party, and I've even applied to work there (admittedly unsuccessfully 😅). They've kept those strong environmental ethics that attracted me to SmartHosting, becoming a B Corp, partnering with green energy providers, and even planting trees regularly on my behalf. And they continue to impress, trialling four-day work weeks, embracing flexible working, and consistently providing top-notch support. I honestly won't be surprised if I'm still with Krystal in another decade 😁 (And if you fancy checking them out, my referral code is "adhoc" 😏)

Of course, with a change of hosts came an opportunity to change things up more generally, and so v2 of theAdhocracy was born. If you had visited the site, you'd be forgiven for thinking that this was a major overhaul, but in reality I'd just re-enabled the default WordPress theme and ripped out some plugins I'd been using.

Still, what was left was a site with some style; arguably just enough to match its substance 😉

A black and white website, with a single feed of articles on the main page, thick black border, and sidebar with various groups of links, each divided by black lines. Includes search, recent posts, and comments.
I'll give WordPress this, the default theme does have a certain style to it.

The Great Gatsby: v3

20th July, 2019

Keeping with the (strange) theme of only making major changes to the site in the summer, three years passed until the next big shift came about.

In that intervening period, I had tinkered in small ways with the WordPress theme, but had found battling the CMS to be so demoralising that I'd basically left the site as-is. The same couldn't be said about the rest of my life, though.

After several years in the South West, we'd uprooted our lives, left our jobs (and our comfortable, park-side flat), and moved to the Big Smoke. That geographic change had paired with a career switch, as I found myself working in a marketing team, focusing on copy editing and writing... with a dash of web development on the side. Ironically, in some ways, this website, intended to be evidence of my development skills, had directly netted me a role as a professional blogger. A win's a win, I guess 😅

As 2019 had rolled around, though, my technical abilities had become increasingly useful to my employer. By the summer, we had some fairly big plans in the offing, including launching a new sub-brand and reworking our internal content architecture. The business wanted to escape from an overly expensive support contract, and I saw an opportunity to finally get into the industry I've been flirting with since I was a kid.

The only problem was that I knew I was rusty. I had barely touched my own site in years, let alone tried to build one from scratch. And I was still stuck in WordPress land, whilst the rest of the world had (seemingly) moved on. Pop along to a London coding meetup, and everyone was talking about React, JAMStack, headless content, and component architectures (amongst a dozen other buzzwords, often in the same sentence 😅). I needed to knuckle down and reskill, and what better way to do so than by finally fixing some of the problems at home. My digital home, that is.

So that's what I did. I grabbed access to a Front End Masters course from a colleague for a weekend, and set about digging into this new world. I'd already been doing quite a bit of CMS research at work, and had zoned in on Craft a month or so earlier. Initially, I'd actually written it off as too similar to WordPress; after all, everyone else was using fancy, Cloud based services like Contentful ‒ they were clearly the future. Thankfully, my employer was a little wary of the rapidly escalating price estimates on that platform (and similar services), and had asked for something we could easily host ourselves. Craft ticked that box, and by the time I'd finished playing around with some demos, I'd realised it ticked a lot of other ones as well. It became the obvious choice, not just at work, but for my own site as well.

That was a great move. I'd rank choosing Craft up there with landing on Krystal for hosting: it's one of those decisions that I don't think I'll ever regret. Whilst a few subsequent upgrades have been a bit of a slog, each has also brought some genuinely impressive new functionality to the table. It's fair to say that my site could not have evolved in half of the directions it has without the rock solid core and tools that Craft provides. And, as a bonus, it's pretty simple to get it running in headless mode, enabling all of the advantages of those Cloud competitors at a fraction of the cost.

The same cannot be said about the other half of the tech stack I chose to migrate to. We were already using React at work for some internal tools, and one of my colleagues was particularly enamoured with Gatsby, so that's what I went with. It made sense at the time, it's what I needed to learn for work, and, to be fair, it was directly responsible for the trajectory my career ultimately took. But React 😬 I certainly know how to pick 'em...

What Gatsby definitely did far better than WordPress was allowing me deeper access to the structure of the site. Gone were the headaches around themes and block editors; here was a kind of design iteration I enjoyed! Get in the browser, play around, move it to a CSS file, repeat.

As a result, over the course of a couple of months, I'd managed to migrate all of my articles out of WordPress, redesign my content architecture, and then code up a whole API and front end combo to render it all out. It had taken much longer than I'd originally hoped, but I'd had fun doing it, so hadn't really cared.

Finally, by July, things were ready to go. I'd already been writing new articles in Craft for some time, and was utterly enamoured with the publishing workflow there. All I had to do now was hook my front end up to GitHub and Netlify, watch it all spin up on their servers, and take it for a ride.

From an outside perspective, theAdhocracy morphed overnight from a fairly boring, black-and-white blog, most reminiscent of the Web 2.0 era, into a dynamic, vibrant, and fast static site. There were gradients. There were interactions. There were dynamic, cross-linked footnotes! I'd even put together a small logo, based on a sketch I'd done way back for that initial design pitch ‒ and if you hovered over it, it flashed all of the colours of the rainbow. I think a few of my colleagues were quite surprised 😂

As I wrote at the time:

What I had four years ago was a start, whereas this is something more. It's a little pocket of the web which is entirely mine. I designed it, I built it, I deployed it, and I will continue to enhance it in my trademark ad hoc manner.

A rainbow gradient above a vector-art style doodle of a persons face, with shaggy brown hair and a bushy brown beard. Text below, also in rainbow colours, read "the adhocracy"
Rainbows baby! (I also cannot explain how tricky the eyes were 😂)

16th February, 2020

And hey, would you look at that? I actually did!

Whilst those major projects at work had kept my coding brain utterly occupied for the latter half of 2019, I'd come into a new decade bright-eyed and ready to tackle some more ad hoc challenges. As history is now very aware, 2020 was not to go the way anyone had planned, but in February the spectre of COVID was still only a few whispers in the wind, whilst our personal lives were surprisingly quiet.

The result was the first ever dot release of theAdhocracy 😲 I'd been chipping away in the background at a new API endpoint for what I'd dubbed "journals": articles about my life, tethered to a specific point in time. Holidays, gigs, outings, special occasions, and events of any kind. I wanted more personal content on the site, but had become wary about posting small, inconsequential articles on the main feed (not that anything I write is ever consequential 😂).

So I wrangled together some new components, stuck them on a page template, hooked up the API, and boom, I had a whole new page on the site. Plus, for the first time since 2015, the main site navigation had a new link in it! Would you look at that? I'm actually building new functionality and making minor, incremental improvements. Huh!

That's the fun thing about having your own website: you can make it do what you want, when you want to. It's been fun reminding myself of that.

15th March, 2020

Two major, globally significant events happened in March 2020:

  1. The world officially entered a global pandemic, and;
  2. There was an IndieWebCamp in London.

As lockdowns and conferences don't mix too well, the latter was moved online. I was down to attend anyway, and I used the experience (alongside my impending redundancy) to finally "join" the IndieWeb.

I began dabbling with arcane technologies, like webmentions and IndieAuth. Out of various cracks and crevices, microformats bloomed across theAdhocracy. The footer spontaneously generated rel="me" links. It was a lot of fun 😉

(Around this time, and with absolutely no fanfare, I also added notes to the site. I wonder if there's a partially written post somewhere about that...)

4th May, 2020

For as long as I've had a website, I've bemoaned the fact that I couldn't easily search through it or cross-link the content. Now that I had three separate content types all vying for attention, and a rapidly expanding collection of articles and notes, those problems were only growing. Whilst being furloughed had its distinct downsides, it did give me a lot of free time. What better moment to dig into site search and finally get something working?

Given that I was still deep in the lands of React ‒ and now actively job hunting in that world as well ‒ I took a look at the darling of the ecosystem, Algolia. A new API was created to make ingestion to the service easier; categories were refined and turned into filters; tags became search term shortcuts.

Over the coming weeks, I'd continue chipping away at the problem, slowly building a system that I really enjoyed using. I have to say, of all the "JAMstack" style services I've used over the years, Algolia continues to set the benchmark for how to do things well. It also proved to be quite the content mill 😅

13th June, 2020

As the pandemic dragged on, so did the job hunting, and theAdhocracy became equal parts worry stone and potential portfolio. Over the months, article pagination, further reading lists, and shareable search results were all added to the site, alongside various quality of life improvements and bug fixes.

I also began to take accessibility a lot more seriously, and whilst there remain many legacy issues to this day, I did manage to remove quite a few major barriers.

Amongst all of this, yet another new content type appeared. I'd been writing reviews of films, books, and games for almost as long as the site had existed, and the Craft migration had made it trivially easy to split them out into their own content type. The problem was, I'd never found the time to work out an actual interface for them (let alone a URL structure). Well, procrastinate no more: reviews had arrived.

Within a week, I'd also added a dedicated search feature for the reviews section; enabled filtering by rating; and added a default spoiler warning to every post. That nav bar was beginning to look crowded 😲

Search all reviews, with a vibrant colour scheme, a handful of reviews shown as cards, and filters for media type (film, book, etc.) and rating.
That rating filter remains a complete nightmare of spaghetti code. One day I'll crack it!

30th July, 2020

Continuing the trend of working my way through long-standing items on my technical to-do list, late July saw the integration of webmentions to the site. My release notes from that day state that the "website now accepts and sends webmentions", but I have absolutely no idea why I ever believed that. To this day, I haven't managed to get sending to work 😅

Unfortunately, looming work commitments (there really was no upside to the pandemic, was there) finally put an end to this otherwise unrivalled period of productivity 😔

How The Turns Table

26th May, 2021

Whilst my passion for tweaking the main site had dwindled, a combination of a long-standing irritation (I can't scrobble analogue music formats) and a fair bit of nerd sniping from Andy Bell combined to form a short lived, but intense, desire to spin up some new functionality.

Rather than attempt to bolt this onto my existing site, I decided to dip my toes into the depths of microsites and subdomains. And thus, the Hall of Records was born! I was already totally over Gatsby, but my attempts to escape React were in vain, and I ended up defaulting to the platform I was using predominantly at work: Next.js.

In many ways, I'm still a big fan of that microsite. It's easily one of the most-used tools I've ever built for myself, and I've absolutely adored watching it evolve. I don't even hate that it's stuck on React all that much, as I can basically ignore the maintenance of it entirely. That said, I've recently begun to wish it one or two more integrations, so a v2 may be on the horizon.

Four record covers, one with a bright blue vinyl coyly sliding out from the side, beneath a title reading "an ad hoc hall of records".
I think the record collection remains one of my best pieces of design to date; I absolutely love the shy little records, peeking out when you hover their covers 😁

We Have Launch: v4 (alpha)

17th October, 2024

Leaping forward (another) four years from the last major change, and I was becoming increasingly aware that the codebase was little more than a tangled nightmare of dependency warnings. Whilst Craft continued to age gracefully, Gatsby had aged like milk. I had hoped that things might improve after its sale to Netlify, but had been dealt the complete inverse. Abandoned, rapidly falling behind the curve of React's continued march towards overcomplexity, and not even that well supported on the platform that now owned it, a decision that had started as a bid for freedom had quickly ensnared me in new chains.

I began casting about for a potential replacement at some point in early 2023. I'd dabbled with Eleventy, and had considered moving over to Next, even if it was just a stop-gap, but it was hard to get really excited about either of them. And then I decided to get married.

With a wedding came a wedding website, which proved to be the ideal testing ground for Astro. Whilst there were a few rough edges that took a minute to sand down ‒ and I ended up using some React on the site anyway ‒ I found myself thoroughly enjoying Astro's mental models. It felt even more freeing than Gatsby had, first time around, because it felt like working with the web again, rather than constantly against it.

So, a year or so later, when I came to release a fairly arbitrary article and my Gatsby build chain just obliterated itself[6], I decided enough was enough. I scraped together some time over a month or so, ripped out all of the over-engineered React, refactored some of my APIs to solve some long-standing technical debt, and relaunched, leaner, meaner, and a tad better designed than before.

I'm still classing the site as being in an alpha release, mainly because I'm no longer happy saying that a partially inaccessible interface is "done". Still, it's fair to say that v4 is officially here. From a functionality perspective, not a lot changed, but under the hood it was an almost complete refactor.

Most importantly, though, coding felt fun again. Again 😄

2nd December, 2024

After a month of just enjoying tinkering again, the final flicker of React to be found on theAdhocracy was extinguished: Algolia was gone. As part of the most recent Craft upgrade, I'd realised that it should be possible to utilise Craft's own internal search capabilities to power my own API endpoints, and completely cut out the middle man. Turns out, I was right!

There have been some teething pains, and it's definitely not (yet!) as performant as I would like, but it's probably the part of the refactor I remain proudest about. If you'd told me back when I first began using Algolia that a few years later I'd be capable of building out a suite of API endpoints, an entire component architecture, and a bunch of server-side rendering logic to get real-time search working from scratch, by myself, I'd have probably had a good chuckle. But here we are 😎

27th May, 2025

Which brings me onto the final major shift that's occurred around these parts. Once again, it happened because a service that I've used for years suddenly did something that didn't sit right with me. Specifically, it asked me to cough up some money.

In this instance, my move to server-side search had meant utilising some Netlify Functions. But you can't always predict how many functions something is going to use, and I'd been running a few experiments on my account, without realising that if any one of them tips over that "free tier" threshold, all of them go down ‒ even the static sites that don't even use serverless computing 😬

One runaway function call later (best guess: an AI scraper hammering a page in an endless loop) and theAdhocracy went offline for the first time in years. Hell nah, I'm out!


So there you have it. A decade ago, theAdhocracy launched with a hand-rolled "raw HTML" WordPress theme, hosted on a sketchy (albeit very cheap) web host, with nothing more than a scattering of blog posts and the vague notion of a homepage.

Ten years later, the site has evolved 🦅 Craft and Astro are now the core building blocks; the hosting has been upgraded significantly to one of the best (if not the best) UK-based option; and site functionality has expanded rapidly. The blog's still there, serving as the beating heart of the operation, but I now track media reviews (originally a simple article category), bookmark digital notes, write a journal, and query it all through a self-made search. Microsites power analogue scrobbling of my music collection, our wedding photo database, and a (still WIP) beer journal 🍻

And I'm not done yet! I continue to tinker and tweak; I still have big plans for the v4 design; and I'm deep in the process of significantly expanding the journal, introducing much more detailed life-logs, a check-in database, and sightings lists from all over the world 😁

Back when I launched theAdhocracy, I had hoped that it would be a small step in a powerful direction ‒ the proverbial pebble that starts an avalanche. I don't think I've quite hit that critical mass just yet, but I'm extremely proud of what I've achieved so far, and I cannot thank past me enough for just sitting down and bashing out that fugly, barely useable first iteration. I've always been someone that works best in incremental bursts, and this site has become one of the best showcases for that process that I could have asked for.

I can't wait to see what it becomes in the decade ahead!

(Maybe I'll finally add glasses to the logo 😂)

Footnotes

Explore Other Articles

Older

Buh-bye Netlify!

Netlify suspended my site, due to a sudden resource spike on a completely separate domain. Now, for the first time in five years, you're reading this on infrastructure that Netlify does not own.

Conversation

Want to take part?

Comments are powered by Webmentions; if you know what that means, do your thing 👍

Article permalink