skip to content

Work

Selected projects.

Anonymised and stripped to the essentials. It is about the task, the approach, and the result.

Out of respect for my clients, without names or metrics. I discuss details in confidence.

Digital Signage

Cloud platform for digital signage

Lead architect & development

2025 to present

Challenge

Create, schedule, and play content centrally across many distributed screens. Across web, Android, iOS, and Windows, tenant-separated and in unattended continuous operation on cheap hardware, often without a stable connection.

Approach

A multi-tenant cloud platform with its own layout and schedule editor, media library, and super-admin area. Plus the devices: a custom kiosk launcher takes over an Android device's home screen, starts and supervises the player, controls rotation, and provisions new devices itself. The player is built cross-platform (Kotlin Multiplatform), with all playback and scheduling logic in a shared core with a state machine, so it keeps running without a network and without supervision. Content and commands arrive in real time from the cloud. A custom engine scales a template, built once, without loss from Full HD to 4K, including unusual zone formats.

Outcome

A platform instead of one-off installations. New devices come online through provisioning without manual work, content reaches the screen in seconds, and the state of every player is visible remotely. Several tenants share the same system without getting in each other's way.

Tech

  • Next.js
  • Supabase
  • Kotlin Multiplatform
  • Realtime
  • WebAuthn
  • Android · iOS · Windows

Sports betting

Odds-display system for betting shops

Lead, architecture & development

2016 to present

Challenge

Deliver live odds reliably across many displays in hundreds of betting shops, each with its own vendor branding and low latency. Over the years the requirement grew from a pure display into a whole device fleet that has to be managed centrally and kept up to date unattended.

Approach

I have worked on this odds display for around ten years, throughout as lead in the team. Across several generations it evolved from the native desktop client to the web; the move to the web renderer I carried out on my own. Today every display is driven by a single URL. For the latest version I added a complete, multi-tenant management system that controls over 250 installations centrally, up to eight monitors per location. Configuration, themes, translations, and software updates run through a custom API; device status, commands, and logs come back in real time. Where native clients are needed, a Windows kiosk runs with forced fullscreen and channel-based updates that complete without on-site work.

Outcome

A desktop display has become a centrally managed platform. Over 250 locations run under one management, new ones come on board without on-site work, updates roll out unattended, and faults are visible and controllable remotely.

Tech

  • TypeScript
  • Supabase Realtime
  • WebSockets
  • .NET · WebView2
  • Velopack
  • React

Compliance, regulated sector

Compliance platform for regulated operators

Lead developer in the team

2025 to 2026

Challenge

Operators in a heavily regulated gambling market must be able to prove at any time that they meet requirements: audit checklists, shift planning, working hours, and responsible-gaming monitoring. All tenant-separated, data-protection compliant, and audit-durable.

Approach

A multi-tenant platform with a Python/FastAPI backend and a React interface. Data protection (GDPR) and working-time rules are anchored in the data model and workflows, not bolted on afterwards. Modules for checklists, shift planning, time tracking, and responsible-gaming monitoring interlock. Built four-eyes, with shared architecture ownership in the team.

Outcome

A system that reflects day-to-day compliance instead of managing it in spreadsheets. Evidence is produced during operation and holds up under audit.

Tech

  • Python
  • FastAPI
  • Pydantic
  • React
  • PostgreSQL
  • Docker

Online marketplace

Online marketplace with payments

Solo, full-stack

2026 to present

Challenge

A marketplace where sellers and buyers meet: listings, accounts, payment, multilingual. From the first draft to a working checkout, alone.

Approach

Built full-stack alone: interface, a data model with row-level access rules, sign-in, file storage, and payment via an established provider. Designed trilingual. Particular care for the tricky spots like sign-in, where timing bugs quickly turn into problems, and for a clean checkout.

Outcome

A working marketplace with real payments, delivered in a manageable time by a single person. Proof that I take a product from idea to checkout on my own.

Tech

  • React
  • TypeScript
  • Supabase
  • RLS
  • Stripe
  • i18n

Personal

What I build on the side.

Projects out of curiosity, away from work. Often where I try new things.

  • Second Brain

    Personal knowledge system with local AI

    My daily tool for notes and tasks using the PARA method. Search combines semantic vector search (pgvector) with full-text search, and a locally running language model answers questions directly from my own notes, with responses streaming live. Everything stays on the machine, nothing goes to the cloud.

    • TypeScript
    • PostgreSQL
    • pgvector
    • Volltextsuche
    • lokales LLM
    • TipTap
  • LunaArc

    Self-hosted workspace and project platform

    My largest private project, built entirely solo: interface, API, deployment, and a custom MCP server I published as an npm package. Through it, AI tools dock onto the platform over an open standard. Self-hosted on my own server.

    • React
    • Node
    • Supabase
    • MCP (npm)
    • Hetzner · Nginx · PM2
  • claudetrix

    Firmware that shows coding sessions on a pixel clock

    Custom firmware for an ESP32 pixel clock that shows several running coding sessions live. The trick: instead of each session overwriting the single display, the device aggregates the state of all sessions itself and shows them combined, e.g. “three sessions: one waiting, two working”. Built for fun, but solved cleanly.

    • ESP32
    • C++
    • PlatformIO
    • AWTRIX 3

A similar task at your company?

Then a short conversation is worth it.