Nutritionist Bot : comment j'ai créé une application de nutrition par IA, de A à Z
De tous les projets que j'ai construits, Nutritionist Bot est celui dont on me parle le plus. Pas parce qu'il est le plus tape-à-l'œil, mais parce qu'il est parti d'une question toute simple : est-ce qu'une application peut donner à quelqu'un un vrai plan nutritionnel personnalisé en quelques secondes, comme le ferait un diététicien, mais disponible à tout moment ? Voici l'histoire honnête de son passage de l'idée à un SaaS que des gens paient.
Cet article, c'est l'histoire complète : pourquoi je l'ai construit, comment il fonctionne vraiment sous le capot, les décisions techniques dont je suis fier, et les pièges qui m'ont fait perdre des nuits. Je l'écris comme je l'aurais raconté autour d'un café — sans jargon inutile, et sans prétendre que tout a été facile.
Pourquoi créer encore une application de nutrition ?
Honnêtement, le marché est saturé. Mais quand je regardais de près, la plupart des applis font l'une de deux choses : soit elles te donnent un tableur déguisé où tu dois tout saisir toi-même, soit elles te balancent un plan générique copié-collé qui ne tient compte de rien. Aucune des deux ne ressemble à ce que fait un vrai professionnel : t'écouter, calculer pour ton corps précis, et t'expliquer. C'est ce vide-là que je voulais combler.
Le vrai problème des applications de régime classiques
Le problème de fond, c'est la confiance. Une application de nutrition manipule des chiffres qui touchent à la santé des gens. Si elle se trompe de calories, ce n'est pas un bug cosmétique — ça peut pousser quelqu'un à manger trop peu pendant des semaines. Beaucoup d'applis « IA » sorties récemment se contentent de demander à un chatbot « fais-moi un plan à 1800 calories » et de recopier la réponse. Ça me terrifiait. Un modèle de langage est doué pour écrire, pas pour faire des maths fiables à tous les coups.
Ce que fait Nutritionist Bot, concrètement
Vu de l'utilisateur, c'est simple. Tu réponds à un court questionnaire — âge, poids, taille, niveau d'activité, objectif (perte de poids, prise de masse, maintien), régime préféré, allergies et aliments à éviter. Quelques secondes plus tard, tu obtiens un plan alimentaire personnalisé sur plusieurs jours, avec tes calories et tes macros (protéines, glucides, lipides), des repas concrets, et un PDF propre à télécharger et suivre.
- Calcul automatique des calories et des macros adaptés à ton corps et ton objectif.
- Un plan de repas sur plusieurs jours avec de vrais plats, pas du « 100 g de poulet » en boucle.
- Prise en compte des allergies, des aliments détestés et du type de régime.
- Export PDF soigné, en français comme en arabe, à garder sur ton téléphone.
- Un espace personnel pour suivre ton poids et retrouver tes anciens plans.
Comment l'application calcule vos calories et vos macros
C'est là que se joue le sérieux. L'appli part de ton métabolisme de base (BMR) avec une formule reconnue, puis l'ajuste selon ton niveau d'activité pour obtenir ta dépense énergétique totale (TDEE). À partir de là, elle applique ton objectif : un déficit raisonnable pour perdre, un léger surplus pour prendre. Ensuite seulement, elle répartit ces calories en macros selon le régime choisi. Tout ça est calculé dans le code, étape par étape, exactement comme le ferait un nutritionniste avec sa calculatrice — pas « deviné » par une IA.
L'idée, et pourquoi elle me faisait peur
Vu de l'extérieur, une plateforme de nutrition paraît simple : on saisit ses données, on reçoit un plan. Mais dès qu'on veut le faire correctement, ça se complique. Un plan doit tenir compte du poids, des objectifs, des allergies, des habitudes — et rester sûr, même pour une personne enceinte, qui allaite ou qui gère une pathologie. Pas question de livrer une appli qui crache des chiffres au hasard. Il fallait combiner une vraie logique nutritionnelle avec l'IA, pas juste habiller un chatbot.
Le construire, morceau par morceau
Je l'ai bâti avec Next.js, React et TypeScript. Mais ce dont je suis le plus fier ne se voit pas de l'extérieur : très tôt, j'ai décidé que le système serait hybride. Chaque chiffre est calculé de façon déterministe dans le code, et l'IA ne décide jamais d'une calorie ni d'un macro. Son seul rôle est de transformer ces chiffres fixes en un plan de repas lisible et personnalisé.
- Tout le calcul — calories via BMR et TDEE, macros, limites médicales — est fait en TypeScript, pas deviné par le modèle.
- Une base d'environ mille recettes, filtrée strictement selon le régime et le profil santé avant toute génération.
- Comptes avec authentification JWT, paiement Stripe et PayPal, et un export PDF soigné rendu avec Puppeteer.
- Support complet de l'arabe, y compris la mise en forme du texte de droite à gauche dans le PDF.
Le moment où tout a failli casser
Le plus dur a été de faire confiance à ce que renvoie l'IA. Un modèle peut produire quelque chose qui paraît parfait mais qui est subtilement faux — ou du JSON malformé qui casse toute la requête. Alors je valide chaque réponse avec un schéma strict, et si elle échoue, une solution déterministe construit quand même un plan valide. L'appli n'affiche jamais un résultat cassé ou inventé. Cet état d'esprit — partir du principe que l'IA va échouer, et concevoir pour que ça n'ait pas d'importance — c'est ce qui a transformé une démo astucieuse en un produit que je me sens à l'aise de faire payer.
Une démo impressionne cinq minutes. Un produit doit être juste à chaque fois — c'est un tout autre niveau d'exigence.
Comment l'IA personnalise vraiment votre plan
Une fois les chiffres posés, l'IA reçoit un contexte très riche : ton profil, tes exclusions, le type de régime, et une présélection de recettes compatibles. Son travail est d'assembler tout ça en un programme cohérent, en variant les repas, en respectant tes interdits, et en gardant un ton clair. Le résultat n'est pas un texte vague façon « mangez équilibré », mais un vrai programme jour par jour que tu peux suivre dès le repas suivant.
Les régimes et restrictions pris en charge
Tout le monde ne mange pas pareil, et une appli de nutrition qui l'ignore est inutile. Nutritionist Bot gère différents types de régimes et, surtout, respecte les exclusions : allergies, aliments que tu ne supportes pas, interdits personnels ou religieux. Si un aliment est exclu, il ne réapparaît nulle part dans le plan — ce n'est pas un filtre « au mieux », c'est une règle dure appliquée avant même que l'IA n'écrive quoi que ce soit.
La sécurité d'abord : grossesse, allaitement, pathologies
C'est la partie où je n'ai pris aucun raccourci. Une femme enceinte ou qui allaite n'a pas les mêmes besoins, et certaines conditions de santé imposent des limites précises. L'appli applique ces contraintes médicales sur les calories et les macros avant de générer quoi que ce soit, et affiche clairement qu'elle reste un outil de bien-être, pas un avis médical. Mieux vaut une appli honnête sur ses limites qu'une appli qui prétend remplacer un médecin.
Le nourrir de vraies connaissances nutritionnelles
Un chatbot générique ne connaît pas votre situation — il connaît la moyenne d'Internet. Je voulais des plans ancrés dans une vraie matière nutritionnelle. J'ai donc construit un pipeline d'ingestion : on y injecte de vraies références de nutrition, on les découpe en fragments cherchables, et le système récupère les passages pertinents au moment de bâtir un plan. Avant même de choisir un repas, le moteur présélectionne aussi dans une base d'environ mille recettes, filtrée selon le régime et le profil santé de la personne. L'IA écrit par-dessus cette base — elle ne l'invente pas.
Construit avec une nutritionniste — pas tout seul
Voici la partie la plus importante, et celle dont je ne peux pas m'attribuer tout le mérite : le volet nutrition n'était pas mon travail. Dès le départ, le projet a été supervisé par Manal Abou Khalaf, médecin nutritionniste spécialisée d'origine palestinienne. C'est elle qui a fourni la matière clinique — les fichiers de référence, les recommandations médicales, les règles pour différentes pathologies — et qui a suivi les plans générés par l'appli, en vérifiant les résultats et en corrigeant le tir. J'ai construit le logiciel ; elle a garanti que la nutrition derrière était juste. C'est cette collaboration qui me permet de dire que la logique est fiable : ce n'est pas un développeur qui devine la nutrition, c'est un développeur qui transforme le savoir d'une professionnelle en un produit solide.
Bien plus qu'un générateur — un vrai produit
Un plan ponctuel, c'est une fonctionnalité, pas une entreprise. Pour en faire un produit auquel on revient, j'ai construit tout le reste autour :
- Un tableau de bord personnel avec cartes de macros et courbe de poids.
- Un AI Coach avec qui l'utilisateur peut vraiment discuter de son plan.
- Le suivi du poids et son historique, pour voir les progrès dans le temps.
- Des plans sauvegardés, re-téléchargeables en PDF à tout moment.
- Une console d'administration complète — utilisateurs, commandes, abonnements, analytics — et un panneau pour régler l'IA sans toucher au code.
Le construire en deux langues, dont l'arabe
La plupart des outils traitent l'arabe comme une arrière-pensée. Je ne voulais pas de ça. Le plus délicat, c'était le PDF : l'arabe s'écrit de droite à gauche et ses lettres changent de forme selon leur place dans le mot, et la plupart des outils PDF le rendent cassé et à l'envers. Sortir un plan en arabe propre et correctement lié a demandé un vrai travail — mais c'est exactement le genre de détail qui dit à l'utilisateur que le produit a été pensé pour lui.
Garder l'IA rapide et économique
Comme le gros du travail se fait dans le code, l'appel à l'IA reste petit et peu coûteux — et je mets les résultats en cache pour ne pas payer deux fois le même travail. C'est le côté ingrat du développement avec l'IA : le but n'est pas d'utiliser le plus gros modèle partout, mais de l'utiliser exactement là où il apporte de la valeur, et nulle part ailleurs. C'est la différence entre un produit rentable à faire tourner et un produit qui brûle de l'argent en silence.
Paiement, abonnement et passage à l'échelle
Un produit doit se financer. J'ai intégré le paiement et l'abonnement (Stripe et PayPal), avec la gestion des comptes et une authentification sécurisée. L'architecture est pensée pour grandir : ajouter des utilisateurs ne casse rien, et la partie IA est isolée pour pouvoir être ajustée ou changée sans toucher au reste.
Combien de temps, et ce que ça m'a appris
Ça ne s'est pas fait en un week-end. Entre la logique nutritionnelle, l'intégration de l'IA, les paiements, le PDF arabe et tous les écrans, le projet s'est construit par couches, avec beaucoup d'allers-retours. La plus grande leçon : avec l'IA, la démo est facile, c'est la fiabilité qui est difficile. N'importe qui peut faire une appli qui « marche une fois ». La faire marcher à chaque fois, pour de vrais utilisateurs qui paient, c'est un autre métier.
Questions fréquentes
Nutritionist Bot remplace-t-il un nutritionniste ? — Non, et il ne le prétend pas. C'est un outil de bien-être qui donne un point de départ sérieux et personnalisé. Pour une pathologie, il faut toujours consulter un professionnel.
L'application est-elle disponible en arabe ? — Oui, l'interface et les plans (PDF compris) sont disponibles en arabe, avec un rendu correct de droite à gauche.
Calcule-t-elle les calories et les macros automatiquement ? — Oui. Tu n'as pas besoin de connaître tes chiffres : l'appli les calcule à partir de ton profil et de ton objectif.
Peut-on l'utiliser aussi bien pour la perte de poids que pour la prise de masse ? — Les deux. Tu choisis ton objectif et l'appli ajuste les calories en conséquence.
Ce que j'en ai retenu
Nutritionist Bot m'a appris que l'IA est la partie facile à montrer et la partie difficile à bien faire. Aujourd'hui la plateforme est en ligne, des gens s'inscrivent et paient, et elle tourne toute seule. Si vous avez une idée de produit dopé à l'IA et que vous vous demandez si c'est réaliste, c'est exactement le genre de discussion que j'aime : dites-moi ce que vous avez en tête et je vous dirai honnêtement ce que ça demande.
Dites-moi ce que vous construisez et je vous dirai comment le lancer.
Démarrer la conversation