Vue d'ensemble
Firmatech a démarré en 2024 comme mon projet de fin d'études de Licence, inspiré de l'activité d'aquaculture et d'aquaponie que ma sœur prévoit de lancer : une ferme piscicole intelligente qui a remporté le prix Best Potential Startup à la remise des diplômes. Quand j'ai participé au hackathon Junction Alger, l'un des thèmes était l'aquaculture, et l'équipe a donc décidé de continuer à construire sur mon projet. Voici le MVP construit en équipe qui en est sorti. J'ai travaillé sur les modules d'IA, l'analyse de données et les tests ; l'étude de cas se concentre sur ces points et sur l'architecture du système.
Problème
Les fermes piscicoles ont besoin de signaux précoces sur la qualité de l'eau, la croissance, l'alimentation et le risque sanitaire. L'inspection manuelle est lente, les enregistrements peuvent se fragmenter, et les sorties de l'IA ont besoin de tableaux de bord, d'alertes et de rapports pour être utiles.
Contexte
L'organisation publique répartit le travail du hackathon entre application mobile, tableau de bord, API TypeScript, backend d'IA FastAPI, simulation de données factices et notifications. Le travail antérieur de mémoire couvre le suivi aquacole, les capteurs IoT, l'UX mobile, le ML et le deep learning.
Mon rôle
Contributeur IA/recherche/tests dans l'équipe Junction Alger, également répertorié comme Module IA et analyse de données. L'étude de cas crédite l'équipe et évite de revendiquer la paternité exclusive de l'application mobile, du tableau de bord ou du backend général.
Objectifs
- Transformer la recherche sur la pisciculture intelligente en un MVP fonctionnel
- Suivre les conditions des bassins comme le pH, l'oxygène, la température, la salinité, les nitrates, les matières en suspension et le niveau d'eau
- Exposer des services d'IA pour le comptage de poissons, l'estimation du poids et de la biomasse, la détection de maladies et la génération de rapports
- Soutenir les parcours de l'exploitant et de l'administrateur via le mobile, le tableau de bord, les alertes et les rapports
- Utiliser des données factices de capteurs et d'images pour démontrer des flux réalistes sans matériel d'exploitation réel
Décisions techniques
- Utiliser FastAPI pour que les endpoints de comptage, de maladies, de poids et de rapports restent séparés des préoccupations d'interface
- Utiliser des modèles hébergés sur Roboflow pour la détection et la classification des maladies
- Utiliser OpenCV et un suivi par centroïdes pour que les détections répétées ne gonflent pas le nombre de poissons
- Utiliser une formule empirique longueur-poids pour l'estimation de la biomasse du hackathon, avec des hypothèses d'étalonnage documentées comme contraintes du prototype
- Utiliser Gemini via Agno pour générer des rapports quotidiens d'exploitation à partir des mesures des bassins et des informations sur les poissons
- Utiliser une API TypeScript/Express avec MongoDB/Mongoose pour les utilisateurs, bassins, aliments, mesures, alertes, fiches de poissons et rapports
- Utiliser Expo/React Native pour l'application mobile de l'exploitant, Next.js pour le tableau de bord d'administration et des notifications de type Expo/Firebase pour les événements urgents
- Utiliser un simulateur basé sur cron pour alimenter le pipeline de démo en mesures et en images de poissons factices à intervalles répétables
Architecture
Le simulateur produit des mesures de capteurs et des images. L'API TypeScript stocke dans MongoDB les utilisateurs, bassins, aliments, mesures, rapports, alertes et fiches de poissons. Le backend FastAPI gère Roboflow, OpenCV, le suivi et les rapports Gemini/Agno. Expo et Next.js consomment l'API, tandis que les notifications envoient des alertes push ou par e-mail.
Pipeline de suivi des bassins
deux backends, une appliCaptures d'écran de l'étude de cas
10 vuesFonctionnalités clés
- Endpoint de comptage de poissons pour les images vidéo, avec détection et protection contre le double comptage
- Endpoint de poids qui estime la longueur, convertit les pixels en centimètres et renvoie des signaux de poids et de biomasse
- Endpoint de maladies qui classe la santé des poissons et renvoie l'état et le type de maladie
- Endpoint de rapport d'exploitation qui transforme les mesures des bassins en recommandations quotidiennes
- Modèles d'API pour les bassins d'eau, mesures, aliments, alertes, rapports, utilisateurs et administrateurs
- Tableau de bord mobile avec vue d'ensemble des bassins, alertes, navigation multi-bassins, notifications et parcours de profil
- Tableau de bord d'administration pour le suivi des bassins, les analyses, les opérations d'alimentation, les rôles des utilisateurs et l'authentification
- Service de simulation pour le pH, le niveau d'eau, la température, les valeurs de suivi, les images de poids et les images de maladies
Défis
- Rendre la démo crédible sans matériel de bassin réel, en simulant l'entrée des capteurs et des caméras
- Relier les sorties des modèles à des actions produit plutôt qu'à des expériences d'IA isolées
- Garder le MVP compréhensible à travers plusieurs dépôts et environnements d'exécution
- Présenter avec exactitude les métriques des modèles et les hypothèses du prototype, notamment pour l'étalonnage, la qualité d'image et la couverture des données de maladies
- Coordonner des surfaces gérées par l'équipe tout en gardant un rôle précis et équitable dans le portfolio public
Résultats
- Un MVP d'aquaculture intelligente avec mobile, tableau de bord, API, backend d'IA, simulation, notifications et documentation visuelle
- Couvre l'ingénierie de l'IA au-delà des notebooks : services routés, workflows de modèles, logique de suivi, génération de rapports et intégration
- Relie la recherche, l'IA, l'architecture backend, la simulation de données et les surfaces produit
- Utilise des ressources de dépôts publics et des captures d'écran anonymisées pour que l'étude de cas soit visuelle sans exposer de contenu privé du Drive
Ce que j'ai appris
- La valeur de l'IA est plus claire quand chaque sortie de modèle a un workflow pour l'exploitant
- Les projets de hackathon ont besoin de schémas d'architecture parce que la répartition en dépôts peut masquer la vraie forme du produit
- La simulation est utile pour les démos, mais l'étude de cas doit étiqueter ses hypothèses et éviter les affirmations de production
- La formulation des rôles compte : elle doit montrer la contribution et la profondeur technique sans effacer les autres contributeurs