Posts

swift-desktopia: Smarten up your desk

February 8, 2026
In 2022, I bought my height-adjustable desk that I still use and enjoy every day. One feature that really sold me on it was the USB connection to the desk’s controller. I wanted the ability to integrate it into my smart home setup: moving it remotely, querying its current height, and building logic on top of that information.

Bandwidth Monitor v3.2.0

February 3, 2026
Bandwidth Monitor 3.2.0 is here! This release builds on the groundwork laid with 3.1.0 and 3.1.3 and focuses on polish, correctness, and future compatibility. While it doesn’t introduce a new headline feature, it improves some important areas that should make the app feel more robust and reliable in daily use.

Cocoaheads Hamburg, September 2025: Code generation in the LichtBlick app

January 17, 2026
In September 2025, I had the pleasure of hosting the CocoaHeads Hamburg iOS developer meetup at the LichtBlick office. As always, it was a great evening: exchanging ideas, talking shop, eating pizza, and drinking beers (or lemonade). Meeting like-minded developers and hearing what everyone is currently working on is one of the most inspiring parts of our community.

Handheld Gaming: Steam Deck OLED vs. ROG Xbox Ally X

December 18, 2025
I am a PC gamer. Although I spent far less time in front of my desk gaming nowadays than I do developing, I still like to maintain a (way-too-beefy) system for my needs.

Fediverse: Creator attribution

December 11, 2025
This post is a short, easy-to-skim guide for anyone who wants to add fediverse creator attribution to their site, at least until official documentation becomes available.

Swift: CarPlay crash with Dynamic Actor Isolation

November 29, 2025
We recently noticed a CarPlay crash in our app piling up that started appearing after we released app version 3.2.0. There were no compiler errors or warnings associated with the troublesome code, and we didn’t touch the implementation either. Let’s look at the issue together.

Swift is officially coming to Android

October 28, 2025
Swift finally has official Android support (in preview) — a milestone that opens up exciting new possibilities for developers working across iOS and Android.

Scriptable widget: Wann kommt REWE?

August 30, 2025
The german supermarkt chain REWE offers delivery of orders right to your home. This is a great service when you live in the city where parking and hence getting big grocery shopping orders can be cumbersome. The process is pretty smooth from start to order but has a major drawback once the delivery is on its way to you: The REWE app doesn’t tell you when it is expected to arrive. Instead, you get a text message with a web link to the actual delivery tracking webpage instead.

Bandwidth Monitor v3.1.0

August 23, 2025
Bandwidth Monitor 3.1.0 is here! After eight months of development, it brings the network debugging tools and contains a lot of changes under the hood. I was initially planning to release this milestone earlier but am happy that the improvements finally make their way into the hands of my users. If you cannot wait to try it out, head over to the App Store to download the update.

Coming to terms with the reality of solo app development

July 7, 2025
With WWDC25 ending, and after processing my initial reactions to what was announced, I took some time to organize what new features and enhancements I could bring to Bandwidth.

Why I replaced Mint and Homebrew with mise for iOS development

June 17, 2025
Managing dev tools across projects can be messy: The version you installed from Homebrew is outdated or your project actually requires an ancient version of your tools to build. I feel like this era of “lets cross our fingers I get this to work” is now over. At least for me, mise is my new go-to for managing development tools.

WWDC25: A Developer’s First Look Through Apple’s Liquid Glass

June 9, 2025
I previously described my hopes for iOS 19, noting that I was looking for a more incremental design change. My opinion was that changing around layouts and design at the same time would be too big of a burden for developers at this time.

Beyond Linear: Using MeshGradient in Swift Charts

May 26, 2025
With iOS 18, Apple introduced the powerful MeshGradient API in SwiftUI. It allows for the definition of gradients using 2D coordinates.

Tidbits: git-home

April 25, 2025
Today, I want to present a frequently used command line tool of mine: git home. It makes working with repositories on web-based hosters faster, so I thought I would share this delightful everyday helper with the world.

My hopes for iOS 19

April 9, 2025
With WWDC25 officially set for June 9th, iOS 19 is on the horizon. During the opening keynote, Apple will announce the next major versions of their operating systems. What features and changes can we expect? There have been a lot of discussions around some leaks recently. Typically, iOS design changes don’t leak in advance, so this year’s rumors are especially noteworthy. I want to focus on those rumored changes from the perspective of an indie app developer for a small app.

Updates to Bandwidth Pro pricing

October 30, 2024
The subscription pricing for Bandwidth Pro will be reduced, starting on 1.11.2024. The new prices will be 0.99€ per month, 9.99€ per year, or local equivalent amounts in your country’s currency.

Bandwidth Monitor v3.0.0

October 10, 2024
Today, I am proud to announce the release of Bandwidth Monitor version 3.0.0. After more than a year of development, the app is more modern and feature-rich than ever before. If you cannot wait to try it out, head over to the App Store.

Desktopia Pro X Smart Control

July 14, 2023
As referenced in my earlier article about the Desktopia Pro desk, I wanted to make it controllable in my smart home. More specifically, I wanted to have it in HomeKit so that it could be controlled by touch and voice. While I didn’t get it directly into HomeKit — mainly because of the missing “desk” accessory type — I am now able to control it from my Apple devices and even via Siri!

Bandwidth Monitor v2.1.0

June 27, 2023
After two years in the making, Bandwidth Monitor has been released in version 2.1.0. Of course, I wasn’t actively developing throughout the entire time. Most of the features were done every now and then, whenever I got the time for it.

SwiftUI Layout: Overlapping HStack

March 7, 2023
The SwiftUI Layout protocol is a powerful tool for defining your own complex layouts. It is new with iOS 16. Previously, you had to become creative if the capabilities of HStack, VStack, ZStack and Grid were not enough for your layouting needs.

The Desktopia Pro desk

January 21, 2023
I recently got a new desk setup for my home office. The reason I got a new one in the first place is because the previous desk was designed and built for entirely different requirements. It was drawn up pre-COVID and was meant mainly for gaming and a few hobby projects in the evenings. Because we used to go to the office back then, kids. The design was even meant to allow for two people to work together there side by side from time to time. However, because I have been working from home now for three years straight, my requirements have naturally changed, and I wanted to accomodate my shifted perspective.

The Logitech BRIO Stream webcam connection problems

January 6, 2023
About a year ago, I got myself a Logitech BRIO Stream webcam. The reasons for buying the particular webcam were simple: For uninteresting reasons, I had 175€ I needed to spend and I wanted a better webcam. It still is around the same price of 175€ on Amazon.de, by the way. However, it was not until a few weeks ago that I realized something was off with the behaviour of that tech.

Custom property wrappers for @Published properties

November 18, 2022
When you want to add a custom @propertyWrapper to an existing @Published variable in your SwiftUI code, e.g. in your ViewModel, you will quickly discover that @Published does not play well with other property wrappers.