Who knows if 2025 will turn out to be a special year when we look back at it in the future? Only way to know is if we record what we accomplished, or no one will ever know.
This blog post is dedicated to my technical accomplishments, which mostly happens at work and sometimes in my spare time on hobby projects, so what was I really up to in 2025 that is worth recording and sharing with the internet?
Subscription Management Go-live
The year started out with a big go-live at work, just before Christmas 2024, I released a new subscription management system for a danish union, and we sent out invoices worth a high double digit number in millions of danish kroner. All invoices that were due to be paid on the 2nd of January 2025. This is probably the most significant software release in terms of direct monetary impact that I have been involved with, and frankly it was a quite refreshing project, for a number of reason.
- The customer trusts us, so it is a very easy project to manage. We did delay the release some months because we wanted more time for testing and more time for migrating old data, which the customer was totally onboard with.
- It was in large a project I was responsible for with help from two junior colleagues. This setup made the project easy to deliver as not too many people were involved and I was able to set a direction and ensure that things worked and were properly tested, and when they were not, I could fix it myself
- The release was a success, no major issues (due to test and defensive coding)
- The software itself isn’t clever or anything special just good old C# and MSSQL - but sometimes it doesn’t need to be shiny new things to do the job.
During 2025 I have had the luxury to support the customer on their journey with the new system, as with all new systems we have found some things that we didn’t anticipate. E.g. the MobilePay to Vipps conversion in March caused some issues. And we have also had a fair amount things that wasn’t tested well in regards to customer reimbursements in the FarPay platform that we are using. This could have been avoided if we had properly tested all of the dataflows that were involved when doing reimbursements on the various payment methods, but most of the testing effort was spend on the collecting money part of the project. During the year we have also implemented a feature to do adhoc payouts to both people and companies using Mastercard overførselsservice, it is one thing to collect millions of kroner, but when millions are returned it is even more important to be 100% sure that things are done right.
AI Hype
2025 was also the year where the term “vibe coding” was born, it happended in February, which is crazy to think of as it feels like we have been discussing AI/LLMs in the software industry for ages already.
At my work, it has by far been the most discussed topic of the year, with opinions ranging from it doesn’t matter much to everything is going to change and if we don’t do something fast we are all going to be out of work. Personally, I must admit I don’t care much for the hype (guess I’m damaged from all the hype cycles that I have experienced in the past), it might be that AI has potential bring more changes, than past technologies, but I rather be part of actual projects that uses AI to make a meaningful changes than speculate on which changes AI could make.
In respect to AI my year has been quite lacking, we did deliver a RAG solution to a customer early 2025 that I was partly involved in. It wasn’t a solution that I felt really solved a real business pain, but the customer was very invested in bringing it to market so we helped them bring the vision to life. Sadly it wasn’t the success that the customer hoped for, as the market fit wasn’t really there, which is silly to realize after you have built the solution, but also not uncommon when everyone is chasing the AI hype train.
Tender Writing with LLM Assistance
Besides that, I have worked on utilizing AIs in other parts of my job. I did do a few tenders over the summer, where I got a chance to use LLMs to write some material for me. My experience was that if you don’t care what you write, then it does generate content that could pass as being okayish, but if you want to write something that is actually a pleasure to read and actually precisely answers the requirement in the tender, you have to work a lot with the output from the LLMs. In general they just paraphrase the input material, but there is a lot of repeated answers and nonsense sentences that you must manually rewrite or completely remove. Also for technical answers a lot of care must be put into reviewing the solutions it proposes, as they are not always correct. Laymen reading the tender answer might not catch these error - so I have had plenty of fun discussion with our sales people when and how they can use LLMs to answer technical tenders.
As with all tender answering it is not much fun work unless you win ;). Out of the two large tenders that I was primary responsible for, I only managed to win one. Luckily it was for the larger of the two, with a contract sum +10 mio DKK. It would have been even nicer if the project wasn’t based on old on-prem Windows technology, but what can you do, some government customers are still afraid of the cloud. I spend the last couple of months in the year helping that project getting the platform up and running, as apparently we are not many people left that remembers anything about Windows Servers and on-prem environments. The project also contains the typical integration with the Danish Nemlogin infrastructure, which is always nice to revisit, just to realize everything looks pretty much the same as last time you looked at it.
Experience with SQlite and Vibe Coding
During 2025, I also had some time for smaller project/sales engagement. A few of them are worthy of a mention. I did a Microsoft Access to sqlite conversion for a customer in a Windows desktop application. It’s my first time using sqlite at work, and it worked out great. The application was built with entity framework so switching database technology was actually quite smooth, and it removed a heap of issues for the client. The access driver had been causing the application to constantly break with regular updates to the Office 365, so finally getting rid of the dependency to Microsoft Access was a huge win, as we have had zero issue since.
Earlier I mention that I didn’t do a lot of AI work in 2025, it is not entirely true. I did do some sales engagements where we presented AI solutions to different customers, but I didn’t manage to land pure AI projects. Right now all the customer wants to buy, seems to be Agents and particularly Copilot Agents, which is a domain I leave to some of my colleagues. But the few solutions I did end up demoing, was a solution using claude code and a couple of MCP servers, that could fill-out webforms with data from excel sheets (I will leave the specific domain out, but you can envision this happens in many companies). We built a demo for a customer that could take request for quotes received by email and enter them into a pricing calculator to build a sales offer, with no human intervention other than a final approval. I also had the opportunity to do a board presentation for a company on AI, I thought it turned out nice and so did the client, I always enjoy placing myself in someone else’s position and play with ideas that could make a difference for them.
In addition to the work-releated AI sales pitches, I have vibe coded a few application in my spare time, just to keep up with the new AI tools. In the spring I built a simple private YouTube clone for hosting my sons soccer videos, with the help from claude code. I also did a lot of soccer results data collection here in the fall, trying to figure out which kids plays the most games which clubs that “cheat” and use players from other age brackets. Again it was nice challenge to direct claude code to build some tools for data collection and web scraping. I also took Google’s Antigravity for a spin to build some websites that could present all the data I collected. My experience is that the tools are really great at producing code, but I wouldn’t want to leave them in the hands of people with no coding experience. Because without someone knowledgable to steer the direction, it will turn into a mess that is impossible to maintain or extend in no time. Producing code is no longer a challenge, but producing the right code and making the right choice without some supervision, is something I have yet to see consistently from the LLMs.
2026 Readyness
In conclusion, I have had the chance to do a lot of interesting things this year, while still managing my team and helping a tiny bit on the massive internal project of the merging the companies together under the Context& name.
My hope for 2026 is to spend even more energy on the customers and how we can use technology, including but not limited to AI, to make a difference for them.