Chat with us, powered by LiveChat Zum Hauptinhalt springen

Individuelle Applikationsentwicklung mit GenAI: KindChat von der Idee bis zur qualitätsgesicherten App

KindChat ist eine native Messenger-Anwendung für iOS und Android, bei der KI, Datenschutz, Softwarequalität und Sicherheit von Beginn an zusammengedacht wurden. Nachrichten werden auf dem Gerät auf einen definierten Zivilitätsstandard geprüft, bevor sie Ende-zu-Ende verschlüsselt übertragen werden, und nach der Entschlüsselung auf dem Empfangsgerät erneut geprüft. Die Server sehen dabei keinen Klartext.

Das Projekt zeigt zugleich, wie weit GenAI-gestützte Softwareentwicklung heute reichen kann, wenn sie mit klarer Architektur, automatisierter Qualitätssicherung und menschlichen Entscheidungen verbunden wird. 93 Prozent der Commits entstanden gemeinsam mit KI-Coding-Systemen. Gleichzeitig sichern mehr als 36.000 automatisierte Testfälle, über 61.000 CI-Läufe, systematische Security-Prüfungen und Tests auf realen Geräten die Entwicklung ab.

Damit ist KindChat auch ein Beispiel dafür, wie Unternehmen eine individuelle digitale Anwendung mit AI- und GenAI-Komponenten entwickeln lassen können, ohne Softwarequalität erst am Ende des Projekts hinzuzufügen.

3.419 Commits · 1,47 Mio. Zeilen Code · 52 % Testcode · 36.326 automatisierte Tests · über 61.000 CI-Läufe · 421 katalogisierte Bedrohungen · 10 App-Sprachen

Die Ausgangssituation: eine Produktidee mit anspruchsvollen Rahmenbedingungen

Ausgangspunkt war eine klare Produktidee: Ein Messenger sollte einen respektvollen Austausch unterstützen und gleichzeitig die Vertraulichkeit privater Kommunikation bewahren.

Die zentrale technische Herausforderung lag darin, Moderation und Ende-zu-Ende-Verschlüsselung miteinander zu verbinden. Die Prüfung sollte dort stattfinden, wo Nachrichten ohnehin im Klartext vorhanden sind: auf den Endgeräten.

Daraus entstand das Prinzip „Civility by Construction“. Die gewünschte Produkteigenschaft wurde als Bestandteil der Architektur von Beginn an mitgedacht.

Diese Ausgangssituation ist auf viele Unternehmensanwendungen übertragbar: Eine Organisation hat einen konkreten fachlichen Use Case, gleichzeitig bestehen Anforderungen an Datenschutz, Sicherheit, Performance, Nachvollziehbarkeit oder den verantwortungsvollen Einsatz von KI. Genau diese Anforderungen müssen bereits in Architektur und Entwicklungsprozess übersetzt werden.

Von der Produktidee zur individuellen Applikation

Vor dem ersten Bildschirm wurden grundlegende Architekturentscheidungen getroffen: Modulgrenzen, Verschlüsselung, Moderationslogik und zentrale Qualitätsprinzipien wurden definiert, bevor der Funktionsumfang schrittweise erweitert wurde.

Auf das technische Fundament folgten die Apps für iOS und Android, anschließend Sprach- und Videoanrufe, Gruppenfunktionen, Medien und weitere Produktbereiche. Spätere Entwicklungsphasen konzentrierten sich unter anderem auf Performance, technologische Souveränität, Sicherheit, Datenschutz und die Härtung für den produktiven Betrieb.

Übergreifende technische Entscheidungen werden dabei als Architecture Decision Records (ADRs) dokumentiert. Inzwischen existieren 916 solcher Entscheidungsprotokolle. Sie machen nachvollziehbar, warum bestimmte Architektur-, Sicherheits- und Produktentscheidungen getroffen wurden.

Diese Dokumentation ist gerade bei GenAI-gestützter Entwicklung relevant: Geschwindigkeit ersetzt keine Nachvollziehbarkeit. Entscheidungen bleiben überprüfbar und können später bewusst verändert werden.

AI und GenAI dort einsetzen, wo sie einen konkreten Nutzen schaffen

KindChat kombiniert unterschiedliche technische Ansätze.

Auf dem Endgerät arbeiten unter anderem ein umfangreiches gewichtetes Lexikon, Mustererkennung und ein eigenes mehrsprachiges KI-Modell. Nur bei unsicheren Ergebnissen wird eine zweite Stufe hinzugezogen. Das System verbindet damit lokale Verarbeitung, Machine Learning und ein zusätzliches selbst betriebenes Modell.

Auch die Entwicklung selbst erfolgt stark KI-gestützt. Mehrere KI-Coding-Sitzungen arbeiten parallel an klar abgegrenzten Aufgaben. Eine koordinierende Instanz organisiert Aufgaben, CI-Kapazitäten und Merge-Reihenfolgen und bereitet offene Entscheidungen für den Menschen vor.

GenAI wird damit gezielt dort eingesetzt, wo Automatisierung Geschwindigkeit und Skalierbarkeit erzeugt. Architektur, Qualitätskriterien, sensible Produktentscheidungen und Freigaben bleiben strukturiert kontrolliert.

Eine Architektur, die Veränderungen erlaubt

KindChat wurde als modularer Monolith mit klar voneinander getrennten Domänenmodulen und austauschbaren Schnittstellen aufgebaut.

Diese Architektur bewährte sich beispielsweise beim Wechsel einer Moderationskomponente: Die zweite Moderationsstufe konnte von einem externen US-Cloud-Modell auf ein selbst betriebenes Modell in der EU umgestellt werden, ohne den eigentlichen Messaging-Code verändern zu müssen.

Für Unternehmen ist diese Fähigkeit besonders wichtig. AI- und GenAI-Technologien entwickeln sich schnell. Modelle, Anbieter, regulatorische Anforderungen und wirtschaftliche Rahmenbedingungen können sich verändern.

Eine geeignete Architektur reduziert die Abhängigkeit von einzelnen Modellen oder Providern und schafft die Möglichkeit, Komponenten gezielt weiterzuentwickeln oder auszutauschen.

Wo können dadurch Aufwände vermieden werden?

Ein wesentlicher Vorteil entsteht dadurch, dass Qualität bereits während der Entwicklung abgesichert wird.

Automatisierte Tests erkennen Regressionen vor dem Release. Klar definierte Schnittstellen reduzieren den Aufwand beim Austausch technischer Komponenten. Dokumentierte Architekturentscheidungen erleichtern spätere Änderungen. Security- und Datenschutzanforderungen werden früh berücksichtigt und müssen dadurch seltener nachträglich in eine bestehende Architektur hineingearbeitet werden.

Auch GenAI selbst kann Entwicklungsarbeit beschleunigen. Entscheidend ist dabei die Kombination mit automatisierten Prüfungen und Engineering-Regeln. Im Projekt zeigte sich beispielsweise, dass zu viele parallel arbeitende KI-Sitzungen nicht automatisch mehr Geschwindigkeit erzeugen: CI-Kapazitäten und geteilte Ressourcen mussten bewusst koordiniert werden.

Die zentrale Lehre lautet deshalb: Effizienz entsteht durch das Zusammenspiel aus GenAI, Softwarearchitektur, Automatisierung und Quality Engineering.

Security und Privacy by Design

Sicherheit wurde ebenfalls als durchgängige Engineering-Aufgabe angelegt.

Das Bedrohungsmodell nach STRIDE enthält 421 katalogisierte Bedrohungen und sieben Angreiferprofile. Sicherheitsrelevante Änderungen werden unter anderem gegen Risiken in Authentifizierung, Kryptografie, Moderation, Berechtigungen, Abrechnung sowie Datenlöschung und -export geprüft.

Die technische Architektur kombiniert unter anderem:

  • Ende-zu-Ende-Verschlüsselung,
  • datensparsame Serverkommunikation,
  • inhaltsfreie Push-Mitteilungen,
  • pseudonymisierte Datenverarbeitung, wo Speicherung erforderlich und freigegeben ist,
  • klare Rollen- und Berechtigungskonzepte,
  • Auditierbarkeit,
  • adversariale Security-Tests.

Damit werden Datenschutz und Sicherheit zu Architekturentscheidungen und nicht zu nachgelagerten Compliance-Aufgaben.

Auch KI-Ergebnisse brauchen Tests

Gerade bei AI- und GenAI-Systemen reicht ein plausibles Ergebnis als Qualitätsnachweis nicht aus.

Das Projekt hat mehrfach gezeigt, dass automatisierte Systeme überzeugende Resultate liefern können, obwohl Test oder Messung technisch nicht das prüfen, was sie zu prüfen scheinen.

Deshalb gilt im Projekt unter anderem:

  • Jede relevante Fehlerklasse wird zunächst durch einen reproduzierbaren Test abgesichert.
  • Messreihen enthalten Kontrollfälle, die bewusst fehlschlagen müssen.
  • Eine Schutzmaßnahme gilt erst dann als belegt, wenn ihre Wirkung im tatsächlichen Produktionspfad geprüft wurde.
  • Wer eine Änderung erstellt, übernimmt nicht allein deren unabhängige Prüfung.

Diese Erfahrung ist auf GenAI-Anwendungen unmittelbar übertragbar: Eine AI-Funktion ist erst dann belastbar, wenn ihre tatsächliche Wirkung geprüft wird und nicht lediglich ihre Konfiguration oder ihr erwartetes Verhalten.

Quality Engineering beginnt mit der Entwicklung

Ein zentraler Unterschied zu einem schnellen AI-Prototyp liegt in der Qualitätssicherung.

KindChat umfasst rund 702.000 Zeilen Produktivcode und 765.000 Zeilen Testcode. Insgesamt bestehen 36.326 automatisierte Testfälle. Im Client und Server liegt der Umfang des Testcodes sogar über dem Umfang des Produktivcodes.

Zur Entwicklungsinfrastruktur gehören:

  • 17 CI-Workflows,
  • mehr als 61.000 CI-Läufe,
  • automatisierte Tests vor der Integration von Änderungen,
  • reale Geräteprüfungen,
  • definierte Quality Gates,
  • gezielte adversariale Prüfungen in sicherheitskritischen Bereichen,
  • mindestens 90 Prozent Testabdeckung für die Moderationskomponente.

Damit wird Softwarequalität während der Entwicklung systematisch abgesichert. Sie ist Bestandteil der Entwicklungsarchitektur.

Für Kund:innen bedeutet das: Eine individuelle Anwendung kann bereits während ihrer Entstehung systematisch gegen funktionale, qualitative und sicherheitsbezogene Anforderungen geprüft werden.

Human in the Loop: Menschen entscheiden dort, wo Entscheidungen Gewicht haben

Das Entwicklungsmodell trennt klar zwischen automatisierbarer Arbeit und menschlicher Verantwortung.

KI-Systeme können entwickeln, analysieren, testen und Lösungsmöglichkeiten vorbereiten. Ein Mensch entscheidet an den Stellen, an denen Entscheidungen grundsätzlich, unumkehrbar oder öffentlich wirksam werden.

Dazu gehören beispielsweise Produktumfang, Datenschutz, rechtliche Fragen, sensible Funktionen und Store-Freigaben. Neue Releases werden zudem auf realen iOS- und Android-Geräten geprüft.

Dieses Prinzip ist für individuelle Unternehmensanwendungen besonders relevant: GenAI kann Entwicklungsarbeit erheblich beschleunigen. Verantwortung und fachliche Entscheidungskompetenz bleiben dort beim Menschen, wo Kontext und Folgen eine bewusste Entscheidung verlangen.

Ergebnisse: eine produktive Anwendung statt eines AI-Prototyps

KindChat ist inzwischen eine umfangreiche produktive Softwareplattform mit mobilen Apps, Backend, Moderationssystem, mehreren Backoffice-Anwendungen sowie Build-, Test- und Betriebsinfrastruktur.

Die Entwicklung umfasst aktuell unter anderem:

  • 3.419 Commits auf dem Hauptzweig
  • 1.325 Feature-Commits
  • 1.115 Fehlerbehebungen
  • 36.326 automatisierte Testfälle
  • 1,47 Millionen Zeilen Produktiv- und Testcode
  • über 61.000 CI-Läufe
  • 916 Architecture Decision Records
  • 421 katalogisierte Bedrohungen
  • 10 App-Sprachen
  • fünf ausgelieferte Versionen des eigenen ML-Modells
  • 93 Prozent der Commits gemeinsam mit KI erstellt.

Diese Zahlen stammen aus Repository und Build-Infrastruktur und damit aus dem tatsächlichen Entwicklungsprozess, nicht aus Nutzerdaten.

Welche Risiken wurden durch diesen Entwicklungsansatz adressiert?

Bei GenAI-gestützter Anwendungsentwicklung entstehen neben klassischen Software-Risiken zusätzliche Herausforderungen.

Das KindChat-Projekt adressiert insbesondere:

  • ungeprüfte oder nur scheinbar korrekte KI-Ergebnisse,
  • technische Abhängigkeiten von einzelnen Modellen oder Providern,
  • schwer nachvollziehbare Architekturentscheidungen,
  • Regressionen durch schnelle Entwicklung,
  • Sicherheits- und Datenschutzrisiken,
  • mangelnde Testbarkeit von AI-Funktionen,
  • Fehler durch parallele KI-Entwicklung,
  • Qualitätsverluste durch hohe Entwicklungsgeschwindigkeit.

Die im Projekt dokumentierten Fallstricke zeigen dabei einen wichtigen Zusammenhang: Mehr Geschwindigkeit erhöht den Wert guter Engineering-Strukturen. Automatisierung, klare Schnittstellen, Tests, CI, unabhängige Prüfungen und menschliche Freigaben ermöglichen es, GenAI produktiv einzusetzen, ohne Qualität der Geschwindigkeit unterzuordnen.

Du hast eine ähnliche Herausforderung?

Jede Case Study beginnt mit einer konkreten Situation – genau wie jedes Projekt, das wir übernehmen.

Ob Requirements Engineering, Softwarequalität, agile Zusammenarbeit, Weiterbildung oder ein anderer Aspekt von Software Engineering und Organisation: Wir bringen unsere Erfahrung dort ein, wo sie einen konkreten Unterschied machen kann.

Projekt mit trendig besprechen Weitere Case Studies entdecken