Etude de cas

FotoLabs AI

Plateforme de generation de photos par IA native WhatsApp. Les utilisateurs envoient des selfies, obtiennent un modele IA personnalise entraine en 3 minutes, puis generent des images photorealistes pendant 30 jours.

~3 min

Temps d'entrainement du modele LoRA

5

Modeles IA dans le pipeline

3

langues supportees

$19.99

/mois abonnement

Production (renomme en fenado.ai)
Site marketing FotoLabs AI avec theme sombre

Le defi

Un produit SaaS complet dans WhatsApp

Le client voulait un produit de generation de photos par IA sans friction. Pas de telechargement d'application. Pas de connexion sur un site web. Pas d'ecrans d'accueil. Tout le parcours client, du premier contact au paiement jusqu'a la reception des photos generees par IA, devait se passer dans les messages WhatsApp.

Cela signifiait construire la facturation d'abonnements, l'entrainement de modeles IA, la moderation de contenu et la livraison d'images dans une interface conversationnelle. Les utilisateurs enverraient 5-15 selfies a un numero WhatsApp, paieraient $19.99/mois via un lien Stripe dans le chat, puis saisiraient des instructions pour generer des images photorealistes d'eux-memes dans n'importe quel cadre.

Le systeme devait aussi gerer les checkouts abandonnes avec des coupons de reduction automatiques, livrer quotidiennement une photo generee par IA a chaque abonne, et supporter trois langues : anglais, portugais et malais.

Ce que nous avons construit

WhatsApp comme produit

WhatsApp Business API comme couche d'interface

Le produit entier fonctionne via Meta Graph API v20.0. Les utilisateurs envoient un message a un numero WhatsApp pour commencer. Le systeme repond avec des boutons interactifs, des carrousels d'images et des liens de paiement. Chaque ecran qu'une application traditionnelle aurait, accueil, parametres, facturation, galerie photo, existe comme un flux de conversation. Les utilisateurs n'ouvrent jamais un navigateur et ne telechargent jamais d'application.

Interface produit FotoLabs AI montrant la generation de photos native WhatsApp

Entrainement de modele IA personnalise en 3 minutes

Les utilisateurs uploaden 5-15 selfies via WhatsApp. Le systeme envoie chaque image a Fal.ai, qui cree un LoRA fine-tune sur Flux. L'entrainement se termine en environ 3 minutes. Apres cela, l'utilisateur dispose d'un modele personnalise qui genere des images photorealistes d'eux dans n'importe quel scenario qu'ils decrivent. Le modele persiste pendant la duree de leur abonnement.

// L'utilisateur envoie 12 selfies via WhatsApp

state: imagesIncomplete

images received: 12/5 (min)

// Paiement confirme via Stripe

state: generatingModel

training LoRA via Fal.ai...

// Modele pret en ~3 min

state: photoPrompting

awaiting user prompt...

Pipeline IA multi-modeles

Chaque demande de generation de photo passe par quatre systemes IA. Groq avec Llama ameliore l'instruction textuelle de l'utilisateur en une description d'image detaillee. Replicate avec Flux genere l'image en utilisant le modele LoRA personnalise. OpenAI GPT-4o analyse la sortie pour la qualite et la pertinence. La meme instance GPT-4o effectue la moderation NSFW avant la livraison. Quatre modeles, un message WhatsApp en sortie.

Fal.ai

Entrainement LoRA fine-tune

Replicate / Flux

Generation d'images

Groq / Llama

Amelioration des instructions

OpenAI / GPT-4o

Moderation + analyse d'images

Facturation Stripe et retention automatisee

Stripe gere la facturation des abonnements a $19.99/mois. Le systeme envoie un lien de checkout dans WhatsApp. Les callbacks webhook confirment le paiement et font avancer la machine a etats de l'utilisateur vers l'entrainement du modele. Un cron job horaire detecte les utilisateurs qui ont atteint le paywall mais n'ont pas paye. Il genere un coupon Stripe et envoie le code de reduction via WhatsApp, le tout sans intervention humaine.

// Cron horaire : verification du paywall abandonne

users at paywall: 47

unpaid > 1 hour: 12

// Generer un coupon Stripe

coupon: FOTO-20OFF-x8k2

discount: 20%

// Envoyer via WhatsApp

12 messages delivered

Automatisation et operations

  • Cron quotidien de photos IA : chaque matin le systeme genere et livre une nouvelle photo IA a chaque abonne actif, sans instruction requise.
  • Moderation de contenu NSFW via OpenAI examine chaque image generee avant livraison. Les images signalees sont bloquees et enregistrees.
  • Support multilingue pour l'anglais, le portugais et le malais. Le systeme detecte la langue de l'utilisateur depuis ses parametres WhatsApp et repond dans la bonne langue.
  • Tableau de bord admin affichant les fils de conversation WhatsApp, les etats des utilisateurs, le statut des abonnements et l'historique des images generees.

Architecture

XState 5 pilote la conversation

Machine a etats XState 5

Chaque utilisateur WhatsApp a une instance de machine a etats stockee dans Firebase. Cinq etats controlent le flux : onBoarding, imagesIncomplete, paywall, generatingModel et photoPrompting. Chaque message WhatsApp entrant declenche une transition d'etat. La machine decide la prochaine reponse, qu'il s'agisse de demander plus de selfies, d'envoyer un lien de paiement ou de generer une image.

Firebase comme couche de persistance

Firestore stocke les profils utilisateur, les snapshots de machine a etats, les enregistrements d'abonnement et l'historique des conversations. Firebase Storage conserve les selfies uploades et les images generees. Chaque transition d'etat ecrit dans Firestore, de sorte que le systeme reprend depuis le bon etat si le serveur redemarre en pleine conversation.

Meta Graph API v20.0

Les messages entrants arrivent sur un endpoint webhook. Le systeme telecharge les medias (selfies), traite le texte (instructions) et envoie les reponses sous forme de messages WhatsApp avec des boutons interactifs, des images ou des liens de paiement. La limitation de debit et la logique de nouvelle tentative gerent le throttling de l'API Meta.

Sentry pour le suivi des erreurs

L'entrainement de modeles IA, la generation d'images et les appels API WhatsApp ont chacun des modes de defaillance. Sentry capture les erreurs avec le contexte complet : ID utilisateur, etat actuel, l'instruction qui a cause la defaillance et la reponse du modele IA. L'equipe trie les problemes par etat, pouvant reperer des patterns comme "la generation echoue apres le paywall" en quelques minutes.

Next.js 14 TypeScript Tailwind CSS Framer Motion XState 5 Fal.ai Replicate Flux Groq Llama OpenAI GPT-4o Firebase Firestore Stripe WhatsApp Business API Meta Graph API Sentry

Resultats

Livre en production

0

telechargements d'app requis

~3 min

entrainement de modele personnalise

5

modeles IA orchestres par requete

3

langues : anglais, portugais, malais

Nous contacter

Demarrer une conversation

Parlez-nous de votre projet. Nous vous repondrons sous 24 heures avec un plan clair, un calendrier estime et une fourchette de prix.

Base a

EAU et Inde