Photographier un repas, puis corriger l’estimation.
WarungFit est une application mobile qui estime les apports d’un repas à partir d’une photo. L’utilisateur peut corriger le résultat, enregistrer son repas et suivre ses objectifs dans le temps.
Étude de cas · code source privé

Le parcours
L’utilisateur peut corriger l’estimation avant d’enregistrer le repas.
- Prendre une photo ou choisir une image.
- Envoyer l’image à une fonction serveur authentifiée.
- Recevoir une estimation structurée du repas.
- Corriger les ingrédients et les portions proposés.
- Enregistrer le résultat dans l’historique.
Les écrans clés
Les écrans principaux couvrent l’accueil, l’estimation, la correction et les objectifs.




Visuels de présentation fournis pour le projet ; ils ne constituent pas une preuve de déploiement public.
Voir le projet en action
La vidéo suit le parcours d’un repas, de la photo initiale à la correction finale. Elle montre aussi le lien entre l’application, les fonctions serveur et l’analyse d’image.
Résumé textuel
La démonstration montre la prise ou sélection d’une photo, l’estimation côté serveur, la correction des ingrédients et des portions, puis l’enregistrement du repas dans l’historique.
Démonstration silencieuse · 35 secondes.
Ce que j’ai construit
J’ai relié l’application Flutter à Supabase Auth, PostgreSQL, Storage et plusieurs Edge Functions. L’analyse d’image appelle OpenAI depuis le serveur. Le client conserve aussi un cache local pour afficher rapidement les objectifs et les repas récents.
Stack : Flutter · Dart · Supabase Auth · PostgreSQL · Storage · Edge Functions · OpenAI.
Architecture et données

Le schéma sépare l’appareil mobile, les services Supabase et le fournisseur d’analyse. Il montre l’authentification, le stockage privé et les règles d’accès.
Ouvrir le schéma interactifDonnées et accès
Le projet manipule des photos de repas et des informations liées au profil. Les contrôles d’accès font donc partie du fonctionnement.
Session
Les fonctions sensibles vérifient le jeton de l’utilisateur avant de poursuivre.
Isolation
Les règles de la base limitent chaque compte à ses propres repas et objectifs.
Images
Les fichiers utilisent un espace privé organisé par utilisateur.
Entrées
Le texte, les images et les valeurs nutritionnelles sont contrôlés avant traitement.
Ce que j’ai appris
Ce projet m’a appris à faire fonctionner ensemble une application mobile, une base de données, du stockage de fichiers et un service d’IA distant. Il m’a aussi obligé à suivre le parcours complet d’une donnée personnelle, de la photo initiale jusqu’à la suppression du compte.
Le dépôt reste privé. Les tests entre plusieurs comptes et la suppression complète doivent encore être rejoués sur un environnement Supabase dédié avant toute mise en production.