En vedette App Mobile 2024

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.

#ai#flutter#on-device-ml#privacy#photo-organization#tensorflow-lite

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

FlutterDartTensorFlow LiteRiverpodHive

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

Un seul appel EfficientDet sur le thread principal causait des chutes de frames immédiates. Résolu en déplaçant toute l'inférence vers un pool d'isolates Dart avec initialisation paresseuse du modèle par isolate.

Analyser des milliers de photos sur des appareils bas de gamme

Charger toutes les photos en mémoire simultanément causait des crashes. Implémenté un pipeline de scan par lots de 20 photos avec contrôle de contre-pression.

Invalidation du cache entre les lancements

Le cache disque pouvait devenir obsolète si des photos étaient supprimées entre sessions. Au lancement, un diff léger compare les IDs d'assets en cache avec l'état actuel de la galerie.

Plus de projets

ExtMig

Un outil de développement open-source conçu pour améliorer les workflows de migration et la productivité des équipes de développement modernes.

TypeScriptNode.js

Masroufi

Une plateforme mobile de recrutement complète construite avec Flutter en Clean Architecture et BLoC, supportant trois rôles utilisateurs distincts.

FlutterDartBLoCDio +2

Accident Risk Navigator

Une plateforme IA full-stack qui prédit le risque d'accident en fonction des conditions routières et météorologiques, et visualise les zones à risque sur des cartes interactives.

ReactTypeScriptPythonTensorFlow +4

Intéressé par une collaboration ?

Je suis toujours ouvert à discuter de nouveaux projets et opportunités.

Jihed Mrouki

Développeur Mobile & Flutter spécialisé dans les architectures évolutives et les solutions mobiles intelligentes.

Me suivre

© 2026 Jihed Mrouki. Tous droits réservés.

Développé avec SvelteKit & TailwindCSS