🎯 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.
🌱
Discovery — son quotidien
5 questions · avant de parler outils
5/5
📝
Notion — audit complet
5 questions · décision stratégique à la clé
5/5
📅
Agenda multi-sources
4 questions
4/4
🎓
Cours & forfaits
5 questions
5/5
🎯
Priorisation — la question qui tranche
3 questions · à garder pour la fin
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.
— Typographie · signature
Bonjour Aurélie 👋
— CA du mois
4 320
€
↑ 12 % vs septembre
Quick log cours
✦ Haiku 4.5
on a revu le rappel, ça progresse, prochain cours sur la marche en laisse
Clients actifs
33
+2 ce mois
Cours sem.
12
7 chiens · 5 chats
LTV moyenne
325 €
+18 € / trim.
L
Léo · forfait 5 cours
3 / 5
Prochain cours · marche en laisse · jeudi 14 h
M
Mochi · chat tigré
Mme Lefèvre · bilan félin · suivi gratuit
240 €
Fidèle
Compose · Gmail
Rappel · RDV demain 14 h 🐾
Àcamille.dupont@gmail.com
Deaurelie.comportementaliste@gmail.com
Bonjour Camille, petit rappel pour notre rendez-vous demain à 14 h chez vous — n'hésitez pas si une question vous vient avant. — Aurélie 🌸
📨 Ouvrir dans Gmail
— Statuts sémantiques
Payé
En cours
En attente
En retard
Archivé
Fidèle
Nouveau
Bilan fait
À relancer
Action bar
primaire · secondaire · ghost
📨 Ouvrir Gmail
+ Nouveau cours
📋 Quick log
Annuler
✓
Email préparé
Brouillon ouvert dans Gmail · à envoyer
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.
Focus card du jour, RDV à venir, to-do hebdo. Une seule chose urgente en haut.
Vue semaine fusionnant Notion (bilans, gardes) et Google Calendar (cours, balades).
Fiches Notion en lecture, enrichies des paiements DB et de la LTV calculée. Historique cours + matériel prêté.
Suivi des forfaits 5/8/12, quick log post-cours via IA — 2 phrases, résumé propre, état Notion mis à jour.
Gardes en cours, simulateur de devis avec tarification 2 niveaux (standard vs fidèle, détecté automatiquement).
Balades samedi matin + templates WhatsApp à copier pour le groupe de complices.
Bibliothèque pédagogique. Fiches sélectionnées post-bilan, envoyées via Gmail compose pré-rempli.
Inbox des demandes /rdv. Anti-doublon strict avant création de la fiche Notion.
J-1, demandes d'avis, relances, fiches post-bilan. La plateforme rédige, Aurélie envoie depuis Gmail.
Posts Insta hebdo, articles SEO mensuels. Brouillons Haiku 4.5, validation humaine avant publication.
Paiements, URSSAF (22 % prestations artisanales), prévisionnel CA.
Dashboard business — CA mensuel, sources d'acquisition, insights IA hebdo.
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.
— Formulaire de prise de rendez-vous
Léo a 8 mois, il tire en laisse et saute sur les invités. On aimerait l'aider à se calmer un peu avant l'arrivée de bébé.
142 / 600 caractères
— Étape 03
Les disponibilités
Créneau préféré
⚠️ Pas d'urgence — flexible sur 2 semaines
Prénom & nom
Camille Dupont
Envoyer ma demande →
— 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.
N
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.
G
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.
A
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.
N
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.
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.
4
Modules abandonnés en discovery
2
Audits intégralement mergés
⚙️ 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.