Projects

A selection of my work

Applications, infrastructure tools, and automation built around real workflows. Explore the problem, the implementation, and the source where it is public.

Fortuna

A personal-finance workspace connecting accounts, cashflow, contracts, assets, and net worth, with a scoped assistant interface.

TypeScriptTanStack StartPostgreSQLBun

Kontor2

A multi-tenant club back office with members, families, SEPA billing, invoices, correspondence, self-service, and audit history.

TypeScriptTanStack StartPostgreSQLBun

Kataster

An infrastructure register connecting discovery, ownership, monitoring, provider costs, contracts, and invoice preparation.

TypeScriptTanStack StartPostgreSQLBullMQ

Rendant

Club finance administration linking cash counts, numbered receipts, tax analysis, historical imports, and traceable corrections.

TypeScriptTanStack StartPostgreSQLBun

Sigil

A mail-security dashboard that ingests DMARC and TLS reports, groups sending sources, and checks email-authentication DNS records.

FastAPIReactPostgreSQLDocker

DiaTrack

A sensor and catheter tracker with replacement countdowns, email reminders, device history, and failure statistics.

TypeScriptTanStack StartPostgreSQLBun

Hofstetten Village Portrait

A sourced, accessible portrait of Hofstetten in Lower Franconia, bringing its landscape, local history, St. Anna, and village life into one quiet editorial site.

AstroTailwind CSSTypeScriptBun

Railway Deployment Watcher

A read-only dashboard that shows deployments across selected Railway workspaces in one place, so you don't have to click through each project.

TypeScriptRailway APIOAuthPostgreSQL

Mailcow Cold Standby

Automated backup of a mailcow-dockerized instance to a Hetzner storage box over rsync and SSH.

ShellrsyncSSH

untereuerheim.com

An editorial village portrait of Untereuerheim, combining its chronicle, aerial photography, listed monuments, and local institutions in a durable digital archive.

AstroTailwind CSSTypeScriptBun

This Portfolio

The site you are looking at. A static, bilingual portfolio built with Astro, where every project is a Markdown file in a content collection.

AstroTypeScriptTailwind CSS

BFV Match Exporter

Automated exporter for Bayerischer Fussball-Verband team fixtures, with CSV, XLSX and calendar output published on a schedule.

TypeScriptGitHub Actionspnpm

Mailcow Web Actions

Trigger a Mailcow upgrade on a remote server from the browser and watch the live terminal output stream back.

TypeScriptSSHWebSockets

Email Signature Builder

A signature builder that renders the same across Outlook, Gmail, Apple Mail and the web, including dark mode auto-invert.

TypeScriptReactEmail HTML

ucms

A self-hostable website builder for small organisations: clubs, parishes, and local businesses that want a real site without hiring a developer.

TanStack StartoRPCDrizzlePostgreSQL

Dependabot Mass Orchestration

Log in with GitHub, see every open Dependabot PR across all your repositories on one dashboard, then approve and merge in bulk.

TypeScriptGitHub APIOAuth

Table Tennis Tournaments

A browser-based tournament manager built for a table tennis club. Turns a participant list into draws, group tables, knockout brackets, a schedule across tables, and a live public view spectators reach by QR code.

TypeScriptNext.jsPostgreSQLHono

Cash Count Protocols

A web app for a club treasurer to record cash counts and expenses, then generate numbered, GoBD-compliant PDF receipts ready to upload into DATEV.

TypeScriptNext.jsPostgreSQLHono

Serienbrief

Mail-merge letters with QR codes for clubs. Import member data, print Serienbriefe, and let members correct their own details through a self-service portal.

TypeScriptNode.jsHonoPostgreSQL

Membership Applications

An online membership application system for a sports club. Prospective members apply through a web form and the club gets clean, structured records instead of paper.

TypeScriptWeb

Claude Mailcow Skill

A Claude Code skill for managing Mailcow mail servers through the Mailcow API.

Claude CodeMailcow API

GitHub Batch Archive

Batch archive or unarchive multiple GitHub repositories from the terminal, with dry-run, confirmation and logging.

BashGitHub CLI

WinCrashTrace

A PowerShell utility that collects a Windows support bundle for root cause analysis after a system crash, so the evidence is in one place before it scrolls away.

PowerShell

Mailcow Grafana Dashboard

A Grafana dashboard for monitoring Mailcow email servers, with a clean dark theme inspired by VMware VCF.

GrafanaPrometheus

DKIM Splitter

Split long DKIM TXT records into 255 character chunks for Route 53 or any DNS provider that enforces the TXT length limit.

PythonCLI

NSX-T Automation Toolkit

An interactive toolkit for managing VMware NSX-T through its REST API, plus a hardened SFTP setup for NSX backups.

PythonShellREST API

Mapbox Route Generator

Generate static route maps with the Mapbox Static Images API, ready to drop into banners, flyers or the web.

PythonMapbox API

Get in touch

Happy to talk about a useful application, a complex workflow, or the infrastructure behind it.