Skip to content
TAA

Case Study

Wie ich DokuAI gebaut habe — und warum das Pattern für dein KMU funktioniert

Eine Außendienst-App, die Sprachmemos in strukturierte Berichte verwandelt. Sechs Quarkus-Microservices, eine Flutter-App, sechs Wochen bis zur nutzbaren v1. Das Architektur-Pattern, das ich verkaufe.

12. Mai 2026 · Marcel R. G. Berger · 5 min

  • case-study
  • app entwickeln lassen
  • ios entwicklung
  • quarkus
  • kafka
  • dokuai
Teilen

Wenn dein Unternehmen Mitarbeiter draußen hat, die abends Berichte tippen, ist diese Case Study deine Referenzarchitektur. DokuAI ist die App, mit der ich das Pattern validiert habe; dasselbe Blueprint passt auf jedes Problem vom Typ „Leute unterwegs erzeugen strukturierte Daten” — und es ist genau der Stack, den ich für Kunden liefere.

Das Problem, das pro Unternehmen sechsstellig im Jahr kostet

Bauleiter, Techniker, Sachverständige, Schadensregulierer — jeder, dessen Job auf Außenterminen und Dokumentation basiert — verbringt zwei Stunden nach Feierabend mit Berichten, Foto-Sortieren, Adressen-Zuordnen. Für ein 20-Mann-Team sind das rund 40 bezahlte Stunden pro Tag, die in Administration laufen statt in Wertschöpfung.

Das ist kein Software-Problem. Das ist ein Workflow-Problem, das Software wegmachen kann. DokuAI beweist es: 45 Minuten Berichts-Tippen werden zu 90 Sekunden Sprachnotiz plus Foto. Struktur, Ort und Format passieren auf dem Rückweg ins Büro.

Die Architektur — sechs kleine Services, eine Flutter-App

Ein Monolith wäre hier ein Fehler. Die schwere Arbeit ist asynchron (Transkription dauert Sekunden bis Minuten), die Ausfallmodi sind unabhängig (ein temporärer Whisper-Aussetzer darf nicht die Berichts-Erstellung blockieren), und die Mandanten wollen Trennung (jedes Unternehmen sieht nur seine eigenen Aufträge). Das ausgelieferte System hat sechs Quarkus-Services auf Kubernetes:

api-service

Die einzige öffentliche Oberfläche. Verantwortet Authentifizierung, Rate-Limiting, Validierung, Response-Shaping. Jeder andere Service ist intern. Das ist die Grenze, die jedes Audit und jeder Pentest unter die Lupe nimmt — und die Grenze, hinter der du Implementierungen austauschen kannst, ohne die App anzufassen.

transcription-service

Whisper-basiertes Audio-zu-Text. Läuft gegen eine Queue, nicht gegen einen synchronen Request. Eine 30-Sekunden-Notiz von einer lärmenden Baustelle braucht 15 Sekunden für eine saubere Transkription; die iOS-App synchron darauf warten zu lassen würde auf jeder schwachen Mobilfunkverbindung 504er erzeugen.

image-service

OpenAI Vision plus eine deterministische OCR-Pipeline als Fallback. Liest aus dem Foto: Maschinenmodell, Schadensart, Raumnummer am Türschild. Der Fallback ist wichtig — Vision ist statistisch, OCR nicht, und Berichte müssen reproduzierbar sein.

location-service

Geocoding, Projektgrenzen-Prüfung, GPS-Glättung. Überbrückt die Lücke zwischen „ich war auf einer Baustelle” und „ich war an genau dieser Adresse, die die Schadens-Datenbank kennt”. Überraschend hartes Problem, überraschend großer Effekt auf die nachgelagerte Bürokratie.

report-service

Verantwortet die typisierten Berichtsvorlagen und die Zusammenstellungs-Logik. Output ist strukturiert, validiert, fertig für PDF-Generierung oder ERP-Import. Vorlagen sind versioniert; alte Berichte bleiben reproduzierbar, auch wenn die Vorlage später geändert wird.

feedback-service

App-übergreifendes Feedback-Ingest. Nicht spezifisch für DokuAI — jede App, die ich ausliefere, meldet hier rein, damit ich sehe wo Nutzer wirklich hängen. Für einen Kunden wird das ein einziges geteiltes Infrastruktur-Stück über sein App-Portfolio.

Warum Kafka zwischen den Services, nicht REST

Würde api-service den transcription-service über REST aufrufen und auf die Antwort warten, würde eine einzige langsame GPU auf der Whisper-Seite sich bis zu jeder iOS-App über 3G durchschlagen. Stattdessen postet api-service auf ein Kafka-Topic, gibt sofort eine Job-ID zurück und die schweren Services konsumieren das Topic in ihrem eigenen Tempo. Die Mobile-App pollt einen Status-Endpoint, der aus einer Kafka-gespeisten Projektion liest — schnell, stateless und resilient gegen jede nachgelagerte Verzögerung.

Der Preis ist betrieblich: Kafka wird ein Service, den du betreiben musst. Der Nutzen: das gesamte Backend kann einen fünfminütigen Teilausfall verkraften, ohne einen einzigen Bericht zu verlieren. Für ein Unternehmen, das seinen Kunden auf Basis dokumentierter Arbeit Rechnungen schreibt, ist diese Resilienz der Unterschied zwischen zuversichtlichem Skalieren und Freitagnachmittags-Panik.

Die Flutter-Seite

Eine Codebase, iOS und Android, native UX-Anmutung. Sprachmemo-Aufnahme nutzt die Plattform-APIs (kein Web-Shim), Foto-Aufnahme läuft durch die Kamera mit Offline-Puffer, jeder Upload ist resumable über Netzwerk-Drops. Zwei Monate in Produktion, App-Store-Bewertung 5,0.

Ergebnisse — was sich für die Anwender verändert hat

  • Berichts-Erstellung: 45 Minuten → 90 Sekunden. Pro Person, pro Bericht. Multipliziere mit deiner Teamgröße und Berichts-Frequenz.
  • Orts- und Bildbelege werden automatisch angehängt. Kein „wo war dieses Foto?” mehr fünf Tage später.
  • Mehrsprachige Transkription von Haus aus — deutsches Baustellen-Vokabular nach einem kleinen Post-Processing-Schritt eingeschlossen.
  • App-Store-Bewertung 5,0 zum Zeitpunkt dieses Beitrags. Daily-Active-Retention 73 %.

Das sind keine Theoriezahlen. Sie kommen von echten Nutzern auf echten Baustellen.

Was das für dein Projekt bedeutet

Wenn dein Unternehmen Außendienst hat, der Arbeit dokumentiert — Bau, Inspektion, Immobilien, Healthcare, technischer Service, Schadensregulierung — hast du den Use Case für genau dieses Pattern. Was sich ändert: die Berichtsvorlage, die ERP-Integrationen, die spezifischen Beweisarten die ihr sammelt. Das Skelett ist identisch.

Derselbe Stack, den ich liefere:

  • Flutter im Frontend für plattformübergreifende Parität, oder natives Swift/Kotlin falls dein Kontext es verlangt.
  • Quarkus auf Kubernetes im Backend, dimensioniert auf dein Traffic-Profil.
  • Kafka für asynchrone Resilienz, nur wenn dein Workload es rechtfertigt (kleinere Teams liefern ohne).
  • Eine typisierte Berichts-Engine, die dir vollständig gehört — kein Vorlagen-Lock-In.

Produktionsscope in dieser Größe landet bei drei bis vier Monaten ab Kickoff. Ein MVP nur des Voice-to-Report-Kerns geht in zwei bis vier Wochen. Preise siehe Leistungen für die typischen Preisspannen, hier starten falls deine Situation wie das DokuAI-Muster aussieht.


Im App Store ansehenDokuAI ist kostenlos installierbar. Probier es auf einer echten Baustelle und du siehst, wie sich 90-Sekunden-Berichte tatsächlich in der Hand anfühlen.

Teilen