On a bright and sunny Thursday lunchtime I found myself heading in the direction of Bristol for my second ever visit to Spark, the Umbraco innovation conference hosted by the UK Umbraco Foundation. For those who haven’t yet attended, Spark is a developer focused conference covering a variety of topics relevant directly to the CMS we all love, and also some topics across the broader areas of development and information technology.
After a reasonably smooth but delayed journey, in which I attempted to not get tutted out of the quiet coach for laughing out loud at several bits of the (very good) Audible version of Project Hail Mary, I arrived in Bristol in time to check into my hotel and have a wander around Bristol’s harbourside area in search of food with some fellow Umbracians. Then it would have been onto the pre-conference party at Roxy Lanes, but due to a recent bout of crunch hours on a critical project I opted to head back to the hotel to be fresh for the next day’s events instead. Last year’s party was a lot of fun and I’m assured by those with more stamina than me that this year’s was equally entertaining. There was talk of shots and karaoke at breakfast.



Friday morning bright and early I headed next door from my hotel to the conference venue, We The Curious, Bristol’s science and technology museum. Fuelled up with coffee and pastries, it was time to take my place for the main programme. This year featured a mix of longer 45 minute sessions and 10 minute lightning talks, which made a nice change of pace.
Kenn Jacobsen from Umbraco opened up with Umbraco Search – a Developer’s Perspective, which lived up to its billing by throwing us straight away into code. Kenn showed how we can use the new Umbraco Search features to easily integrate multiple search providers, featuring both Examine and ElasticSearch. He also showed how we can implement faceted search and retain unused facet values when facets are used to refine the result corpus. Finally he demonstrated how we can index related content and have the index be updated when either the primary item or the related item is updated, and walked through how to use change strategies so you can keep your index up to date and responsive to content changes without introducing massive overheads into the indexing process.

The next longer talk was from Rachel Breeze, who presented a thought-provoking session on Umbraco upgrades: Umbraco decisions- stay, upgrade, rewrite. Rachel went through all the considerations that should go into such a decision and covered the rationales and business benefits for both upgrading or rewriting and choosing not to upgrade. What I took away from this session was that even if we or our clients decide not to upgrade, this must always be a conscious decision with documented ownership, and with a review date when we must revisit and decide if the decision is still the right one, rather than just letting things slide.
We then had three lightning talks, Fred Harper reminded us that TinyMCE is still perfectly viable to use in Umbraco 17 and showed us some of the benefits and licensing options. Joe Glombek reminded us that Community is your team’s superpower in a good review of the many benefits both to individual developers and their employers of contributing to the Umbraco community and to open source software, and Richard Jackson delivered an entertaining summary of the various cloud providers available, some well-known and some not, in Across the Cloudiverse. The main thing I remembered from this talk is that AWS has some very silly names for things.

After a delicious lunch, which practically everyone decided to eat out on the balcony in the beautiful sunshine, we reconvened for the afternoon sessions.

Carl Sargunar presented a lively look at load balancing in DDOS my desk: load balancing live and uncut, featuring some entertaining ‘human experiments’ demonstrating various load balancing strategies. Thankfully, no Umbraco developers were harmed during this process! Sadly the live demo was beset by technical gremlins, which was a shame after Carl had brought an entire 5 mini server farm along for it. Hopefully I’ll be able to catch this online at some point.

Can an AI build an accessible tool if you only write the spec? was the question posed in Mike Masey’s session about his challenge to build an accessible web based tool for creating brand guidelines using Claude Code and SPECKL, an approach for AI-assisted development developed by Matt Brailsford (https://mattbrailsford.dev/speckl-testing-a-human-first-approach-to-ai-assisted-development). This was a brief but fascinating talk which showed how we can work with AI and guide it by providing constraints and guard rails, along with some helpful tips for getting the most of out this type of approach based on Mike’s experience.
Continuing in the AI theme, Georgina Bidder and Matt Sutherland presented an informative talk entitled A website, an email and an AI summary walk into a bar… about Generative Engine Optimisation (GEO), or how we need to move beyond SEO and take control over how our company and product information is disseminated and interpreted by AI agents, and make sure that in the era of zero click searching we are the authority and source of truth. I found this session really useful and something I want to take back to our work at ClerksWell, even though the examples were mostly from the perspective of companies who deal with actual products, it’s also very relevant to virtually all of our clients in terms of their own corporate information and offerings.

The final lightning session was presented by the always thought-provoking Kevlin Henney, and was about, well… nothing. Much ado about nothing went through the surprising and often weird and wonderful ways in which we have represented zero, in which I learned that zero, negative zero, and null are not the same, and that the proper name for the infinity symbol is the lemniscate!
After a welcome break for coffee, Niels Lyngsø from Umbraco closed the presentations with a sneak peek at What’s next in the backoffice, demonstrating the upcoming Elements feature which allows content editors to have a library of reusable content blocks which can be added virtually anywhere. Featuring a guest appearance by Lee Kelleher, we got to see some of the work in progress on the UI for elements and the editor experience, along with some improvements to the publishing process to ensure editors have full visibility over where elements are being used and what will be published where. This looks like a really good feature which I look forward to being able to use to make our client’s websites even easier to maintain.

With the talks complete, we hit the bar, and refuelled we were ready for the craziness which is the Umbraco Package Awards, featuring the best, and sometimes the silliest, packages developed during the Package Jam which takes place the day before the main Spark conference. This year there was a record turnout for the hackathon and the package demos included some genuinely impressive and useful entries. ClerksWell’s very own Paul Seal showed off his site scraper tool, which promises to be really helpful for both content migrations and generating test/demo content. Sadly he didn’t win but his demo certainly generated a lot of buzz when he ‘appropriated’ blog contents from many of the other conference attendees and fellow MVPs.

Overall, I had a really great day at Umbraco Spark and highly recommend it to any Umbraco devs. As always with these events, the talks and sessions were informative and useful but just as valuable is the chance to meet other like-minded developers who are tackling similar problems, and share your successes and failures. The Umbraco community truly lives up its friendly and welcoming reputation, and everyone is generous with their time and knowledge. Unfortunately, this year I didn’t have the chance to take part in the hackathon but hope to be back again next year with more time to participate, the other entries have already given me a brilliant idea for a package. Watch this space…