The Year 2024 in Review

Feb 16, 2025 #yearly-review #travel #freelance #wardrobe #health

This one took me longer than I’d have liked! We’re already well into 2025 and only now have I found the time to reflect on the past year. The reason? We’re on a nomad trip, once again spending the entire winter season in Bansko, Bulgaria. This time, we arrived before Christmas, and since then, we’ve been splitting our time between work, skiing and social activities, leaving little room for much else.

But let’s talk about this trip another time and see what I can still remember about 2024. Feel free to jump straight to the section about our home, travel, work, the upgrade of my wardrobe, sports, or health.

Home

At the start of the year, I focused on making our new apartment in Dresden feel more like home, as there were still plenty of finishing touches to take care of. I tweaked our basic IKEA nightstands with wooden plates, properly attached the glass whiteboard and set up more bookshelves in the home office, and finally installed a back plate and lighting on the kitchen countertops. The last one was particularly fun, since it gave me an excuse to play around with LED strips and put my soldering kit to use again. There are still minor things left to do, but overall, I’m happy with how the place turned out—it really feels cozy now.

Travel

To make time for all these home improvements, we decided to skip our usual winter nomad trip. And boy, was that a bad idea! After spending the last few years escaping winter, I had completely forgotten just how long and depressing the winter can be in Germany. I managed to survive by going jogging regularly, no matter the weather. And while working from the newly set-up home office felt great, I soon realized I desperately needed to change the environment.

And so, in April, we spontaneously decided to go on another workation. Romania was high on our list, but the coliving space we had planned to visit had just closed. That left us looking for a new destination, and we landed on Albania—a country we knew next to nothing about, not even the name of its capital, where we ended up spending more than one month. I was familiar with the horrors of communist regimes in countries like Czechoslovakia and East Germany, but learning about Albania’s history marked with dictatorship was really eye-opening. What stood out most was how long it took the country to recover after the fall of the Iron Curtain.

Main square in Tirana

We settled in Tirana and immediately noticed how welcoming the people were. It didn’t take long for us to get into a routine. In the mornings, I’d go for a run around the large lake in the Grand Park, then we’d head to a coworking space to work, and in the evenings, we’d often join events by the local expat community.

We did have one random case of food poisoning, but overall, the food was amazing! If you ever visit Tirana, definitely check out Era restaurant and try the stuffed eggplant. I also liked how people sold fruits and veggies on the streets. One thing that stuck with me was how eggs were sold loose in plastic bags, making the walk home a bit stressful.

We didn’t just stay in Tirana the whole time. We also went on hikes in the mountains, visited the coast in Vlore, and went hunting for the countless abandoned bunkers scattered all over the country1. The landscapes were beautiful, but the lack of care for the environment was hard to ignore. The chaotic traffic also took some getting used to. Still, it was an adventure and an exciting place to experience.

After getting back, we spent a few days in Berlin—our first time there since we moved away. We met up with friends and I visited the first-ever Local-First Conf. It was a nice change from the Apple-focused conferences I usually go to. Since I’ve been diving into CRDTs for an iOS app I have in the works, I was keen to learn more and be part of this movement around the local-first software. I missed the early days of iOS when the iPhone got introduced, so this kind of felt like being there at the start of something new. And as always, Berlin just had that special vibe!

On a walk with Maki Going for a walk with Buddy

In the summer, we spent time with friends and family, attended a wedding, and did some dog-sitting. We took care of Maki, our sweetheart we’ve looked after many times before. Monika was then looking after Buddy at his home in Barcelona and I joined her for a few days. Crazy how different the two dogs are—Buddy loved playing with his toys but was incredibly stubborn about which paths to take on walks. He also refused to drink water, even in the brutal heat!

Yeah, we arrived in August, when many locals escape the city to avoid the deadly temperatures, leaving behind streets that felt like a desert. Despite not being a fan of the heat, I kept up my jogging routine, running through the grid and up the Montjuïc hill for a bit of greenery. At least I discovered gazpacho, which turned out to be the perfect way to cool down. Over the years, I’ve picked up a few Spanish words, but they were pretty much useless since people there use Catalan2.

View from Montjuïc hill in Barcelona

To stick with the travels in Spain, I finally decided to check out NSSpain after hearing so many great things about it. I originally wanted to combine it with Barcelona, but the dates didn’t line up, so I ended up making a separate trip to Logroño. It’s not the easiest destination to reach, so I got creative and flew via Mallorca, where I had a stopover and managed to fit in some runs near the airport. That was nice but the beaches packed with German party tourists… not so much. The conference itself was a blast—great people, interesting conversations, and a strong wine theme, including a visit to a vineyard and nights out on Calle del Laurel, a lively street filled with pinchos3 bars. Exhausting but absolutely worth it!

In the fall, we visited my brother in Denmark, where he was doing his Erasmus semester. It was my first time in Copenhagen, so we did a typical round of sightseeing—exploring the city, taking a ride on the autonomous metro, visiting Tivoli Park, a chair design museum, and the LEGO store. We also went to Roskilde to see his campus and the Viking Ship Museum. While there, I made sure to go for a few runs and met up with a dev friend. Lastly, we celebrated my brother’s birthday by going out for a dinner and got the table decorated with Danish flags—because apparently, that’s what you do in Denmark.

Before heading off on our big winter nomad trip, we made one more visit to Czechia to celebrate my father’s 60th birthday and catch up with friends. We also stopped in Prague, where I attended a meetup of the Czech freelance community Na volné noze and a ChatGPT workshop by David Grudl. Both events were very insightful, but the highlight for me was meeting David over a beer and talking about the early days of PHP development, the first WebExpo conferences, and the meetups around his PHP framework, Nette.

Work

This year was all about freelancing. I took on two projects side by side, and to my surprise, I really enjoyed it. I always thought I’d only have fun working on my own apps, but client projects allow me to focus purely on engineering and product design—without having to wear all hats or worry about whether the business model will work out, like with my own apps.

In one freelance project, I’m building a suite of Mac apps that extend Serato DJ Pro, one of the most widely used DJ software. While I tried to use SwiftUI where possible, most of the UI had to be built with good ol’ AppKit—both to support older macOS versions and for the greater control it provides over SwiftUI. Another key task in this project was developing a generic library for accessing the storage of the DJ software. It felt great to be back in the macOS world, and both of these tasks really sparked joy!

The other project is an iPad app built from scratch for in-house use at a retrofitting company. At its core, it’s a sophisticated form for surveying properties, but the real challenge was optimizing it for entering loads of data as efficiently as possible. To make that work, I had to come up with some interesting design solutions and build custom UI controls tailored to this use case. Tech-wise, I’m using TCA and the latest SwiftUI features, with some components still being UIKit-based.

While juggling two projects with different tech stacks was mentally challenging at times, I really enjoyed the variety and the chance to expand my horizons and learn about new domains. I also kept maintaining Diagrams, though it had already been on the back burner, and with freelancing taking priority, that didn’t change. The same went for the iPhone app I started back in 2023—I simply couldn’t give it the focus it deserved, so I decided to put it on hold, but I hope to get back to it soon.

Before starting this year’s freelancing projects, I had just recently gotten rid of my iPad and had to get a new iPad Pro for development work. Since I’ve always preferred pen and paper for concept and design work, I started wondering if I could switch to a paperless workflow, so I decided to give it a try and got an Apple Pencil. Turns out, it works well for me—I now use Freeform for all sorts of sketches4. The only downside is that organizing and exporting in the app is still a bit cumbersome. That said, it’s definitely more travel-friendly and a lot cleaner than carrying around notebooks with a loaded pencil case.

A sketch of a UI flow in Freeform on my iPad

I’ve always documented my work to capture and share knowledge with team members, mostly through text and sketches. This year, I introduced a video format into my workflow, and it’s been a great improvement. After finishing work on a feature, component, or design proposal, I’d record a Loom video and share it with stakeholders and team members. It’s been well received by clients—they can quickly grasp what I’m working on, and the videos also serve as a handy future reference. I had never done any video production before, so it took some getting used to, but now it’s an essential part of my collaborative workflow.

Wardrobe

I guess you wouldn’t expect me to write about clothing here, but here we are. I have to admit that I’ve been neglecting my wardrobe for ages5, mainly because I find shopping to be super frustrating. I was kinda fine with sports and outdoor clothes from specialized stores, but when it came to everyday wear, I was clueless. Regular stores follow the concept of seasonal collections, which I find terribly flawed. I mean, you have the environmental aspect of a huge part of production ending up in landfills, but on a practical level, you can never just reorder the same piece. You have to start from scratch every single time. And I’m not even talking about how ugly some of the pieces are with the branding slapped on them.

This year, I finally bit the bullet and decided to do something about it. I learned about the concept of a capsule wardrobe, and the minimalist in me got super excited. I was after simple, timeless pieces in neutral colors, without any patterns or logos, that I could reorder anytime. And, most importantly, they had to fit well on my lean body.

That all sounded great in theory, but I had no idea where to start—regular stores definitely weren’t the answer. Along the way, I discovered the concept of slow fashion and realized there was a huge overlap between its offerings and what I was looking for. I visited a few shops with sustainable clothing in Berlin to get a feel for the brands and their collections. And while I wasn’t specifically looking for organic or sustainably produced clothes, it turned out to be a nice bonus. That said, shopping in outlets wouldn’t really work for me—I want the convenience of ordering online with a simple click, without being limited to whatever happens to be in stock.

T-Shirts from ASKET

After a bit of research, I came across ASKET, and it quickly became my discovery of the year. When I saw their website using the term permanent collection and naming their pieces The T-Shirt or The Shorts, I was immediately sold! Their philosophy revolves around The Pursuit of Less, which is all about producing high-quality, long-lasting essentials—the exact opposite of common fast-fashion brands. On top of that, they offer flexible sizing, like choosing the cut size and length separately for T-shirts, and a seamless online ordering and return process. Where has this been all my life?

Over the course of a few months, I figured out the most overdue pieces: T-shirts, sweatshirts, underwear, and shoes. Of course there were plenty of missteps along the way6. I’m still in the process of building my minimalist wardrobe, but I have a clear direction now. It took a lot of time and effort, but if it means I won’t have to deal with this again for years, it’s absolutely worth it!

Sports

If you’ve made it this far, you’ve probably noticed that I’ve been taking my running more seriously—so much so that I took my gear with me everywhere I traveled, making sure to fit in a run even on conference or wedding days.

Running out in the fields

At the start of the year, I set a 1,000 km challenge, aiming to run almost twice as much as in 2023. With 133 runs, I hit the goal in early December, just in time before leaving for the ski workation. Further, I improved my 5km PR at the only race I ran this year—the REWE Team Challenge in Dresden. Looking back, I’m really proud of these achievements, as running has become a core part of my routine. Now in Bansko, I’m already getting itchy—it’s the longest I’ve gone without running so far.

Oh, and after settling in Dresden, I also started looking for badminton groups to join. It’s still a work in progress and not particularly easy to combine with long travels, but I plan to keep at it in 2025.

Health

I’ve been using the Oura ring for almost three years now, and I’m still very satisfied with it. The data on my sleep, readiness, and activity levels gives me a sense of calmness. This year, I wanted to take things a step further and focus more on my overall health. I started supplementing magnesium, got a blood pressure monitor for occasional measurements, and scheduled a full check-up with my doctor, including blood tests and an ECG. Everything came back fine, which was great to hear.

While I’ve always been interested in self-measurement, this interest really took off after joining the Czech life hacker community a while ago. I finally got around to running an experiment with a CGM (continuous glucose monitor) to see how my body handles glucose, given there is pre-diabetes in my family.

So, I ordered the FreeStyle Libre 3, a CGM device designed for diabetics that can be freely purchased in Germany. Applying the sensor was straightforward and the device calibrated itself automatically after a few hours. While it wasn’t super comfortable to wear a piece of plastic stuck to my arm for 14 days, it was manageable. A few days in, I noticed that my glucose levels were in the pre-diabetic range, which was concerning at first. However, after cross-checking with lab tests taken at the same time, I realized that the absolute values were ridiculously off by +30%, making the recorded data pretty useless.

FreeStyle Libre app showing stable glucose FreeStyle Libre app showing glucose spike

Nevertheless, the trends were still interesting to observe, especially how different foods affected my glucose levels. Fruits on an empty stomach, white rice, and refined pasta led to noticeable spikes, while eating veggies before a meal helped keep things stable. In contrast, wholegrain rice and whole wheat pasta had a much milder impact. Exercise, on the other hand, had little effect—jogging and badminton barely moved the needle, whereas an intense 5 km run caused a noticeable drop. Given the sensor’s inaccuracy, though, everything still remained within a safe range. Tracking all of this in the first-party app was frustrating, as the UX was terrible compared to Oura or Apple Health. Still, I’m glad I ran this experiment, even if the insights weren’t as actionable as I had hoped, apart from tweaking some food choices.

There’s still one health issue that’s been bothering me—I occasionally experience symptoms after certain foods, but so far, I haven’t been able to pinpoint the cause. It’s been a frustrating process of trial and error, but no clear pattern has emerged. I plan to keep investigating next year.

Outro

There’s probably more I could write about. Like how I stuck to journaling and, for the first time, read through some of my old entries while preparing this review (which gave me a good laugh at times). Or how I didn’t manage to read many books, since these days, I tend to prefer working on projects, and when I do consume content, I go for lighter formats like podcasts. (Got really hooked on ATP, btw.) But let’s wrap it up here!

One big takeaway from this year is just how essential running has become for me. And after making the mistake of staying home last winter, I now see how much I need the right balance between traveling (new environments) and staying home (focus and stability). Not too much, not too little. That’s why we made up for it with this trip. Hi from the slopes! 👋

Thanks for following along! Let’s see what 2025 brings, for sure it will be a ride!


  1. I first learned about the bunkers in this episode on bald and bankrupt’s YouTube channel. Big fan here! ↩︎

  2. Side note: I didn’t know that i and e could take umlauts—Catalan has ï, and Albanian has ë↩︎

  3. That’s what they call tapas in La Rioja. ↩︎

  4. When I’m in my home office, I still begin by jotting things down on a whiteboard, though. ↩︎

  5. The cost per wear for some of my most worn-out items is close to zero. 😉 ↩︎

  6. Anyone interested in some The Lightweight T-Shirts in XS/Regular size? I ended up going with XS/Long instead. ↩︎