🌸 Étude de cas · Conçu, designé & livré en solo · IA-augmented
— Aurélie Lecesne · Comportementaliste canin & félin · La Rochelle

Une comportementaliste solo,
toute une infrastructure.

Une plateforme métier conçue, designée et livrée en solo pour une comportementaliste indépendante — du formulaire de RDV public au tableau de bord business. Discovery en personne, design system avant le code, intégrations soignées avec les outils existants. Une étude de cas centrée sur la méthode, pas sur le code.

Product discovery Design system Product building Next.js 16 · TypeScript Prisma · Postgres Neon Notion · Google Calendar Claude Haiku 4.5 Vibe-codé Claude Code
Durée
Quelques semaines
discovery → mise en prod
Rôle
Senior Product Designer
+ direction produit & exécution
Périmètre
Discovery → Design → Code
plateforme complète + formulaire public
Statut
En production
plateforme privée, accès dédié
🎯 Le brief

Une indépendante de terrain, épuisée par l'admin.

Comportementaliste indépendante en solo, agenda plein, patchwork d'outils qui marche : Notion, tableurs, messageries, SumUp. Le métier ne fatigue pas, c'est tout ce qu'il y a autour. L'enjeu : coordonner ses outils et enlever le bruit — pas les remplacer.

😤
Le quotidien sous l'eau
  • Prise de RDV par téléphone : longs appels exploratoires
  • Forfaits, rappels J-1, relances — suivis de tête, en retard
  • Comptes rendus post-bilan abandonnés faute de temps
  • Réseaux sociaux et blog à l'abandon depuis janvier
Ce que j'ai livré
  • Formulaire de RDV public en 4 étapes — fini les appels à froid
  • 13 modules métier : agenda, clients, cours, messages, pilotage…
  • Notion préservé comme CRM source de vérité
  • IA Haiku 4.5 en sous-main + pattern Gmail compose côté envois
🌱 Discovery

Avant la première ligne de code, 73 questions.

Un atelier de 90 minutes en présentiel, structuré par un questionnaire de 73 items en 13 sections conçu en amont. Chaque réponse, une décision produit : 4 modules abandonnés en séance (économie de plusieurs semaines), Réseaux sociaux priorisé. Méthode réutilisable sur tout projet 0→1.

📋 SESSION AURÉLIE · Questions, matériaux & décisions · ~60 min
Préparation entretien
Session avec Aurélie
Tout ce qu'il faut traiter pour finaliser le prototype et démarrer le développement. Notes sauvegardées en local.
Avancement
31 / 73
🌱
Discovery — son quotidien
5/5
📝
Notion — audit complet
5/5
📅
Agenda multi-sources
4/4
🎓
Cours & forfaits
5/5
🏡
Pet sitting
5/5
🎯
Priorisation — la question qui tranche
3/3
Le questionnaire en chiffres
73
Questions structurées en 13 sections, du quotidien aux décisions techniques.
4
Modules abandonnés en séance — vidéos pas à pas, compte rendu IA, newsletter, inbox unifiée.
— Supports apportés
📋 Questionnaire 73 items 🎨 Maquette bilan 🔗 Prototype navigable
Trois artefacts préparés en amont pour cadrer la conversation et matérialiser les arbitrages dès la séance.
Verbatim — la tâche à faire disparaître « Le téléphone, c'est mon point noir. Quand un prospect appelle, je suis souvent en RDV ; et le soir, je n'ai plus l'énergie de rappeler. » — Aurélie, session de discovery
  • 1 atelier · 90 minutes, présentiel
  • 5 décisions stratégiques actées en séance
  • 4 modules abandonnés · semaines de dev économisées
  • 0 SMS auto · choix produit assumé
🎨 Direction artistique

Un univers chaleureux et pro, à la lisière de Notion et du cabinet pédiatrique.

Pas un dashboard tech-bro, pas une app pet-friendly caricaturale. Aurélie devait pouvoir ouvrir la plateforme tous les jours sans fatigue visuelle. Cream beige, coral d'accent, forest deep et Capriola italique sur les titres — un serif rare qui donne une identité reconnaissable, à mille lieues des SaaS génériques.

Sémantique stricte

Le coral n'est jamais un statut, toujours une action. Statuts pris en charge par success, info, gold (attention), danger — règle inscrite dans le design system.

Ton de voix

Règle non-négociable : tutoiement dans l'admin, vouvoiement partout côté client. Émojis avec parcimonie, signature « — Aurélie 🌸 » systématique.

🧭 Architecture

13 modules, un seul cerveau.

Sidebar structurée en 3 sections groupées + 3 items isolés, calquée sur les patterns qu'Aurélie reconnaissait déjà dans Notion. Accueil et Agenda en tête (premier réflexe du matin), Paramètres en bas. Les badges Demandes / Messages sont calculés en temps réel.

🏠
Accueil
Focus card du jour, RDV à venir, to-do hebdo. Une seule chose urgente en haut.
📅
Agenda
Vue semaine fusionnant Notion (bilans, gardes) et Google Calendar (cours, balades).
🐾
Clients
Fiches Notion en lecture, enrichies des paiements DB et de la LTV calculée. Historique cours + matériel prêté.
🎓
Cours individuels
Suivi des forfaits 5/8/12, quick log post-cours via IA — 2 phrases, résumé propre, état Notion mis à jour.
🏡
Pet sitting
Gardes en cours, simulateur de devis avec tarification 2 niveaux (standard vs fidèle, détecté automatiquement).
🥾
Balades collectives
Balades samedi matin + templates WhatsApp à copier pour le groupe de complices.
📚
Fiches
Bibliothèque pédagogique. Fiches sélectionnées post-bilan, envoyées via Gmail compose pré-rempli.
📥
Demandes
Inbox des demandes /rdv. Anti-doublon strict avant création de la fiche Notion.
📧
Messages
J-1, demandes d'avis, relances, fiches post-bilan. La plateforme rédige, Aurélie envoie depuis Gmail.
Réseaux sociaux
Posts Insta hebdo, articles SEO mensuels. Brouillons Haiku 4.5, validation humaine avant publication.
💰
Facturation
Paiements, URSSAF (22 % prestations artisanales), prévisionnel CA.
📊
Pilotage
Dashboard business — CA mensuel, sources d'acquisition, insights IA hebdo.
⚙️
Paramètres
Tarifs centralisés, santé des services externes (Notion, GCal, Anthropic, Resend), validation du schéma Notion à la volée. Le réglage qu'on ouvre une fois par mois, isolé du quotidien dans la sidebar.
📥 Page publique de prise de RDV

Un formulaire en 4 étapes, zéro frustration.

L'enjeu produit : casser le téléphone comme premier point de contact. Le formulaire devait apporter plus d'information qu'un appel, sans jamais frustrer le visiteur. Quatre étapes courtes — le besoin, le contexte, les disponibilités, l'identité — pensées pour qu'Aurélie arrive à la première rencontre déjà à 80 % préparée.

— Décision · 01

Pas de cours en cold

Les cours individuels n'apparaissent pas dans le picker — pas question d'ouvrir un forfait à quelqu'un qu'Aurélie n'a pas rencontré. Le bilan reste la porte d'entrée.

— Décision · 02

Friction zéro

Le textarea est optionnel. Si le visiteur n'a pas l'énergie de décrire son chien, on ne le bloque pas — Aurélie posera la question au RDV. La conversion prime sur l'exhaustivité.

— Décision · 03

La main reste humaine

Pas de slot picker à la Calendly. Le visiteur exprime des préférences, Aurélie propose un créneau adapté à son agenda et à ce qu'elle vient d'apprendre.

— Décision · 04

Tout part côté serveur

Validation Zod, anti-doublon strict (téléphone normalisé + email + nom), création de fiche Notion automatique, notif Resend à Aurélie dans la minute.

  • 4 étapes · jamais plus de 3 champs par écran
  • Zéro création de compte · friction = 0
  • Mobile-first · 60 % des visiteurs viennent du téléphone
  • Vouvoiement strict · règle UX non-négociable
  • UTM trackées · pour mesurer chaque canal d'acquisition
  • Accessibilité ARIA · stepper, labels et focus management
🔌 Stack opérationnelle

Tout ce qu'elle utilise déjà, connecté ensemble.

Décision discovery centrale : on ne remplace rien de ce qui fonctionne déjà. Notion reste maître du CRM, Google Calendar maître des horaires précis, Gmail des envois clients, SumUp du paiement CB. La plateforme orchestre, elle ne s'impose pas.

Notion API
Lecture + 4 écritures
CRM source de vérité. Quatre écritures nommées explicitement : état forfaits, sync LTV, bascule de tags, création de fiche post-/rdv. Tout le reste en lecture.
Google Calendar
Lecture seule
Service Account, partage lecture seule du calendrier dédié. Cours, visites pet sitting, balades, tâches — tout ce qui demande une heure précise.
Claude Haiku 4.5
IA partout
Un seul modèle, exposé via chatWithClaude(). Quick log cours, brouillons posts Insta, articles blog, reformulations emails. Pas de Sonnet ni Opus.
Neon Postgres
Données métier
Schéma Prisma riche : paiements, demandes, logs cours, matériel prêté, posts sociaux. Bases dev et prod strictement séparées.
Vercel Pro
Hébergement
Preview deploy par PR pour validation visuelle, merge main = prod. ISR / streaming Next.js 16.
Sentry + UptimeRobot
Monitoring
Sentry capture les erreurs runtime, scrubbing PII activé. UptimeRobot ping /api/health régulièrement. Alerte email après plusieurs checks down.
🤖 IA Anthropic

Un seul modèle, Claude Haiku 4.5, pour absolument tout.

Décision produit assumée : aucun appel IA n'utilise un autre modèle qu'Haiku 4.5 sans validation explicite. Cohérence, simplicité de la maintenance, coûts prévisibles. Un seul helper, une seule clé, un seul plafond.

4 endroits où l'IA travaille en sous-main.

Tous les appels passent par src/lib/anthropic.ts. Le helper no-op silencieusement si la clé API n'est pas définie. Prompts versionnés dans le repo.

— Module Cours
Quick log post-cours
Aurélie tape 2 phrases brutes, Haiku rédige le résumé propre envoyé au client.
— Module Réseaux
Brouillons posts & blog
Carrousels Insta, posts fixes, articles SEO. 13 références d'éducation positive injectées en system prompt.
— Module Messages
Reformulations emails
Variantes des templates J-1, demandes d'avis, relances. Toujours en vouvoiement, signature préservée.
— Module Pilotage
Insights hebdo
Note synthétique sur les sources d'acquisition, segments à relancer, tendances saisonnières.
1
Helper unique chatWithClaude()
No-op
Silencieux si la clé API est absente
Versionnés
Prompts diffables et reviewables dans le repo
🛡️ Production-grade

Une plateforme solo qui ne tombe pas la nuit.

L'utilisatrice n'a aucune compétence technique : elle ne devrait jamais debugger un crash en prod. Deux audits successifs (sécurité-fiabilité puis UX-stabilité), tickets P0/P1/P2/P3 intégralement mergés. En cas de panne externe, une bannière « données stale » remplace l'écran d'erreur opaque.

🛡️
Sentry + scrubbing PII
Erreurs runtime serveur + client remontées par email. Emails, téléphones et adresses scrubbed automatiquement.
📡
Healthcheck monitoré
Ping régulier de /api/health qui valide Notion, GCal, DB en chaîne. Alerte email après plusieurs checks down.
⚠️
Bannière données stale
Si Notion ou GCal tombent, fallback in-memory et bannière visible plutôt qu'un crash. L'utilisatrice sait sans surprise.
🗝️
NextAuth magic link
Aucun mot de passe à gérer. Un clic sur un lien reçu par email, session ouverte. Rate limit anti-bruteforce inclus.
📊 Le projet en chiffres

De zéro à en production.

73
Questions de discovery
13
Modules livrés
4
Modules abandonnés en discovery
2
Audits intégralement mergés
0
Dev externe sollicité
⚙️ Méthode

Vibe-codé de A à Z avec Claude Code.

Plateforme conçue et développée en pair-programming avec Claude Code. Direction produit, arbitrages UX, identité visuelle, architecture sont les miennes — l'IA accélère l'exécution. Un CLAUDE.md de 32 ko sert d'aide-mémoire chaque session (tarifs, conventions, ton, workflow).

🧭
Discovery humaine
Atelier 90 minutes en présentiel, 73 questions structurées. Verbatims, décisions, modules abandonnés. Pas d'IA en discovery.
🎨
Design au pixel
Prototype HTML statique des 13 modules + design system extracté avant la première ligne de code.
Code en pair
Claude Code orchestre commits, PRs, merges. Une branche par feature, preview Vercel pour valider visuellement. Je pilote, l'IA exécute.
🧪
Audits réguliers
Deux audits majeurs (sécurité + UX), tickets P0/P1/P2/P3 intégralement mergés. Migration additive uniquement.

🌸 Fin de l'étude de cas

Le projet n'est pas la plateforme.
C'est la méthode.