2025

Kelly Sikkema

Year in Review 2025

House moves, robot armies, and scratching itches.

January—February

Ten years ago, I was looking at the prices of T-shirt printing machines and figuring out the best way to manage stock and postal services. I’ve always wanted to have a place to exercise my design eye and this year I launched Ruby T-shirts.

I use a mix of Shopify and Printful and add designs whenever they come to me. I don’t have the headspace to manage stock and posting things myself, so this setup “just” (read mostly) works. From a financial perspective it just about breaks even: I’ve had over 100 orders this year and the relatively low cost cost of running a Shopify store combined with the low margins means it’s probably bought me a few negronis over the 12 months. But as an outlet for something I’ve always wanted to do, it scratches an itch. I absolutely love it.

It was also a good place to put the first ever Brighton Ruby T-shirt. Having struggled with socks a couple of years ago, I didn’t fancy printing 500 T-shirts of which only 30 were going to get used and 100 would remain in my loft in either very large or very small sizes.

Best T-shirts? Probably “_why Foxes Recreated”. Also the stylised text designs: the famous Beatles T-shirt, but for full stack Rails. Or perhaps “My Heart is Ruby”.

At CoverageBook, we welcomed our newest junior Darcy: the third year in a row of hiring from Le Wagon. It really feels like our hiring process has been a massive success, optimising for curiosity, responsibility and ambition. This is above any specific Ruby skills (other than an inkling of Ruby-ish-ness in the coding test). In 12 weeks on a hard, but by no means complete, introduction to programming web apps if you’re hiring for anything other than the human you’re doing it wrong.

March—April

Late March, while on a short countryside break, I was introduced, painfully, to the concept of a “re-root canal” which, after a bunch of very strong painkillers and anti-inflammatories, finally happened in April. Would not recommend.

We also, on a bit of a whim, went to look at a house with the idea that we’d look and immediately discount the idea of moving (as we had done in years past). Except this time… we didn’t, and I’m now writing this post from that very house.

CoverageBook projects for the year were foundational. Removing costs, re-envisioning our data collection to scale further than the 10x it’s currently doing from when I first built the current version. Also moving everything back into the main application; the separation has served its purpose.

2025 was about making everything clearer, more straightforward and more maintainable with our ambitious small team.

Plus we shipped a bunch of cool (smaller) features and platforms throughout the year.

May—June

Brighton Ruby: this year’s lineup was a massive hit with everyone who attended. Attendance was where it has been the last few years, around 450 people.

A small team of folks helped me out: Olly, Olivia and Ella from my team at CoverageBook pitched in on the day. My secret weapon for the last couple of years has been Anne-Marie from Eve Tribe, who manages the back of house so I can lark about on stage.

July—August

A big chunk of July I spent in the south of France, as has been the case the last few years, with a mixture of visiting friends, drama camp for the kids, and enormous amounts of excellent pastries ordered with my functional “shop French”.

Mostly stayed in Brighton for August in preparation for moving house. Lots of boxes, loft clearing and last-minute wobbles.

It was also around this time that I got stuck into properly exploring LLM-based tools to assist with coding. Initially using Claude Code fairly unsuccessfully in our many-year-old codebase, but gradually adding some process based on Brian Casel’s work on AgentOS and seeing other uses such as Gary beginning to vibe code some prototypes for the next iteration of CoverageBook in an extremely useful way.

September—October

September took me back to Amsterdam for Rails World (two words!) again. Amanda put on an incredible show and it’s a great opportunity for me to spend time hanging out with folks who otherwise I wouldn’t see but I consider to be my friends. Such is life in a globally spread community of programmers.

Unfortunately, every hour I spent in Amsterdam was an hour less I had to prepare to move the following week.

After 13 years living in one spot in Brighton, we moved 15 minutes across town, much closer to the sea, much closer to the marina, feeling closer to the sky and the curve of the Earth.

Definitely feeling the weather more as we’re super exposed to the prevailing winds. Moving to an older house from a new build has increased the amount of maintenance and challenge as we plan to take on a fairly significant building project next year to make the place truly our own.

The kids can now walk to school and this has certainly made life mechanically a bit easier, but I’m not going to lie: my head’s been quite full of all of the things required. New windows. Insulation. Architect. Builders. Plumbers. The weight of the impending cost and disruption of having our downstairs non-functional for weeks.

Half term was two trips! Pompeii, which mostly thrilled me and Jo historically. Only the gelato and pasta truly engaged the kids.

Then a train journey the length of the country and a couple of days eating pies and gingerbread, wandering the hills of the Lakes. England truly has its moments.

November—December

Gary’s prototypes really came into focus over the last couple of months of the year. As did my use of AI tools as an extra junior or two in my team, and in “Andy’s stupid side projects” world. The tools being built by Every and Conductor seem to be a real boost, alongside the release of the latest model from Anthropic. Scope and style are still a challenge. But “what to build”, as always, is the biggest challenge of all.

Seems I’ve been building the skills to manage code review and product review for the last decade in my career. It really feels like product-focused engineers have nothing to fear but their own capacity in the new world of LLM-based coding. It’s got much quicker to put boxes inside boxes on the Internet in the last six months.

The open source release of Fizzy has provided a real insight into ways to use Rails. Perhaps I and other larger teams have strayed from these patterns over the years, but an effort to be more vanilla was underway before that. So I feel like we’re on the right course from a maintenance perspective and, with prototypes from Gary, it’s going to be quite an interesting year to come.

This perspective on the new world of coding (via Justin) seems to capture why I dont feel the dread of the change in my day-to-day work. Aside from the obvious financial bubble, false promises and rapacious spending of the AI industry (“aside” doing a lot of work in that sentence) we’re going to be left with an entirey new set of useful tools once this era all shakes out and we learn how to hold everything properly.

Health

Locked into a metronomic Monday, Wednesday, Friday—before work—gym routine based on the Minimalift programme. Plus took up Vets football a little more seriously toward the back half of the year. Also PB’d my local parkrun at under 23 minutes, having previously believed 25 minutes was beyond me.

Want to try and both extend the distance I can go at “slow speed” and improve my 5k time, while trying to stay (self-inflicted) injury-free: which is easier said than done at 46.

Watched & Loved

Slow Horses, Andor, Arcane, The Traitors and its nation-gripping spin-off Celebrity Traitors, plus (with the kids) a rewatch of Brooklyn Nine-Nine.

Sean Combs: The Reckoning was fascinating and horrifying (did he? Yes, he definitely did).

Movie-wise, highlights were mostly rewatches. Saw the original Star Wars trilogy at the Duke of York’s with the kids; Aliens at the IMAX. Spent a good deal of the year introducing the kids to various classics: Jaws, The Sixth Sense, The Matrix, Die Hard, Four Weddings and a Funeral, and Endgame-ing the MCU.

I enjoyed A Real Pain, Anatomy of a Fall, A Complete Unknown, The Ballad of Wallis Island, Conclave, Sly Lives!, and (same as everyone else) One Battle After Another. And I double-featured Wicked the evening it came out with my daughter. No, you’re crying.

Played

Completed (!) Thank Goodness You’re Here, which must have mystified any non-British folk who stumbled into it. Played a ways into Arco, before its combat got merciless. Enjoyed a bit of Prince of Persia: The Lost Crown before falling out of its scale. Lonely Mountains: Downhill and Geometry Wars: Retro Evolved are pick-up-and-play marvels.

A summer Switch 2 purchase meant more Mario Kart and playing some previously janky Switch 1 titles at 60 FPS.

Replaying The Last of Us before I commit to the TV show. More Fortnite; the Simpsons season was a highlight.

Gleefully enjoyed the nineties stylings of Terminator 2D: No Fate once I’d broken up for Xmas.

Read

Continued the pure pleasurable nonsense of a handful of Reacher books, plus inhaled some “space” Brandon Sanderson. Really enjoyed Babel and Yellowface, only realising they were by the same author once I’d finished the second book.

2026

Brighton Ruby #14 is already selling tickets.

Expecting to somewhat up my “side project” game with the assistance of my robot army. Using Rails continued to grow throughout the year, one of those side projects that ticks along nicely.

Really looking forward to personally coaching some of those “small projects we won’t get to” at work to fruition. The team’s focus, which I’ll be on top of (but staying out of the critical path) is a major (PR industry-transforming) feature push informed by the prototyping Gary’s been doing.

Failed wildly to get What The Stack off the ground and fell off the writing train with the house move. I will be attempting to get back on a more regular cadence in 2026.

Closed the manual matching process for First Ruby Friend in August; hoping to relaunch with a proper automated platform in the new year.

Last updated on January 1st, 2026 · Originally published on January 1st, 2026