Von 0 auf App Store: Wie ich eine komplette Flutter-App mit dem KI-Agenten Antigravity entwickelt habe
Ja, ich habe vor Kurzem noch lautstark davor gewarnt, dass blinde Nutzung von KI-Code-Generatoren eure Software-Architektur in ein unwartbares Trümmerfeld verwandelt. Und dabei bleibe ich auch: Wer einfach nur Code-Snippets aus Chat-Fenstern kopiert oder blind die Tab-Taste bei Autocomplete-Vorschlägen drückt, baut sich die technischen Schulden der Zukunft in Rekordgeschwindigkeit auf.
Aber die Welt der künstlichen Intelligenz dreht sich rasant weiter. Der Sprung von reinen Generatoren hin zu autonomen, agentischen Coding-Assistenten ändert die Spielregeln fundamental.
In den letzten Wochen habe ich ein Experiment gewagt: Ich habe eine komplette, produktionsreife Mobile-App für iOS und Android von Grund auf neu entwickelt – und zwar nicht als Solo-Entwickler, sondern im echten Pair-Programming mit Antigravity, dem agentischen Coding-Assistenten von Google DeepMind.
Das Ergebnis? Pack Planner, ein hochsicherer, intelligenter Familienorganizer, der bereits im App Store und Google Play Store live ist und über 5.000 Familien im Alltag entlastet.
Hier ist mein Erfahrungsbericht, wie dieser Prozess ablief, warum die Architektur stabil blieb und wie sich die Arbeit als Entwickler dadurch verändert.
Das Projekt: Pack Planner – Kein einfaches CRUD-Spielzeug
Wenn man einen KI-Agenten testen will, reicht eine simple Todo-Liste nicht aus. Pack Planner musste von Anfang an echte, komplexe Probleme moderner Familien lösen:
- Mehrere Rudel (Multi-Tenancy lokal): Perfekt für Patchwork-Familien oder Co-Parenting. Man muss nahtlos zwischen verschiedenen Familiengruppen wechseln können, wobei die Daten strikt getrennt bleiben müssen.
- Offline-First & Echtzeit-Sync: Familien stehen oft im Funkloch oder haben schlechtes Netz. Alle Daten müssen lokal auf dem Gerät liegen und sich im Hintergrund konfliktfrei synchronisieren, sobald wieder Empfang da ist.
- Ende-zu-Ende verschlüsselter (E2EE) Dokumentensafe: Sensible Dokumente wie Impfpässe, Geburtsurkunden oder Mietverträge werden lokal auf dem Gerät verschlüsselt, bevor sie geteilt werden.
- Lokaler Gemma 4 KI-Assistent: Um den Datenschutz zu wahren, scannt eine integrierte Offline-KI auf dem Gerät per Kamera Elternbriefe, extrahiert automatisch Termine und schlägt Wochenspeisepläne vor – ohne dass Daten je eine Cloud berühren.
Als Tech-Stack fiel die Wahl auf Flutter (Dart) für das Frontend und eine robuste, lokale Datenbankarchitektur.
Der Unterschied: Autocomplete vs. Agentisches Coding
Warum hat dieser Ansatz funktioniert, während klassische Copilots oft an komplexen Projekten scheitern? Der Schlüssel liegt im Unterschied zwischen generativem Autocomplete und agentischem Arbeiten.
Während herkömmliche KI-Assistenten nur die nächste Zeile Code erraten oder isolierte Fragen beantworten, arbeitet Antigravity als autonomer Agent in einem geschlossenen Loop:
Antigravity hat direkten Zugriff auf das Workspace-Verzeichnis, kann das Projekt kompilieren, Abhängigkeiten in der pubspec.yaml verwalten, Unit- und Integrationstests ausführen und die Terminal-Ausgaben lesen.
Wenn der Compiler meckert, liest Antigravity den Stacktrace, versteht den Typfehler und behebt ihn eigenständig, bevor ich überhaupt gemerkt habe, dass ein Fehler vorlag.
Schritt für Schritt: Wie wir Pack Planner gebaut haben
1. Das Fundament: Strikte Schichtenarchitektur (Clean Architecture)
Um zu verhindern, dass die KI Spaghetti-Code schreibt, habe ich als menschlicher Architekt vor der ersten Zeile Code die architektonischen Zäune hochgezogen. Wir haben uns auf eine klassische Clean Architecture geeinigt:
- Presentation Layer: Flutter Widgets und State Management (BLoC/Cubit).
- Domain Layer: Reine Business-Logik, Entities und abstrakte Interface-Definitionen (Repositories). Dieser Layer hat null Abhängigkeiten zu externen Packages oder Flutter selbst.
- Data Layer: Die konkrete Implementierung der Repositories, Datenquellen (lokale SQLite/Isar-Datenbank, API-Clients) und Mappings.
Antigravity hat diesen Rahmen über ein vordefiniertes Planungs-Framework (implementation_plan.md) strikt eingehalten. Sobald die KI versucht hätte, eine Datenbankabfrage direkt in ein UI-Widget zu schreiben, wäre dies im Plan oder spätestens durch die automatisierten Architektur-Checks aufgefallen.
2. Implementierung des E2EE Dokumentensafes
Die Verschlüsselung von Dokumenten erfordert höchste Sorgfalt. Hier konnte Antigravity seine Stärken ausspielen. Ich wies den Agenten an: „Implementiere einen E2EE-Service für Dokumente. Verwende AES-GCM (256-Bit) zur Verschlüsselung der Dateien auf dem Gerät. Die Schlüssel dürfen niemals im Klartext gespeichert werden; nutze dafür den sicheren Schlüsselspeicher des Betriebssystems (Keychain/Keystore).“
Antigravity suchte die passenden Flutter-Packages (z. B. flutter_secure_storage und Kryptografie-Bibliotheken), verankerte sie in der pubspec.yaml, schrieb die Kapselung für Android/iOS und erstellte eine Suite von Unit-Tests, die verifizierten, dass eine Datei nach der Verschlüsselung nicht mehr im Klartext lesbar war und sich fehlerfrei entschlüsseln ließ.
3. Offline-First Synchronisation & Lokale KI
Die größte Herausforderung war die Synchronisation der lokalen Datenbank mit einem zentralen Sync-Server, ohne Race Conditions zu erzeugen.
Hier haben wir nach dem Offline-First-Prinzip gearbeitet. Alle Änderungen werden als lokale Events in einer Outbox-Queue gespeichert. Antigravity hat den Synchronisations-Scheduler implementiert, der im Hintergrund läuft, Konflikte (z.B. wenn zwei Familienmitglieder denselben Termin offline geändert haben) erkennt und nach definierten Regeln auflöst.
Für den integrierten Gemma 4 KI-Assistenten hat der Agent die Kamera-Schnittstellen und die OCR-Bibliotheken angebunden, um gedruckte Elternbriefe lokal zu parsen. Die extrahierten Textdaten wurden dann an ein lokales On-Device LLM übergeben, das Termine (wie „Sommerfest am 24. Juni um 15 Uhr“) strukturiert als JSON ausgibt, damit sie direkt in den Familienkalender eingetragen werden können.
Fazit: Die neue Rolle des Entwicklers
Das Experiment zeigt: Man kann eine komplette, hochkomplexe Flutter-App mit einem KI-Agenten bauen, ohne dass die Code-Qualität leidet. Aber es erfordert ein Umdenken.
Meine Rolle als Entwickler hat sich während des Projekts verschoben:
- Vom Codewriter zum Software-Architekten: Ich habe weniger Zeit mit Tippen und dem Suchen nach passenden API-Parametern verbracht. Stattdessen lag mein Fokus auf dem Design von Schnittstellen, Datenstrukturen und der Validierung des Systems.
- Fokus auf Qualitätssicherung: Da der Agent den Code schreibt, war meine Hauptaufgabe das Review der Implementierungspläne und das Schreiben von präzisen Akzeptanzkriterien.
- Unglaubliche Feature-Velocity: Features, für die ich normalerweise Tage gebraucht hätte (wie die fehlerfreie E2EE-Pipeline inklusive Plattform-spezifischem Key-Storage und Testabdeckung), wurden in wenigen Stunden stabil umgesetzt.
Der Schlüssel zum Erfolg war, dass Antigravity nicht einfach "ins Blaue hinein" codiert hat. Die enge Verzahnung aus klaren Spezifikationen, automatisierten Tests und dem kontinuierlichen Compiler-Feedback-Loop sorgt dafür, dass die Codebase auch nach Wochen intensiver Entwicklung extrem sauber und wartbar bleibt.
Pack Planner zeigt, was heute schon möglich ist, wenn Mensch und agentische KI als echtes Team zusammenarbeiten.
Möchtet ihr erfahren, wie ihr KI-Agenten wie Antigravity sicher in eure Entwicklungs-Workflows integriert, ohne eure Code-Qualität zu gefährden?
In meinen Beratungsmandaten unterstütze ich Entwicklungs-Teams dabei, moderne Architekturen aufzubauen, technische Schulden abzubauen und die Produktivität durch den sinnvollen Einsatz von KI-Tools und klaren Leitplanken nachhaltig zu steigern.