Génération IA
Donner une première forme à une idée de tatouage.
De l’idée au produit commercialisé.
Une plateforme de création de tatouages par IA, conçue, développée et exploitée seul. De l’expérience créative aux comptes utilisateurs, du paiement à l’acquisition : j’ai porté l’ensemble du produit.

01 / Le produit
Le point de départ est une envie de tatouage. Encre Vive réunit quatre outils créatifs autour de cette intention, dans une application avec authentification et paiement par crédits.
Donner une première forme à une idée de tatouage.
Mettre un motif en mouvement grâce à l’IA.
Explorer la dimension typographique d’un tatouage.
Visualiser un projet de tatouage en trois dimensions.
02 / Mon intervention
J’ai travaillé sur les parcours, les interfaces et le modèle de données, puis relié la génération IA aux comptes et aux crédits. La commercialisation m’a aussi amené à traiter la fiabilité des paiements, le référencement et la mesure des usages.
Définir les parcours et les interfaces, organiser les outils créatifs et rendre les étapes compréhensibles.
Construire le front-end, l’API, l’authentification, le modèle de données et la logique de paiement par crédits.
Structurer le contenu bilingue, travailler l’acquisition SEO et instrumenter l’application pour comprendre son utilisation.
03 / Les décisions techniques
L’application s’appuie sur SvelteKit, une API Python / FastAPI et Supabase. Trois décisions structurent la fiabilité du produit.
Le serveur vérifie l’identité, calcule le coût et débite le solde en une opération conditionnée à des crédits suffisants. Si la génération échoue, les crédits sont rendus.
Les droits PostgreSQL empêchent l’utilisateur de modifier son solde. Les fonctions de débit s’exécutent avec un rôle de service. L’identité provient du jeton vérifié et les coûts d’une liste définie côté serveur.
Les notifications d’un même paiement peuvent arriver plusieurs fois. Leur traitement est idempotent : la base conserve l’événement pour éviter un double crédit.
Le webhook vérifie la signature HMAC du corps de la requête, puis appelle une fonction PostgreSQL. Une contrainte d’unicité et ON CONFLICT DO NOTHING permettent de traiter chaque événement une seule fois.
Les pages de contenu sont pré-générées et servies en statique. L’application utilise l’API pour les fonctionnalités du produit. La consultation des contenus reste indépendante de la base de données.
Des routes dédiées au français et à l’anglais, associées aux indications hreflang, structurent le site bilingue. Les pages éditoriales assurent l’acquisition ; l’application porte les comptes, les crédits et la génération.
04 / Acquisition & usages
Le travail ne s’arrête pas à la mise en ligne. Le contenu éditorial en français et en anglais soutient l’acquisition organique. PostHog complète cette approche avec l’analyse des usages de l’application.
Repères du produit, mis à jour manuellement.
Source : Google Search Console · 2026 · résultats cumulés.
Ce projet réunit mon travail de développeur et mon regard produit : construire une expérience, la rendre fiable, puis lui donner les moyens d’être découverte et utilisée.
Un produit à lancer ou une équipe à rejoindre ? Parlons de ce que nous pouvons construire ensemble.