Portfolio

A selection of the applications and websites I have developed.

The software projects are shown with screenshots and their main features. Below them are websites from recent years.

Software

plxr

plxr brings coding CLIs such as Claude Code, Codex, aider, Gemini and opencode together in one window. Every session appears as a tile; sessions waiting for an answer come first, with files, diff and terminal alongside.

  • The terminals keep running in a separate Go service, even when the window is closed.
  • Four skins restyle the whole window, each with its own icons.
  • Installers for macOS, Linux and Windows; updates are installed with a single click.
  • The source code is public on GitHub.

Built with Go, Wails, Next.js and TypeScript

More projects

  • ArianeCapacity planning for a development team2026

    A weekly grid across twelve months shows who is working on which project when, and who still has capacity. The same data can be viewed by person or by project. Input works like a spreadsheet, with undo, public holidays by region and export to Excel.

    Built with Next.js, React, Zustand, Drizzle ORM, PostgreSQL and exceljs

  • Claude Usage MonitorUsage limits of several Claude accounts on the phone2026

    A page built for the phone shows the limits of several Claude accounts in real time, with a countdown to the reset and the rate at which the quota is shrinking. Each account signs in through its own OAuth with PKCE, so the logins on the computers stay valid. The service needs nothing beyond the Python standard library and can also wake a server via Wake-on-LAN.

    Built with Python, OAuth 2.0 (PKCE) and Docker

  • Claude FleetA macOS overlay for running coding agents2026

    A floating window shows every Claude Code session on the computer, grouped by account, with remaining quota, status, model and effort level. A click brings the matching terminal to the front. The app is built in SwiftUI, gets its data through hooks and is started by launchd.

    Built with Swift, SwiftUI, Node.js and launchd

  • WaterSports Center DéniaBooking platform for a water sports centre2026

    Activities, restaurant, rentals and sun loungers of a water sports centre at Marina El Portet can be booked in one place. Each of the four areas has its own capacities, and bookings are confirmed with a QR ticket. There is also an administration for bookings, menu, events and team, and the platform speaks six languages.

    Built with Nuxt 4, Vue, Nuxt UI, Tailwind CSS, PostgreSQL, Drizzle ORM, Better Auth and GSAP

  • hauptsach-guddgess.deRecipe portal2026

    A portal for recipes, communities and cooking events, with meal planning and cookbooks as PDF. Recipes can be imported from photos with AI or from links; reported content goes to moderation.

    Built with Nuxt 4, Vue, Nuxt UI, PostgreSQL, Drizzle ORM, Better Auth and S3

  • Siriburi Thai SpaBooking, vouchers and administration for a massage studio2026

    A system of its own replaces WordPress and WooCommerce. Online booking supports couple and group bookings and makes sure no slot is ever given out twice. It also includes a voucher shop with PayPal and QR codes, an administration for appointments, guests and content, GDPR export and erasure, and the migration of the old data.

    Built with Nuxt 4, Vue, PostgreSQL, Drizzle ORM, Better Auth, PayPal, Playwright and Vitest

  • m8werk-pagesOne CMS for five websites2025–2026

    One administration serves five bilingual websites, among them m8werk.de, and5.de and immosaar24.de. Translations, legal texts, files and maintenance mode are loaded at runtime through an API. All apps are built from a shared Dockerfile and run in Coolify.

    Built with Next.js, React, Prisma, MariaDB, next-intl, Turborepo, Docker and Coolify

  • AtriumMulti-tenant property platform2025

    Administration and public portal for the properties of several tenants, with roles and permissions, search via Meilisearch, image processing with imgproxy and self-hosted vector maps. The monorepo contains an API built on Hono; builds and deployments run on Gitea Actions.

    Built with Next.js, Hono, Prisma, PostgreSQL, Meilisearch, MapLibre and Turborepo

  • Form builderForms from a JSON tree, also generated by a local language model2024–2025

    Forms are generated from a JSON tree with fixed rules. An MCP server provides a tool for this, which a local language model (Qwen via LM Studio) uses to build valid forms.

    Built with Next.js, React Hook Form, Express, MySQL, Model Context Protocol and LM Studio

  • finholding.de and finforms.deFinHolding's websites and APIs in a monorepo2023–2025

    The websites of FinHolding and FinForms live with their APIs in one monorepo. I moved the CI to Turborepo and PM2, and the Cloudflare cache is cleared automatically on deployment.

    Built with Next.js, React, Express, Sequelize, MySQL, Turborepo and GitLab CI

  • FinFormsPortal for mortgage brokers2021

    Applicants fill in their financial self-disclosure online, and the data is passed on to the mortgage process through the Europace APIs. Sensitive fields are stored encrypted, and PDFs are generated on the server.

    Built with PHP, MySQL, TCPDF, Europace API and Deployer

  • FinPhaseFinancing app for brokers2020–2022

    A white-label app in which applicants fill in financing requests and self-disclosures, upload documents and receive everything as a PDF. Brokers assemble their forms per tenant in a configurator and adjust colours and branding.

    Built with React, Redux, jsPDF, react-i18next and webpack

Websites

FinForms

FinForms