Cat'aloge
KI-gestützte mobile App, die alle Ihre Tierfotos findet und organisiert — vollständig auf dem Gerät, kein Cloud, keine Datenschutzkompromisse.
Eine KI-gestützte mobile App, die automatisch Ihre Galerie durchsucht und Tierfotos mithilfe vollständig auf dem Gerät laufender TensorFlow Lite-Inferenz organisiert.
Cat'aloge ist eine plattformübergreifende KI-gestützte mobile Anwendung, die Tierfotos direkt auf dem Gerät mithilfe von TensorFlow Lite automatisch erkennt und organisiert. Kein Foto wird jemals auf einen Server hochgeladen — die gesamte ML-Inferenz-Pipeline läuft lokal auf dem Gerät.
Die App verwendet EfficientDet Lite2, ein leichtgewichtiges Objekterkennungsmodell für Mobilgeräte, um die Galerie des Nutzers Bild für Bild zu scannen und Fotos mit Tieren zu identifizieren. Erkannte Fotos werden mit ihrem Konfidenz-Score angezeigt, und Nutzer können sie als Favoriten markieren, in der Vorschau anzeigen und teilen.
Die technische Herausforderung bestand darin, dies performant über Tausende von Fotos zu machen, ohne die Benutzeroberfläche zu blockieren oder den Akku zu entleeren. Dies erforderte den Aufbau eines benutzerdefinierten Dart-Isolate-Worker-Pools, ein zweistufiges Caching-System und eine Batch-Scan-Pipeline mit Backpressure-Kontrolle für Low-End-Geräte.
Hauptfunktionen
On-device ML — Kein Cloud
EfficientDet Lite2 läuft direkt auf dem Gerät. Keine Internetverbindung erforderlich. Kein Foto verlässt je Ihr Telefon.
Paralleler Isolate-Worker-Pool
Ein benutzerdefinierter Pool von Dart-Isolates verarbeitet Fotos in parallelen Hintergrundthreads und hält den UI-Thread vollständig frei.
Zweistufiges Caching-System
Erkennungsergebnisse werden im Speicher gecacht und via Hive auf der Festplatte gespeichert — das Öffnen der App ist sofort ohne Neu-Scan.
Konfidenz-Score-Anzeige
Jedes erkannte Tierfoto wird mit seinem ML-Konfidenz-Score angezeigt, sodass Nutzer die Modellergebnisse nachvollziehen können.
Privacy by Design
Das ML-Modell ist beim Build in die App eingebettet. Keine Netzwerkanfragen für Inferenz. Ihre Galerie berührt nie einen Server.
Tech-Stack
Architektur
Die Erkennungspipeline läuft vollständig auf dem Gerät. Fotos werden in Batches aus der Galerie geholt und an einen benutzerdefinierten Isolate-Worker-Pool verteilt. Jedes Isolate führt seine eigene EfficientDet Lite2-Instanz mit fauler Initialisierung aus.
Ergebnisse fließen über SendPort zurück in einen zweistufigen Cache: In-Memory-LRU für die Sitzung und Hive-Disk für Persistenz. Riverpod Async Notifiers streamen Updates direkt zur Galerie-UI.
Herausforderungen & Lösungen
Die schwierigen Probleme — und wie ich sie gelöst habe.
ML-Inferenz ohne UI-Einfrieren ausführen
Ein EfficientDet-Aufruf im Haupt-Thread verursachte sofortige Frame-Drops. Gelöst durch einen Dart-Isolate-Pool im Hintergrund mit fauler Modellinitialisierung pro Isolate.
Tausende von Fotos auf Low-End-Geräten scannen
Alle Fotos auf einmal in den Speicher zu laden verursachte Abstürze. Implementiert eine Batch-Scan-Pipeline mit 20er-Paketen und Backpressure-Kontrolle.
Cache-Invalidierung zwischen App-Starts
Der Disk-Cache konnte veralten wenn Nutzer Fotos zwischen Sitzungen löschten. Beim Start vergleicht ein leichtes Diff die gecachten Asset-IDs mit dem aktuellen Galeriezustand.
Weitere Projekte
ExtMig
Ein Open-Source-Entwicklerwerkzeug zur Verbesserung von Migrations-Workflows und Produktivität für moderne Entwicklungsteams.
Masroufi
Eine vollständige mobile Recruiting-Plattform mit Flutter, Clean Architecture und BLoC, die drei verschiedene Benutzerrollen unterstützt.
Accident Risk Navigator
Eine KI-Full-Stack-Plattform, die Unfallrisiken basierend auf Straßen- und Wetterbedingungen vorhersagt und Risikozonen auf interaktiven Karten visualisiert.
Interesse an einer Zusammenarbeit?
Ich bin immer offen für Gespräche über neue Projekte und Möglichkeiten.