Über mich
Ich bin Senior Full-Stack-Entwickler mit über 15 Jahren Erfahrung in der Webentwicklung. Mein Schwerpunkt liegt auf TypeScript, React, Next.js und Node.js. Ich entwickle neue Webanwendungen und übernehme die Weiterentwicklung bestehender Produkte, vom Frontend über APIs und Datenbanken bis zum Deployment und zum laufenden Betrieb. Ich habe acht Jahre lang an ClassCharts mitgearbeitet. In dieser Zeit ist die Nutzerzahl auf mehrere Millionen gestiegen. Zu meinen Aufgaben gehörten die Entwicklung neuer Funktionen, die schrittweise Umstellung von jQuery auf React, SQL-Optimierungen und Cloud-Migrationen. Bei MarketAlerts habe ich als Founding Engineer eine bestehende Plattform übernommen und an der Weiterentwicklung der Anwendung, der Backend-Dienste und der Infrastruktur gearbeitet. Mit Guestavo und AfterGather habe ich außerdem eigene Softwareprodukte konzipiert und umgesetzt. Dabei habe ich sowohl die Benutzeroberflächen als auch die Backend-Architektur entwickelt. Dazu gehörten die Benutzerverwaltung, die Anbindung von Zahlungsdiensten und die Verarbeitung von Hintergrundaufgaben. Zum Einsatz kommen unter anderem Next.js, Fastify, PostgreSQL und Redis. Weitere Schwerpunkte sind NestJS, REST-APIs, GraphQL und Tailwind CSS sowie Docker, Kubernetes und AWS. Automatisierte Tests und CI/CD gehören ebenso zu meiner Arbeit wie die Wartung nach der Veröffentlichung. Ich arbeite direkt mit Produktverantwortlichen und Entwicklungsteams zusammen, um Anforderungen zu klären und passende technische Lösungen umzusetzen.
Skills
Expert:in
Fortgeschritten
Grundkenntnisse
Projekte
AfterGather
April 2026 — heute
Eine White-Label-Medienplattform für Fotografen und Studios. Sie verbindet zwei Aufgaben, für die es sonst getrennte Produkte gibt: private Kundenshootings ausliefern und freigeben lassen, und bei Live-Events Fotos und Videos der Gäste per QR-Code-Upload sammeln. Heute landet die Galerie des Fotografen in einem Werkzeug und die Handyfotos der Gäste in einem Gruppenchat. In AfterGather kommt beides beim selben Event an, unter der Marke des Fotografen, und Brautpaar oder Gastgeber haben alle Bilder an einem Ort. Von mir konzipiert und vollständig entwickelt. In aktiver Entwicklung, mit Zugang über eine öffentliche Warteliste, auf Englisch, Deutsch, Slowenisch, Spanisch und Niederländisch.
- TypeScript-Monorepo mit pnpm: Next.js-16-Webanwendung mit App Router, Fastify-5-API mit TypeBox-Schemas und Swagger-Dokumentation, BullMQ-Worker, PostgreSQL mit Drizzle, Redis, Socket.IO und S3-kompatibler Speicher, dazu eine CLI
- Die API signiert nur die Upload-URLs und berührt die Dateien nie: Gäste laden per QR-Code direkt in den Objektspeicher hoch, große Dateien als fortsetzbare Multipart-Uploads. Auf einer Hochzeit lädt fast der ganze Saal in denselben Minuten hoch, deshalb sind die Upload-Routen idempotent und pro Gast begrenzt
- Eine Worker-Pipeline mit BullMQ: zuerst Virenprüfung mit ClamAV, mit Quarantäne, falls der Scanner ausfällt, dann Vorschauen, Miniaturen und optionale Wasserzeichen für Bilder, HEIC nach JPEG und ffmpeg-Transkodierung von Videos in 720p-H.264-Vorschauen mit Standbild
- Guthabenabrechnung über ein Ledger, in das nur angefügt wird: Gutschriften ändern sich nie, Salden werden aus Buchungen und Reservierungen berechnet statt gespeichert, Idempotenzschlüssel verhindern, dass ein erneut zugestellter Zahlungs-Webhook doppelt gutschreibt, und Zahlungsanbieter sitzen hinter einer Adapterschicht mit Stripe live
- Sechs Zugriffsmodi pro Projekt, von öffentlich bis nur auf Einladung, und Links, die sich auf eine Sammlung beschränken, mit Passwort schützen, in der Nutzung begrenzen, befristen und widerrufen lassen
- Moderation mit Freigeben, Ablehnen und Sammelaktionen für Uploads und Kommentare, dazu eine KI-Sicherheitsbewertung, die markierte Fotos vom Bildschirm vor Ort fernhält
- Eine Live-Diashow für das Event über Socket.IO mit Polling als Rückfallebene, mehreren Räumen und Fernsteuerung zum Pausieren, Anheften und Weiterschalten
- Bildauswahl für Kunden mit Favoriten unter weichen oder harten Limits, einer Ansicht der Auswahl, Bearbeitungswünschen mit Sprachnotizen und Wasserzeichen
- Eigene Domains mit DNS-Prüfung, TLS auf Abruf über Caddy mit automatischer Erneuerung und Branding bis in Galerien und Transaktions-E-Mails
- KI-Bildverbesserung, Stiländerungen und Hintergrundbearbeitung mit Freigabe vor der Veröffentlichung, Foto-zu-Video sowie Bildunterschriften und Auswahl der Höhepunkte für Rückblicke, über sechs Modellanbieter mit Freigabelisten pro Workspace und Projekt und einer Evaluierungsumgebung
- Datenmodell aus Workspace, Projekt, Sammlung und Asset mit Teams, Rollen und Berechtigungen pro Mitglied, damit ein Studio Marke, Kundenprojekte und Event-Seiten an einer Stelle führt
- Gäste übernehmen ihre Uploads später per Magic Link und können Nutzungsrechte widerrufen. IP-Adressen werden nur als gesalzener Hash gespeichert
- ZIP-Downloads mit Rechten pro Link für Originale oder Vorschauen, druckfertige QR-Tischkarten, Rückblickseiten für Events sowie Erinnerungs- und Zusammenfassungs-E-Mails
- Zwei-Faktor-Anmeldung per E-Mail-Code oder Authenticator-App, Anmeldung mit Google und GitHub, API-Schlüssel, Web-Push, DSGVO-Export und -Löschung, versionierte Rechtstexte und eine Playwright-Suite für Chromium, WebKit und Mobilgeräte
Next.jsPostgreSQLTypeScriptGuestavo
Februar 2026 — heute
Guestavo ist die Software, mit der unabhängige Restaurants, Bars, Cafés und Veranstaltungsorte ihre Gäste betreuen. Ein typischer Betrieb arbeitet mit einem Reservierungs-Widget, einer Speisekarte als PDF, einem Newsletter-Tool und einer Stempelkarte aus Papier, und keines dieser Werkzeuge weiß, dass der Gast mit der Reservierung, der Gast am Tisch und der Gast im Newsletter dieselbe Person sind. Guestavo führt Reservierungen, Besuche, Kampagnen und Portalaktivität eines Gastes zusammen und deckt auch die Personalseite des Betriebs ab. Von mir konzipiert und vollständig entwickelt, von Produkt und Architektur über Backend, Frontend und Design bis zu Infrastruktur und Deployment. Als Beta mit Warteliste live, auf Englisch, Deutsch und Slowenisch, zuerst für Betriebe in Slowenien und im DACH-Raum.
- TypeScript-Monorepo mit pnpm: Next.js-Verwaltungsanwendung und öffentliche Betriebsseiten, Fastify-API mit OpenAPI-Spezifikation, BullMQ-Worker, PostgreSQL mit Drizzle, Redis, ein MCP-Server und eine CLI
- Ein MCP-Server über stdio und Streamable HTTP, mit dem ein Betrieb Speisekarten, Verfügbarkeit, Reservierungen, Veranstaltungen, Kontakte, Schichten und Auswertungen aus einem KI-Client heraus steuert. Jede Änderung eines Agenten wird mit dem Zustand davor und danach protokolliert und lässt sich rückgängig machen. API-Schlüssel sind pro Organisation, Betrieb und Aktion begrenzt, haben ein Ratenlimit und einen Notschalter
- Speisekarten-Scan: bis zu zehn Fotos einer gedruckten Karte laufen durch OCR und ein Sprachmodell (OpenAI, mit Anthropic und Replicate als Ausweichlösung) und werden zu Kategorien, Gerichten, Preisen, Allergenen und Ernährungshinweisen, die der Betrieb prüft und bestehenden Einträgen zuordnet. Das Abtippen der Karte ist beim Onboarding eines Restaurants die größte Hürde
- Reservierungen auf Ressourcen, Leistungsarten und Zusatzoptionen, mit Verfügbarkeit nach Personenzahl, Öffnungszeiten und Sperrzeiten, Warteliste, Erinnerungen, automatischem Abschluss als erschienen oder nicht erschienen und einer Zuverlässigkeitsbewertung pro Gast
- Personalplanung: Schichten, Besetzung, Abwesenheiten, Stundenzettel mit CSV-Export, Personalkosten im Verhältnis zu den reservierten Gedecken und ein iCal-Feed
- Treueprogramm mit verfallenden Punkten, Stufen, Abzeichen, Serien, Bestenlisten und Prämien, und ein Gästeportal, in dem Gäste ihre Besuche sehen, Prämien einlösen, sich für Veranstaltungen anmelden, Reservierungen verschieben oder stornieren und Feedback geben
- Kampagnen mit Auslösern wie einem neuen Kontakt, einem hinzugefügten Tag oder einem eigenen Ereignis, ein E-Mail-Posteingang für Antworten in beide Richtungen und eine Einwilligungsprüfung pro Kontakt vor jedem Versand. SMS- und WhatsApp-Routing (Twilio, BulkGate, Meta) ist gebaut und per Feature-Flag abgeschaltet
- Veranstaltungen mit Crew-Rollen, Musikwünschen, Gästefotos, Kommentaren und Reaktionen, einem einbettbaren Widget und Synchronisierung mit Facebook-Veranstaltungen
- Anfragen und Angebote: eine Vertriebspipeline, versionierte Angebote, eine Annahmeseite mit Token und die Umwandlung in eine Reservierung
- Digitale Speisekarten mit Allergenen und Ernährungshinweisen, druckfertige Speisekarten als PDF und eine Diashow für Bildschirme im Lokal
- QR-Touchpoints, die Gäste mit E-Mail-Bestätigung und Einwilligungsschritt erfassen, dazu druckfertige QR-Bögen
- Eine Bewertungsseite nach dem Besuch, die jeden Gast zu einer öffentlichen Bewertungsplattform weiterleitet, ohne unzufriedene Gäste auszufiltern
- Organisationen mit mehreren Betrieben, Rollen für Inhaber, Admins und Mitglieder, Personal ohne eigene Lizenz, Auswertungen zu Gedecken, Personalkosten, Reservierungen, Treueprogramm und Outreach sowie Abrechnung über eine Adapterschicht (Stripe live, Adapter für Paddle, PayPal, Polar und Lemon Squeezy gebaut)
- DSGVO-Datenexport und -Löschung, eine Playwright-End-to-End-Suite sowie Unit- und Integrationstests in der CI
Next.jsPostgreSQLTypeScriptMetis
· Banken und Finanzdienstleistungen
Juni 2021 — heute
Langjähriges eigenes Projekt für Finanznachrichten und Marktdaten mit rund 100.000 Artikeln täglich. ClickHouse übernimmt Analysen, Meilisearch und Qdrant die Suche, Redis das Caching und BullMQ die Verarbeitung. Selbst gehostete Modelle liefern unter anderem Embeddings, Clustering und Spracherkennung. Die Plattform wird laufend weiterentwickelt.
- Erfassung aus über 5.000 RSS-Feeds, Newslettern und Archiven rund um die Uhr, etwa 100.000 Artikel am Tag
- Eine ereignisgesteuerte Artikel-Pipeline mit BullMQ und RabbitMQ
- Speicher nach Aufgabe getrennt: PostgreSQL für relationale Daten, ClickHouse für Analysen, Meilisearch für die Volltextsuche, Qdrant für die Vektorsuche und Redis für das Caching
- Selbst gehostete Modelle für Embeddings, Clustering, Named-Entity-Recognition, Sentiment und Spracherkennung, dazu LLM-Zusammenfassungen über OpenAI, Anthropic und Ollama
- Themen-Tagging und Beziehungen zwischen Entitäten, abgeglichen mit Echtzeit-Kursen von Alpaca und Binance
- NestJS- und FastAPI-Dienste mit Worker, Client-API und MCP-Server in einem NX-Monorepo auf Docker Swarm und Kubernetes mit Grafana
DockerKubernetesPostgreSQLReactTypeScript
Berufserfahrungen
Senior Software Engineer · Vollzeit
KI-Nachhilfe-Startup · Bildung und Wissenschaft · 25–50 Mitarbeiter:innen
April 2026 — Juni 2026
KI-Plattform für Nachhilfe und Prüfungsvorbereitung, genutzt von Millionen Schülerinnen und Schülern der Sekundarstufe über Web, iOS und Android. B2C-Produkt mit Rollen für Schüler, Eltern und Lehrkräfte.
- Kostenbasierte Verbrauchserfassung für alle Tarifstufen entwickelt und eingeführt. Sie ersetzte nachrichtenbasierte Kontingente bei Millionen Anfragen pro Monat. TypeScript, Next.js, tRPC, PostgreSQL.
- Das Gedächtnis des KI-Tutors mit Inngest Durable Execution gebaut: Ein LLM extrahiert dauerhafte Fakten aus Gesprächen; ein nächtlicher Abgleich bereinigt sie und entfernt Duplikate. Ein Event je Nutzer, begrenzte Parallelität und vier Stunden Zeitfenster hielten die Datenbanklast gleichmäßig.
- Guthabenaufladungen ergänzend zu Abonnements und eine Verbrauchsverwaltung entwickelt, mit kaufkraftabhängigen Preisen je Währung und Land und Stripe als führendem System.
- In agilen Sprints direkt mit dem CTO und dem Produktteam gearbeitet. Deployment über Vercel, PostgreSQL bei PlanetScale und Dateispeicher bei Cloudflare. Alle Verbrauchspfade und die Umstellung der Kontingente auf Verbrauchserfassung mit mehreren Dutzend Tests für ein externes QA-Team abgedeckt.
Founding Engineer - Full-Stack · Vollzeit
MarketAlerts · Banken und Finanzdienstleistungen · bis zu 10 Mitarbeiter:innen
Mai 2024 — März 2026
Startup für KI-gestützte Finanzmarktanalysen mit Echtzeitsignalen aus über 20 globalen Märkten. Zunächst in Teilzeit parallel zum unten genannten Smart-City-Projekt, ab Januar 2025 in Vollzeit bis zur Einstellung des Geschäftsbetriebs im März 2026.
- Eine von einer Agentur entwickelte Finanzanalyse-Plattform übernommen und in einem agilen Team aus Frontend-, Backend- und Datenentwicklern sowie Design weiterentwickelt.
- Das gesamte Produkt in TypeScript und Node.js verantwortet: die Next.js-Webanwendung, die iOS- und Android-Apps, die eigenständige Express-REST-API hinter beiden, das Payload-CMS und die Stripe-Abrechnung.
- Die Alerting-Engine mit einem BullMQ-Worker und über 20 Hintergrund-Queues entwickelt: Auswertung, Verknüpfungslogik, Zustellung per E-Mail, Telegram und Push sowie idempotente Verarbeitung, damit wiederholt eingehende Signale keine doppelten Benachrichtigungen auslösten.
- An der Python/FastAPI-Datenplattform mitgearbeitet und deren KI-Schicht auf Airflow unter Kubernetes verantwortet: hierarchische GPT-Klassifikation von Finanzsignalen, Earnings-Call-Zusammenfassungen mit späterer Migration auf Gemini sowie Integrationen für Analystenratings und Börsengeschäfte von US-Kongressabgeordneten.
- Eine React-Native-Charting-Bibliothek geschrieben, weil keine bestehende schnell genug war, und Architektur und Infrastruktur verantwortet: Docker Swarm auf AWS EC2 mit S3, GitHub-Actions-Pipelines je Anwendung und die Migration auf GCP Cloud Run.
Senior Backend Engineer · Vollzeit
Martian & Machine · IT, Software und Telekommunikation · 100–200 Mitarbeiter:innen
August 2024 — Februar 2025
Staatliches Smart-City-Programm im Nahen Osten, umgesetzt in fünf städtischen Fachbereichen durch mehrere Dienstleisterteams.
- Backend-Architektur mit über 20 Kubernetes-Microservices in fünf Fachbereichen entworfen und umgesetzt. Jeweils eigene Datenbank und API, mit Domain-Driven Design und klaren API-Verträgen für die parallele Entwicklung durch mehrere Dienstleisterteams.
- Plattformdienste für Nutzerverwaltung, Onboarding, Benachrichtigungen, Zertifizierung und E-Mail in NestJS und TypeScript gebaut, mit APISIX, Keycloak und GitLab CI in teamübergreifenden Scrum-Sprints.
- Die Spezifikationen einer externen Beratung in C4-Architekturmodelle überführt, die zur Referenz für alle beteiligten Teams wurden.
- Die ereignisgesteuerte Verarbeitung ab den IoT-Gateways entworfen: Kafka für Event-Streaming, Cassandra für Zeitreihen der Smart-Metering-Telemetrie, PostgreSQL für alles Übrige, Keycloak für Identitätsverwaltung sowie Grafana, Prometheus und Loki für Monitoring.
