2025 Wrapped

By Kevin , December 16th, 2025

Welcome to my Spotify 2025 Wrapped! I don't have Spotify, so this is my year end wrap from my point of view. Like previous years, I didn't get to write as much as I wanted to, but I've also been juggling a lot more than before. That's okay because I had a very productive year professionally and personally.

Here are the highlights!

Hoi

Hoi is a command-line tool that helps create simple command-line powered utilities. It reads .hoi.yml configuration files that define custom commands, which can be executed through the hoi command. 

I built this project in Rust and use it daily. I was able to complete a full GitHub Actions workflow to build, test and validate the project along with creating packages for Windows, Mac, and Linux. I was really proud to finish and publish a project in Rust and contribute to its incredible ecosystem. It has had nearly 4000 downloads to date, which is 3999 more than I expected!

Search API Solr Dense Vector

I've been involved in AI development for a few years now and one thing I was waiting for was the support for Solr 9.6+ in managed hosting providers so I could take a crack at enabling integration for Solr's new dense vector type. Coincidentally the timing lined up perfectly this year as we got upgraded to Solr 9 on Acquia and we had two client projects on the table to implement it for. The first project launches next month.

Search API Solr Dense Vector adds this support and enables site builders to create a vector field on their index in Drupal, paving the way to creating a search interface on their site that combines lexical and vector searches, semantic searches, RAG hybrid searches, or whatever they like. This has produced some interesting results and a more permissive search over traditional search. I heard core pieces of this work is being adopted for Search API module itself, so I can't wait to see where this goes.

Tabuccino

Tabuccino is a Chrome plugin I wrote one day when I got tired of being logged out of a session so quickly, causing me to have to log back in and get my phone out for 2FA. I am all for security, but it got exhausting doing that dozens of times per day.

Tabuccino is a simple little plugin that lets you select a tab to keep it refreshed in the background so your session does not get logged out. Like Hoi, I use this daily. It helps me stay logged in so I can focus on work rather than logging in all the time. Since its based on Chrome, it can be installed in Brave, Microsoft Edge and other browsers built on Chromium.

Librarian

Librarian is a Chrome plugin I wrote. It's also the first Chrome browser plugin I ever wrote.

Librarian helps out by scanning all of your bookmarks and checking if they still resolve or not. A full, searchable report is generated at the end of the scan letting you review bookmarks, move them to other folders, or simply delete ones that you no longer want or no longer work. For example, if 70 bookmarks were found to be 'bad' or 'dead', you can select them all and delete them instantly. I have (or... had) hundreds of bookmarks that were impossible to curate and came up with this idea for a plugin to help maintain control. What felt like would take weeks to get a hold of I was able to get it under control in about 2 hours.

I also decided to test the waters and made this a premium plugin, charging $4.99 for a lifetime install. Very reasonable. This was a very valuable learning experience that resulted in a tangible, usable product, something I am also very proud of.

Since its based on Chrome, it can be installed in Brave, Microsoft Edge and other browsers built on Chromium.

Twig Partials

Twig Partials is a newer project I have been dabbling with recently. I read the release notes of Django 6.0 and saw a feature called "template partials" that sounded interesting. Drupal 11.3 is shipping with HTMX soon and I did not see a similar feature in Twig 3.0, so I thought this may be fun to try and do. To be fair it is very much a toy project, but who knows, right?

AI in the Home

Earlier in the year I bought an old Intel NUC for $100 and installed Ollama on it for private local AI. This was a really cool weekend project that enabled me to run AI in my own home, on my own hardware, on my own network at no cost. We are able to interface with it just like ChatGPT from our computers or our phones and tablets. I used this for simple needs around the house for common home repair, recipes, and other needs. It was really cool and futuristic feeling to do that, I encourage others to do the same. Ollama models are capable for everyday usage.

End to end deployment overhaul

One of the more unseen projects I was able to implement was revamping the entire project repo and deployment process we have. I was able to utilize Releases and Deployments feature of GitHub combined with additional GitHub Actions in our pipeline for automatic releasing, automatic tracking, automatic release note generation and automatic tagging based on SemVer + Conventional Commits. Along with that, Confluence project spaces are updated with the same release notes. 

This means we can focus on getting work done versus repo management hurdles, along with having full traceability and reporting in our project management system and the repository history is clean, consistent and follows a standard format. We have always had branches deploy to the cloud when merged, this just improves the overall process tenfold. Much of this I learned from doing the other projects and applied it here (Hoi, chrome plugins, etc). This benefits MCP integrations we have for Atlassian and other software to add knowledge and context automatically.

This work was a precursor to another project we have going using Grafana to track dozens of metrics across our entire software stack.

Developing integrations for Optimizely & Opal AI

Another skunkworks project I got to work on was developing a proof of concept for hosted custom tools to add functionality to Optimizely CMS' Opal AI product. I was able to put it together quickly from my experience in the Drupal AI module. This was a really cool opportunity to build in languages and stacks I don't normally get to use, like C#, NodeJS and Express.js.

You can read all about the integration in this article.

Articles

I didn't get to write on here as much as I would have liked, but I added quite a bit on the Velir blog. Here are a few of those posts:

Software Projects

I am also working on a few software projects on the side. Not much to share yet, but hopefully in 2026!

This year felt like it went by very quickly and I was able to accomplish quite a bit in that time. I'm sure I am forgetting a few things (I spared you all the DIY home repair and cooking I've been doing). I hope I get to work on valuable projects like these next year!

 

Tags