Selected Work
A selection of SaaS platforms, B2B web apps, AI-powered products and mobile apps, shipped to production or in development. Each one is a real engineering problem, from migrating monoliths to building spec-first with AI agents.
10/2026 — present · In developmentPrivate project
NearAsk – find local shops and ask them via WhatsApp
A mobile app for finding local shops that might carry a specific product and asking them about it. AI turns the product into a list of fitting shop types, the app collects nearby shops of those types, and one tap opens WhatsApp with a ready-made message in the local language. Built spec-first with GitHub Spec Kit and Claude Code.

- One AI call per search picks shop types from a fixed list of 515 Open Places categories and writes the message template. If a provider fails or takes longer than 4 s, the next one takes over: with the first provider broken, the fallback still answered 20 of 20 searches.
- Two shop sources are searched in parallel and merged, with duplicates matched by ID or by name within 100 m. In measured searches the 90th-percentile response time was 1.2 s, and all 409 phone numbers could be used for WhatsApp.
- Spec-first workflow: 7 features each went through the Spec Kit steps (specify, clarify, plan, tasks, implement) under a versioned project constitution, each with its own folder for research, contracts and tasks.
ExpoReact NativeTypeScriptGeminiGoogle PlacesWhatsAppZustandNativeWindSentryVitestMaestroGitHub Spec KitClaude Code
09/2026 — present · BetaPrivate project
Pikuro – Android app for sorting your camera roll
Pikuro is an Android app for sorting your camera roll. Swipe left to delete, right to keep, up to put a photo into an album. It finds photo series so you can keep the best shot, and it clears out screenshots and old WhatsApp media. It can then suggest a CapCut video template whose clip count matches the album, a filter CapCut's own search doesn't have. Your photos stay on the device and nothing is deleted until you confirm, with no account, ads or subscription.

- Wrote and published the npm package expo-saf-scan, which lists WhatsApp's media folders through Android's Storage Access Framework. It scanned 15,733 files in about 27 s on a real device (debug build).
- Found two bugs in expo-media-library and fixed them upstream in Expo (expo/expo #50621, #50817).
- Turned on R8 code shrinking, which cut the app code (dex) in the release APK from 58 MB to 20 MB.
ExpoReact NativeTypeScriptSQLiteDrizzleZustandNativeWindSentryNext.jsNeonMaestro
08/2026 — presentClient project
Senior Full Stack Developer (freelance) at Arsipa
Frontend work on a healthcare SaaS platform: a 10-app pnpm monorepo on a shared Nuxt layer. I use Claude Code daily as co-developer and sparring partner.

- Led the migration of the monorepo (10 apps, shared component layer) from Nuxt 3 to Nuxt 4, including Tailwind CSS 3 to 4 and Storybook 10.
- Cut initial JavaScript by 67% (9.1 to 3.0 MB) and CSS by 50% by moving globally loaded libraries to on-demand loading. Time-to-content improved by up to 35% with a pixel-identical UI, verified by automated Playwright before/after measurements.
- Consolidated about 20 duplicated admin CRUD screens into a generic, typed layout layer, removing 8,200 lines net.
Vue 3Nuxt 4TypeScriptGraphQLPrimeVueTailwind CSS 4StorybookPlaywrightVitestClaude Code
07/2026 — presentClient project
Course Booking Platform for a Family-Education Studio
Built a booking website for Kinderleicht, a family-course studio in Hannover, replacing a website builder with real online booking and payment. Course catalogue with a live free-seat count read from Postgres on every request, a booking form with per-consent tracking and a database CHECK constraint enforcing GDPR Article 9 consent before any health data is stored, Stripe Checkout on the client's own account, minimum-participant cancel/merge logic, and a read-only participant overview for the owner. Public content lives in Storyblok and is fully client-maintained; bookings and participant data are isolated in Postgres. Solo build, about two months from empty repo to live production, and eight paid bookings in the first hour. Maintained with a nightly Claude routine that turns labeled GitHub issues into pull requests, which I review each morning against the ticket requirements.

- Health data (GDPR Art. 9) lives in Postgres, separate from the CMS. A daily Vercel cron job deletes it 30 days after the last course session and anonymizes paid bookings after the 8-year tax retention period.
- Stripe Checkout sits behind a server-side feature flag, so the site could launch before payments did. Webhooks are handled idempotently, including asynchronous payment methods, and a refund in Stripe cancels the booking automatically.
- The client maintains courses, sessions, pages and the cancellation policy in Storyblok's Visual Editor, and refund thresholds are CMS fields rather than hardcoded rules. CMS content is cached, while remaining seats are always read live from the database.
Next.jsTypeScriptTailwind CSS 4StoryblokPostgresDrizzleNeonStripeResendZodVitestVercel
2026Client project
WordPress to Strapi Migration & Next.js Rebuild for AWARE7
Migrated a WordPress site with 1,000+ posts, Custom Post Types, WPML translations, menus and categories to a Strapi headless CMS. Built intelligent media cleanup (only actually used assets transferred) and a new React/Next.js frontend with Stripe integration. This project became the foundation for WPEscape, a WordPress-to-headless migration tool currently in development.

ReactNext.jsStrapiStripeWordPress
2026Client project
Senior Full Stack Developer
Supported AI Think as a Senior Full Stack Developer from December 2025 to June 2026. Their main product is the AI-VI Studio, which lets companies create their own AI video bots quickly and without heavy tech overhead. My work covered frontend and backend maintenance plus new feature development, and I built the plugin that lets users embed the AI Avatar Chat in any website, including WordPress.
VueTailwind CSSNode.jsNestJSKubernetesSocket.IOGitLab
2025Client project
Portal with features for veterinarians and pet owners
This portal brings digital features into a veterinary practice: live video consultations built on Daily.co, chat communication, a pet catalog and more, connecting vets and pet owners. Live product; I stay on-call for bugs and new features and hold a stake in the company.
VueTailwind CSSPWADaily.coSocket.IOOneSignalNode.jsGitLab
2025Private project
Website for a perfect pet match
This website helps people find their perfect pet match. The main feature is a quiz with 10 questions, covering things like the visitor's living situation, that produces a match. We support local shelters by showing their pets on the site.
ReactNext.jsHeroUITailwind CSS
2025Client project
Website for price comparison within the bitcoin community
A product search for the Bitcoin community: it shows products that can be paid for with Bitcoin, offers Bitcoin discounts, or pays cashback in sats. The search index is Algolia, fed by a crawler that pulls product data from 1,000+ shops (e-commerce, domain providers, eSIM providers and more). I built the crawler on Crawl4AI, which discovers a reusable CSS extraction schema per shop once so production crawls run without per-request LLM cost. Users authenticate through Nostr rather than a classic login. Built solo.
NuxtTailwind CSSNode.jsCrawl4AIDockerAlgoliaNostr
2025Private project
My personal travel blog
One of my hobbies is traveling, and I started sharing experiences by writing my own blog.
NuxtNuxt ContentTailwind CSS
2025Client project
Senior Full Stack Developer
Supported L1R1 for 3 months as a Senior Full Stack Developer. The product lets users upload any kind of invoice, which is scanned via OpenAI with fields detected automatically. After some calculations, the user can push the cleaned invoice into financial software such as Billomat or InvoiceNinja. I also improved team processes, reworking the branching strategy and adding a shared ESLint config for better collaboration.
VueNuxtNode.jsOpenAIESLint
2025Client project
Senior Vue.js Developer
Supported Smart Agency as a Senior Vue Developer for 4 months to get them ready for their production launch. The product asks the user a set of questions and generates a production-ready website powered by OpenAI. The team was around 80 people, working in a Turborepo monorepo.
VueNuxtNode.jsAWSOpenAITurborepo
2023Client project
React Native Developer
Pongmaster is an app for the outdoor table tennis community in Germany. I supported it as a React Native developer, turning Figma designs into the app: I reworked the login screen with a background video, redesigned the user review screen, and added new search functions for the map.
React NativeFigma
2024Client project
Appointment Booking Platform for veterinarians
A white-label tool that lets pet owners book appointments with a clinic, fully customizable per clinic: each one sets its own consultation hours, selectable symptoms and more. The frontend is Vue, backed by a Java Spring Boot service that computes available time slots. The main challenge was keeping slots in sync when they can be booked from several sources at once.
VueJavaSpring Boot
2024Client project
Lead developer - E-Commerce B2B shop for veterinary business
Migrated monolithic systems to microservices, improving deployment efficiency by 40%. Led key decisions and implementation across cloud infrastructure design, migration strategy and backend architecture, using Node.js for scalability and performance. Migrated legacy frontends to Vue3 and Nuxt3, and rebuilt backends as modular microservices on AWS Lambda and Beanstalk.

VueNuxtNode.jsAWS
2020Client project
Dinnebier - Landingpage for car presentation
Led the complete UX/UI overhaul and front-end implementation for a car landing page, focusing on data-visualization clarity and a better user flow.
2020Client project
Lead full stack developer
EnBW is a major German and European energy company supplying electricity, gas and water to millions of customers. Each year it runs "Macherbus" to sponsor charitable projects: people apply with a project and the winner gets funded. I built the frontend in Vue 2 and the backend in Laravel, hosted on AWS EC2 with Route 53.
VueLaravelAWS
2020Client project
Yogagraphy generator for Christmas cards
The agency made "yogagraphy" letters from people posing as each character A to Z. We sent Christmas cards to every agency customer through an automated email campaign. I built a Laravel REST API that generates a card spelling the customer's name from the yogagraphy pictures, then uploads the email template to Mailchimp for sending on Christmas day.

LaravelMailchimp