Read my latest posts. You can also follow the Atom feed.

A what if on mobile device history

A thought experiment where somewhere in the multiverse, mobile device history unfolds a bit differently.


Feedback reply templates

It is now possible to create and customise outgoing reply templates

Screenshot 2024-06-11 at 10.34.37


In-app user feedback for multiple platforms using Kotlin Multiplatform

Feedbackbulb now enables easy and privacy respecting integration for iOS, Android, watchOS, tvOS using state-of-the-art native SDK for Kotlin and JVM developers

Feedbackbulb ❀️ Kotlin


International Day Against Homophobia, Biphobia and Transphobia

Today, we unite against hate and intolerance. Everyone deserves to love and express their identity freely. Let's build a world where love knows no bounds, free from judgment and discrimination.

Pride flag


applink: A simple, stateless, privacy-protecting link redirection service for cross-platform apps

Consider a case where you have a multi-platform app, and you wish to provide a single link redirecting the user to the appropriate store for their platform. Applink is that simple and privacy-respecting redirect service.


Add your own custom Mastodon emoji

Self-hosting a Mastodon (and really any Fediverse flavour) server comes with many perks. Adding custom emojis for fun or as part of one's branding is by far one of my favourite!


Why I love the Moons Time Tracker

As an indie dev, knowing where to focus my time and energy is quite essential and a good time tracking app makes all the difference.


Subdomain Redirect and Reverse Proxy With Caddy

Let's explore an example of a Caddyfile for a reverse proxy combined with a static media file serving setup for Django (or Wagtail) website

Caddy Server Logo


Making Obsidian look and feel native on macOS

This is my Obsidian setup and the plugins and settings I use to make it feel more at home on macOS

Obsidian Minimal Theme Settings toggles


Preparing for Toolbox V2

We're retiring surveys as they will soon be part of the Feedback Toolbox


AI robots.txt

A community maintained robots.txt file, blocking AI bots from ingesting content on this site.


GitHub as a Social Network

I came across a (now deleted) toot sharing tips on ways to "get yourself trending on GitHub". My first reaction was quite strong - why would anyone want to be trending on a source hosting service? Is GitHub about to become yet-another platform to grind on for attention and likes? Let's find out.


Xcode Cloud is perfect for indie devs

Xcode Cloud is perfect for indie devs

xcode cloud


How to upgrade an instance to Mastodon 4.2

Let's upgrade a Mastodon instance to the latest version (without Docker)

Mastodon TootSDK


Adding a feedback widget to a Ghost website

Connect with your audience's thoughts and ideas with a feedback widget in your Ghost website



Progress Report

FeedbackBulb Swift SDK Update 1.2


Phoenix Telemetry module for TelemetryDeck

Let's implement server-side tracking for a Phoenix web app by reporting anonymous page visits to TelemetryDeck using the :telemetry package

TelemetryDeck and Elixir Phoenix


Deploying VitePress app to

VitePress - Vue & Vite Powered Static Site Generator



Progress report

FeedbackBulb has a new logo πŸŽ‰

Feedbackbulb logo


Status Update August 2022

A little bit of this, a little bit of that

Code Snippet: request) for iOS14

While it’s possible to use async/await methods in Swift when targeting older versions of iOS, Foundation does not offer a back-port of newer async method signatures introduced in iOS 15 and iOS 16.


How to always Paste and Match Style on macOS

How to make ⌘ + V Paste and Match Style by default.


Adding an executable target to a Rust library

Let's see how to create a combined library-binary project in Rust with 0 extra config.


Xcode Invocation Tool

Launch Xcode from Terminal in the given directory or open a specific project from command line.


Safari developer tools: Local Overrides

In Technology Preview 118, Safari introduced a powerful feature called Local Overrides. It enables web developers to customize network requests and responses from within the Safari developer tools