Flagship Case Study
Kassenintegriertes Treueprogramm
Blockchain-gestütztes Treueprogramm, integriert in ein Kassen- und Self-Order-Umfeld.
Konzept eines digitalen Treueprogramms für die Gastronomie: Mit jeder Bestellung sammeln Kundinnen und Kunden eine digitale Trophäe, die stufenweise aufsteigt und dabei steigende Rabatte freischaltet — technisch als benutzereigenes, aufsteigendes Status-Token umgesetzt.
Kunden-App, Web-Plattform und Admin-Backoffice aus einer Codebasis.
Meine Rolle & Umfang
Entstanden als mein IHK-Abschlussprojekt während meiner Tätigkeit als Anwendungsentwickler — dokumentierte, geprüfte Eigenleistung.
Aktuell liegt das Treueprogramm als MVP vor — der funktionsfähige Kern, auf dem eine spätere Produktversion aufbauen kann.
Im laufenden Betrieb
Das läuft im täglichen Betrieb
Rund um ein bestehendes Kassen- und Self-Order-System habe ich aus wirtschaftlicher und zeitlicher Abwägung eigene Werkzeuge gebaut und integriert: eine Integrationsschicht, die Anzeige-Daten aus einem bestehenden System gestaltbar darstellt, sowie eine Auswertung der Prozessdaten je Phase (Eingang → Zubereitung → Abholung). Eine Build-vs-Buy-Entscheidung im laufenden Betrieb.
Instrumentierung
LiveProzess-Visualisierungs-Layer
Ein injizierender Reverse-Proxy vor einem bestehenden Anzeige-System: Der Kiosk-Browser läuft über den Layer, der alle Anfragen durchreicht und einen Beobachter-Agent in die Oberfläche injiziert. Der Agent meldet je Vorgang ENTER/MOVE/LEAVE; der Server schreibt idempotent nach MongoDB (mit JSONL-Fallback ohne Cloud). So entstehen die Roh-Timings, wie lange ein Vorgang je Phase steht — eingegangen → in Vorbereitung → abholbereit.
Ein bestehendes System messbar machen, ohne es zu verändern — nicht-invasiv, idempotent und ausfallsicher (Verbindungsabriss erzeugt keine Lücken oder Fehldaten).
- Node.js
- Reverse-Proxy + Script-Injektion
- MutationObserver
- MongoDB / JSONL-Fallback
- Offline-Queue & Heartbeat
Betriebs-Alarm · headless
LiveHeadless-Benachrichtigung
Bewusst minimal: ein reines Skript ohne GUI, Browser oder Node-Abhängigkeiten. Es pollt read-only dasselbe Anzeige-System und meldet, sobald ein neuer Vorgang auftaucht — läuft völlig unabhängig vom Visualisierungs-Layer, übersteht Neustarts per Autostart und ist gegen Fehlalarme abgesichert.
Das angemessene Werkzeug statt der größtmöglichen Lösung: Der Startbestand löst keinen Alarm aus, ein Verbindungsfehler setzt den Stand nicht zurück — robust genug für den laufenden Betrieb.
- PowerShell
- Read-only Polling
- Windows Autostart
Auswertung
LiveAnalyse-Tools
Integrierte Auswertung der erfassten Timings und der Bestelldaten: Durchlaufzeiten je Phase, Engpässe und Bestell-Muster werden sichtbar. Damit schließt sich die Messkette vom Vorgang bis zur Entscheidungsgrundlage.
Aus reinen Betriebsdaten werden Entscheidungsgrundlagen — die instrumentierte Kette ist end-to-end gedacht, nicht nur der sichtbare Bestellablauf.
- Next.js
- MongoDB-Aggregation
- TypeScript
Abschlussprojekt
Das Abschlussprojekt: Treueprogramm als MVP
Der technische Kern lief zur IHK-Abschlussprüfung end-to-end; aktuell wird er zu einer Produktversion ausgebaut und ist nicht im Live-Einsatz.
Systemfluss
Von der Bestellung bis zur Belohnung
Kasse
Bestellung im Cloud-POS
App
Event & Kundenstatus in der App
Chain
Status-Token wird on-chain hochgestuft
Reward
Höhere Stufe schaltet Vorteile frei
Nur die Kasse (POS/Warenwirtschaft) ist live; App, Chain und Reward gehören zum MVP-Prototyp.
Die Reward-Mechanik
Ein Status, der aufsteigt
Für den schnellen Blick
Mit jeder Bestellung steigt die digitale Trophäe eine Stufe auf und schaltet höhere Vorteile frei — vergleichbar mit einer Sammelfigur, nur digital und mit echtem Nutzen.
Technisch
Der Kundenstatus ist als dynamisches Token auf einer Substrate-/Polkadot-Chain umgesetzt, das sich ereignisgesteuert durch Bestellungen aus dem Kassensystem hochstuft. Ein Rust-Daemon signiert die Updates automatisiert.
Design-Entscheidung
Warum ein Token statt eines DB-Feldes?
Warum ein Token auf einer Chain statt eines Status-Feldes in der Datenbank? Weil der Status damit den Kundinnen und Kunden selbst gehört — in ihrer eigenen Wallet, portabel und übertragbar. Das kann eine interne Datenbank nicht leisten.
Der gekoppelte Vorteil ist bewusst an das Token gebunden: Die hohen Stufen erfordern sehr viele Bestellungen, der zum Erreichen nötige Umsatz ist also bereits eingenommen — eine vorausbezahlte Marge.
Dass die Tokens handelbar sind, ist eine bewusste Design-Entscheidung mit kalkuliertem Risiko, das über die Seltenheit der hohen Stufen begrenzt wird.
An- und Verkauf der Tokens liegen bewusst außerhalb des eigenen Systems — das System vergibt und stuft Status, betreibt aber keinen Handel damit.
Systemarchitektur
Vier Schichten, ein System
Nicht jede Schicht teilt denselben Reifegrad — die Badges zeigen, was live läuft und was zum MVP-Abschlussprojekt gehört.
Mobile App
MVPKunden-App zum Sammeln, Einlösen und Anzeigen des Status inkl. Wallet-Anbindung.
- React Native / Expo
- Android Studio (nativer Build)
- TypeScript
- Expo Router
- React Context
- Reanimated
Web-Plattform
LiveKunden-Frontend und Admin-Backoffice aus einer einzigen Codebasis — die reale Basis der Live-Websites.
- Next.js (App Router)
- React 19
- TypeScript
- MUI
- 100+ API-Routes
- MongoDB / Mongoose
- NextAuth (JWT)
- CASL
Integrationen
LiveAnbindung an das reale Kassen- und Peripherie-Umfeld des Betriebs.
- Cloud-POS-Integration
- Epson ESC/POS
- Brevo (E-Mail)
- Cloudinary (Bilder)
Web3 / Blockchain
MVPDer Kundenstatus als eigenständiges Token plus ein selbstgeschriebener Signier-Daemon.
- Enjin Platform (Substrate / Polkadot)
- WalletConnect
- Wagmi / Ethers / Viem
- Rust-Daemon
Technische Highlights
Was besonders heraussticht
Multi-Domain aus einem Codebase
LiveMehrere Domains laufen aus einer einzigen Codebasis. Ein hostname-basiertes Rewrite über Proxy/Middleware entscheidet pro Request, welcher Auftritt ausgeliefert wird. Ein Deployment, mehrere Auftritte.
Eigener Rust-Signier-Daemon
MVPEin selbstgeschriebener Hintergrund-Service signiert die Blockchain-Transaktionen automatisiert: Nonce-Management für mehrere Transaktionen pro Block, Exponential-Backoff-Retry, verschlüsselter Key-Store und Docker-Deployment.
Kasse trifft Chain
MVPReale Kassen-Ereignisse aus dem POS steuern ein Token auf der Blockchain — die Kette Bestellung → Statusaufstieg → freigeschalteter Vorteil ist end-to-end umgesetzt.
Qualitätssicherung
- Playwright E2E
- Dredd API-Tests
- Unit-, Integrations- & Performance-Suite