Everything I made in 2025
Revisiting 2025 through projects made.
This year has been a lot like the year before it, I again started the year at one company before moving to a Developer Advocate role. I again spent October in the states working conferences, and again, took a picture in front of a bridge.
There were some pretty major differences though, not least that I didn’t get made redundant in October this time. In fact my role as a Developer Advocate at Aiven has been great and has given me the chance to do some great work with the Kafka community on Diskless Kafka and the Get Kafka-Nated podcast.
One big change this year was putting a lot of my time and energy put into community work: I attended and spoke at more conferences this year than I had in the rest of my career, built a team of volunteers at AI Signals, got involved in organising PyData London monthly events in addition to my role as a conference organiser, and set up the Not Another Pizza community organiser group.
What hasn’t changed though is my drive to be making. Now that I am working in a senior role (and shooting for staff in the new year) my time to work on personal projects has been much less than I would like, but I still took every chance I could this year to be making and learning.Like last year I would like to revisit this year's projects and share what I learned from each one. Read on for a year in making, explored one project at a time, and my thoughts for the year to come. This is a long one so I won’t be offended if you skim for bits that interest you or skip to the conclusion.
“Artemide” Table Lamp

The Artemide Nesso Table Lamp is an iconic piece of 1960s design that is much imitated. One such imitation bought on Temu stopped working days after arrival in my flat prompting me to upgrade it to get it up to scratch with the real thing.
The Temu version came with a flakey capacitive touch and LED setup that didn’t match the warm and cosy vibe of the original. As I often do, I looked at it and went “I can fix that” took it apart, got stuck figuring out what to replace the LEDs with, and ended up chucking it in a drawer. It wasn’t until I saw this video online from wesleybreed that I dug the lamp parts back out and got it sorted by replacing the LEDs with night light bulbs as in the original lamp (a stroke of genius on Wesley’s part) and rewiring everything with lamp cord, WAGOs, and four screw in bulb connectors.
The main takeaway from this project was a reminder to always research the problem you’re working on thoroughly: odds are someone has solved it before. Additionally, my first attempt at rewiring was a mess because I tried to cram all the WAGO connectors in the stem of the lamp. Taking the time to start over and rewire everything from scratch, this time with the WAGOs in the base, was way better and saved me a lot of time in the long run.
I was really happy with the result on this and the homebrew “Artemide” lamp looks great and ended up costing £30 including the cost of the lamp. It could have been even cheaper if I was prepared to wait looking for parts.
QR Code Quilt

This QR code project was heaps of fun but a real labour of love. All in all it took nearly a month of evenings after work spent cutting squares out of old conference T-Shirts and painstakingly sewing them together to create the finished panel.
There were a few tense moments of ironing when I finished but it does actually scan (try scanning the top left panel)! I came into this project without the first idea about quilting and working in an unforgiving material (T-shirt cotton stretches and warps). You can see from the work in progress picture (in the bottom right) that I learned a lot as I went with the panel becoming more square and neat as I progressed. Using a zig-zag stitch helped compensate for the stretchiness of the fabric and made for a neater finish.
If I were to make this quilt panel like this again, I’d take more care to keep my squares regular and, I would unpick the first section before I started using the zig-zag stitch to keep the overall piece more consistent.
Plywood Bike Hanger

Next is yet another example of me going “I can make you that”. I took a nice piece of plywood my partner picked up for me and turned it into a bike hanger based on this one she saw on Etsy. This came together really quickly and was basically free as I already had all the materials I needed (especially if you ignore the cost of the tools acquired in the years prior!)
I don’t have a CNC so I marked out the sheet with a speed square and pencil and then cut everything out with a circular saw and a jigsaw for the curves. A bit of filing and sanding was needed to refine the shape of the curves and to get the parts to fit together but after that it was as simple as gluing and screwing the parts together and mounting it on the wall.
The curved cuts in this are free handed and my jigsaw is less than square (it’s often on loan in the tool library and years of use and abuse have left the blade guide wonky) which made for some wonky cuts. If I did this over again I’d like to try using a holesaw to make the internal curves, and maybe a router with a template for the outer edge to keep things more even. Like the other bike hanger I made last year this is still on the wall which I’m counting as a win.
Despite my hopes of displaying a nice road bike on the living room wall like the yuppie I am, this hanger is relegated to the garage as it sticks out too far into the room for use in the flat, which is a shame as unlike the other hanger I think it looks great.
Laptop Sticker Collection App

Much like this post I think laptop stickers are a fun way to keep track of what you’ve got up to over the course of a year. My friend Leo felt the same and built an interactive web app that allows you to annotate your laptop stickers with where you got them. I helped to contribute some features including support for Markdown in annotations.
This was my first foray into vibe coding (using Cursor) which proved to be a mistake. I don’t have any experience in web dev with Node.js so I wasn’t able to properly review the AI generated code. The lesson here was to learn the basics before you dive into throwing AI generated spaghetti code at the wall.
You can check out my writeup of the contributions I made and my live version of the app at https://hughevans.dev/stickers/. Once I actually took the time to do it properly it was a lot of fun contributing to this project and collaborating with Leo on this.
Mitre Saw Stand

My workshop out in the garage was yet again overwhelmed with tools and raw materials earlier this year. I decided to extend my homemade storage with a mitre saw table with some built in storage. I built this out of scrap wood and a kitchen door from the IKEA circular economy store. Learning from my previous mistakes, this time I reduced the width for a snugger fit on the drawers, and added a backstop to each runner to stop the drawers falling out the back.
This was thrown together in a couple of hours and it shows, although this isn’t much of a concern for what is ultimately a functional piece of workshop furniture. I ran into the classic “measure twice cut once” rookie error when cobbling together the topmost drawer. I ended up with a drawer base a few centimeters short which could have been avoided by taking a little more care marking out my materials, though this was easily fixed by tacking on a strip of wood to fill the gap.
Overall I’m really happy with this unit, especially with how I managed to get the top leveled properly so the mitre saw base lines up with the adjacent units for a really solid work area for cutting larger pieces.
May Day Display

This year my younger sister was the PettsWood May Queen (for readers outside of the UK, the crowning of a May Queen is a tradition observed in some places in the UK to mark the coming of spring) and I lent a hand by helping her group with their fundraising by setting up a website and doing some shifts selling cakes and handicrafts on the stall.
As part of the full scale family mobilisation to support my sister’s May Queen group my mum came up with an idea for a display stand made of chest of drawers and trellis. This was a fairly elaborate scheme involving cutting a chest of drawers in half and flipping one upside down. This was much more fiddly than it first appeared, but I saw the vision and did my best to help her execute it after finding a free chest of drawers on my street.
I started strong, neatly separating the top third into a separate piece (see bottom right panel above) but got over confident and ended up with a wonkier cut when removing the bottom third. I added battens to stop the two new mini chest of drawers falling apart, and flipped the drawer slides in the bottom part so that the base became a new top.
Then came the task of sanding and painting. The lesson here was to spend more time researching how to achieve the desired finish (a rustic white) as the final product left a little to be desired. The end result though was two nice little displays for merchandise that served us well for the month of May as my sister’s group went on to raise over £2000 for the local scout troop to buy a new mini-van.
Propeller Cycling Caps for London to Brighton

This year I participated in the London to Brighton bike ride with my partner to raise money for MacMillan. As part of my fundraising efforts I made some silly propeller cycling caps by mashing together some cheap cycling caps and propellor caps.
This project was heaps of fun especially as the propeller actually spins in the wind and whilst the end result was less than polished, the caps (I ended up making three—one each for my partner and I, and another for our friend) looked great on camera. The caps were made by cutting four cycling caps into strips and hand sewing them back together to achieve a striped effect with the propeller part of a propeller cap stitched into the center.
I used my cap in the video I made for my Just Giving page which raised £831, although unfortunately I wasn't able to wear it for the ride itself as it didn’t fit under my helmet.
Bonus: London to Brighton

I have nothing to offer the world in terms of meaningful insight into cycling long distances. I had fun though and made it home in one piece.
Reviving an old kindle

Like a lot of people who make things I practice the skill of hoarding bits and pieces for use in future projects, the skill of course being hoarding things that are actually useful and not just junk, a distinction that isn’t always obvious! As a result I have a box of old electronics and on a whim fished out my old Kindle 2 and decided to see if I could get it up and running to use as an E-Ink display.
I was pleasantly surprised with how easy it was to get it open and to find a replacement battery online, leaving me to wonder at the (very imaginary) pre-enshittification era of Amazon. After getting it working I found that I was actually enjoying it as an e-reader although I still need to jailbreak it as I don’t trust Amazon to keep the send to Kindle service working.
I think I’m not alone in finding the simplicity of older electronics appealing, especially in an e-reader where removing any distractions or notifications is great, plus fixing your old tech is super rewarding. I think I’ll be buying and fixing another Kindle soon as my partner has adopted this one!
Smart Bird Feeder

At time of writing, this smart bird feeder project is still ongoing and has, far and away, been my biggest project of the year.
This project was kicked off by observing a particularly rotund robin that was visiting my bird feeder. I wanted to know if it was actually particularly heavy or just looked that way, so I did the natural thing and started building a custom bird feeder with a digital scale, webcam, and automatic species detection with image classification models.
This project has been challenging, requiring learning lots of new skills around working with load cells, data analysis, and training and deploying computer vision models. I’ve already got one talk out of it at the 100th PyData London Meetup and I’m looking forward to expanding upon the work I’ve already done next year. I was lucky to have some really good advice from the lovely people from PyData London on how to do some sensible data analysis to find big robins, which was to use a histogram for the weight data, as opposed to the overcomplicated graph database approach I was using before.
There were some hard lessons to be learned here including that passively cooled Raspberry Pi 3s can, and will, permanently damage themselves from overheating when running computer vision models under the right circumstances (i.e. manually ignoring thermal warnings). I’ve written at length about everything I’ve done towards this project so far on my blog:
- Weighing birds using a load cell and HX711 signal amplifier
- Detecting bird species from images using an image classifier model
- Data from first phase of the project
…and yes at 26g the Robin was huge!
Ikea Tool Roll

This was another quick and fun sewing project. I really like IKEA hacks as a genre of make. Often materials sourced from IKEA are incorporated into my projects as they’re cheap and readily available, so it felt natural to try my hand at making something from the classic blue bag as many others have done.
I took inspiration from this tool roll pattern by Becky Stern and sketched out my own design on paper. I selected an old yellow curtain (also from IKEA) for lining, broke down the blue bag for material, and started putting things together. There were a few teething problems as a result of my choice of materials. Even with baking paper to prevent sticking, ironing the bag material was a mistake as it shrinks a lot. Without the option to use an iron, getting nice crisp edges with this sandwich of fabric was basically impossible. The thick layers of curtain and plastic also broke several sewing machine needles which made sewing the pocket part fairly painful. Thank you to Rachel Lee Nabors for gently pointing out that this was my issue, and not as I had first thought that I was installing my needles incorrectly.
I came across some cool techniques during this project though, one being pinning my pattern piece down on top of the work and sewing through it to get straight lines for the pockets which was really effective. Using the bag handle as a tie to close the roll looked great, really selling the IKEA hack aesthetic. The finished product was actually useful on bike rides for storing allen keys and keeping stuff dry on rainy days.
Overall I was really happy with this project, it’s pretty rough around the edges but has given me plenty of ideas for future custom tool rolls.
Stress sensing Stress Ball

In another example of a silly project that I learned a lot from this Stress Sensing Stress Ball was heaps of fun. I added a force sensitive resistor to this Anaconda stress ball (given to me by the awesome Dawn Wages at PyCon UK) and read the value from it with a Raspberry Pi Pico, which I hadn’t used for more than turning an LED on and off before. I also wrote an entire app using Beeware to visualise the data from the FSR.
As is often the case with a project like this I encountered a lot of unknown unknowns on the way which were great learning opportunities, like reading data over stdout from a Pico and packaging Android applications. The takeaway here (and arguably from most of my projects) is build stupid things for the fun of it because you’ll probably learn something new in the process.
Disk Invaders

I put together a space invaders clone for work based on a Phaser 3 example and got to see it in action in a custom cabinet made by my colleague Jeff Meisel. You can check out the full write up of this project on my blog.
I really went to school on this one, I’m not much of a game developer and getting this turned around on a deadline was pretty challenging, and the final product was riddled with bugs. Vibe game development with Claude helped me ship mediocre code fast, but I spent weeks paying for it by unpicking the AI slop from my own ropey code to fix bugs and introduce new features. My colleagues in engineering figured out how to cheat the leaderboard. This was difficult to avoid as the example I cloned ran client side, proving that my security knowledge wasn't up to scratch for developer-proofing a game aimed at developers!
It was really fun collaborating with my colleagues to design and build this game, and my favourite part was the amazing cabinet Jeff built. Building with other people is super fun and helps get big projects like this done in time. The game got a great response from conference goers and people got pretty competitive playing it. I’m planning to do a second version in the new year using what I learned building the first version to fix the many, many issues with it including adding server side execution.
EMF Camp Collage

Electronic Magnetic Field, a hacker festival in Hertfordshire here in the UK, comes but once a year every two years. I went to my first EMF last year with my partner and loved it. I've been looking forward to the 2026 edition ever since. Two years is a long time to wait though, so to pass the time I made this collage with some of our souvenirs.
This was my first time using wheatpaste which is a crazy material: I really like the way it helps to consolidate the colour of the disparate paper elements with the slight tint it adds but I definitely should have mixed it a little thicker, as the moisture warped the thin MDF board I was pasting paper onto.
I threw together a quick “days to go until EMF” app to run on my Tildagon badge. I added the badge to the collage as well with a right angle USB-C connector and some M3 bolts I had lying around. One lesson from this project was that I need to get better at taking photos of my project, because I truly have no idea how to photograph a bright subject like the badge.
Final thoughts on 2025

This has been a good year.
That’s not to say it’s been without its challenges: I love my job but it is often very mentally exhausting. I’m tired, really tired. Next year after a rest over the holidays I’m going to have to take better care of myself to avoid burnout, but spending my energy this year has bought me some valuable opportunities.
This year I spent some wonderful time with old friends and new. A common theme in my projects this year is sage advice and helping hands from some of the lovely and knowledgeable people in my life—I'm better for getting to share and learn from these great people (you know who you are!) Time is always at a premium though, and one disadvantage of seeing a lot of people in a year is not having a lot of time to spend with anyone in particular. My family have been very understanding of my long absences whilst traveling for work, and next year I’m keen to make more time for my loved ones. I’ve also been extremely lucky to have some mentoring from Steve Morris and John Sandall this year, which has been a huge boon for my community work. Steve helped me to completely rebrand AI Signals and prioritise on what needed fixing for the group to thrive. John walked me through how PyData London run events which was vital to growing the team at AI Signals this year.
Sitting in a cinema in Vilnius watching a brilliant talk from Giannis Polyzos about Fluss I realised one of the reasons things felt like they were coming together for me this year. Aside from being lucky enough to finally have a job that provides me with enough stability to pursue my interests, this role has given me the chance to spend a good chunk of this year going to conferences, listening and learning from the community. I didn’t go to university, and my previous trips to conferences had mostly been focused on volunteering and booth duty, so for the first time in my adult life this year I found myself sitting in on dozens of hours of technical talks and did my best to soak it all in. Data engineering is a broad field and I don’t think I’ll ever feel comfortable calling myself an expert in even a small part of it, but this year things felt like they were clicking more and more.
Looking forward to 2026
So, what’s in store for 2026?
I’m set to spend less time travelling for conferences, hopefully spending more time with friends and family as a result, and focus my professional efforts on content creation and UK based community organising. On the subject of community I’m planning to spend more time contributing to the Python community, including taking a bigger role in helping to organise the PyData London 2026 conference, after being inspired this year by attending PyCon UK and watching the Python Documentary. The Python community is full of wonderful, creative, and kind people and Python has been a big part of my life since I wrote my first print(“hello world”) back in 2013, I’m looking forward to giving back to the community as best as I can.
Another area of community work in the new year I want to work on is learning to be a better facilitator and get out of the other organisers’ way at AI Signals, I’ve been running the group for three years now and have a lot of opinions about how to do it, I want to make it easier for other people to shape the community and grow within it. This goes hand in hand with another big goal for me in the new year which is building my skills as a developer advocate, specifically as I work towards a promotion to staff level. Making the jump from senior to staff is all about collaboration, strategy, and leading without being a Leader. I’ve been working as an independent contributor for a while now but I have a lot to learn when it comes to getting the best results collaborating across functions, helping to design and lead on programs, and measuring the impact of my work.
One thing I’ve done a lot in 2025 is write and edit blogs. I've published 18 blogs to my personal website and helped write and edit several blogs for the streaming team at Aiven. In 2026 I plan to keep writing, I feel like the practice has helped me get better and referring back to my previous posts has been really useful. Next year I’d like to focus on continuing to refine my work and finding my voice beyond just documenting my personal projects. It’s one thing to write guides that impart technical information but I’d like to get better at producing engaging, human writing which feels more important than ever in a world increasingly dominated by AI (even if the AI bubble feels primed to pop in 2026).
One other area I’d like to focus on in 2026 is making more contributions to open-source. I’ve made small OSS contributions before but I’d like to play a more active role in the projects I work on rather than just writing about them, including reviving my PR to add documentation for the Apache Kafka CLI tools. Working on open-source contributions can be hard and it can be slow with waiting for feedback and making changes, but I’d like to work on a couple of more substantial contributions this year. I’m looking forward to learning more about the tools I work with every day by taking them apart to see what makes them tick.
That’s a wrap on my last blog for 2025, happy holidays and see you again in 2026!
