Cat'aloge
Application mobile alimentée par l'IA qui trouve et organise toutes vos photos d'animaux : entièrement sur l'appareil, sans cloud, sans compromis sur la vie privée.
Une application mobile alimentée par l'IA qui scanne automatiquement votre galerie et organise les photos d'animaux grâce à une inférence TensorFlow Lite entièrement on-device.
Cat'aloge est une application mobile multiplateforme alimentée par l'IA qui détecte et organise automatiquement les photos d'animaux directement sur l'appareil grâce à TensorFlow Lite. Aucune photo n'est jamais envoyée à un serveur : l'ensemble du pipeline d'inférence ML s'exécute localement sur l'appareil.
L'application utilise EfficientDet Lite2, un modèle de détection d'objets léger optimisé pour le mobile, pour analyser la galerie d'un utilisateur image par image et identifier les photos contenant des animaux. Les photos détectées sont affichées avec leur score de confiance, et les utilisateurs peuvent les mettre en favoris, les prévisualiser et les partager.
Le défi technique était de rendre cela performant sur des milliers de photos sans bloquer l'interface ni drainer la batterie. Cela a nécessité la construction d'un pool de workers Dart isolates personnalisé, un système de cache à deux niveaux (LRU en mémoire + persistance Hive sur disque), et un pipeline de scan par lots avec contrôle de contre-pression pour les appareils bas de gamme.
Fonctionnalités clés
ML on-device : Zéro cloud
EfficientDet Lite2 s'exécute directement sur l'appareil. Aucune connexion internet requise. Aucune photo ne quitte jamais votre téléphone.
Pool de workers isolates parallèles
Un pool personnalisé d'isolates Dart traite les photos en threads de fond parallèles, laissant le thread UI complètement libre.
Système de cache à deux niveaux
Les résultats sont mis en cache en mémoire pendant la session et persistés sur disque via Hive : rouvrir l'application est instantané.
Affichage du score de confiance
Chaque photo détectée est affichée avec son score de confiance ML, permettant aux utilisateurs de comprendre les résultats du modèle.
Confidentialité by design
Le modèle ML est intégré à l'application au build. Aucune requête réseau pour l'inférence. Votre galerie ne touche jamais un serveur.
Stack technique
Architecture
Le pipeline de détection est entièrement on-device. Les photos sont récupérées en lots et envoyées à un pool de workers isolates personnalisé. Chaque isolate exécute sa propre instance EfficientDet Lite2 indépendamment avec initialisation paresseuse.
Les résultats reviennent via SendPort et sont écrits dans un cache LRU en mémoire + Hive sur disque. Les notifiers async Riverpod diffusent les mises à jour directement vers l'interface galerie.
Défis & Solutions
Les problèmes complexes, et comment je les ai résolus.
Exécuter l'inférence ML sans bloquer l'UI
Analyser des milliers de photos sur des appareils bas de gamme
Invalidation du cache entre les lancements
Plus de projets
Intéressé par une collaboration ?
Je suis toujours ouvert à discuter de nouveaux projets et opportunités.