edtech / docs /flow utilisateurs et formation .md
CognxSafeTrack
docs: add audit_production.md + plan_implementation_prod.md; fix admin phone field
f1a06cd

XAMLE – NOUVELLE ARCHITECTURE PÉDAGOGIQUE VOIX & WHATSAPP

Objectif : transformer Xamle en plateforme EdTech mobile-first ultra intuitive pour le secteur informel, priorisant AUDIO + BOUTONS WHATSAPP + EXERCICES TERRAIN + IA.


1️⃣ POSITIONNEMENT PÉDAGOGIQUE STRATÉGIQUE

Xamle ne doit pas être un simple bot qui envoie des messages.

Il doit devenir :

→ Un coach business vocal interactif → Un système d’apprentissage terrain progressif → Un moteur IA qui transforme apprentissage → documents concrets

Cible : entrepreneurs secteur informel Contraintes :

  • Faible écriture
  • Connexion instable
  • Temps limité
  • Préférence audio

Donc priorité :

✅ Audio court ✅ Boutons interactifs ✅ Exercices terrain concrets ✅ Réponses vocales possibles ✅ Vidéo courte mobile verticale


2️⃣ NOUVEAU FLOW UTILISATEUR APRÈS INSCRIPTION

Étape 1 – Choix langue

  1. Français 🇫🇷
  2. Wolof 🇸🇳

Étape 2 – Choix OBJECTIF PRINCIPAL (UX simplifiée)

🎯 Trouver des clients 💰 Mieux gagner de l’argent 🧠 Comprendre son business 🚀 Lever des fonds / Pitcher

➡ IMPORTANT : Ces choix restent visibles côté utilisateur (langage simple et concret).

⚙️ MAIS en backend, chaque objectif correspond à de vrais modules structurés :

  • "Trouver des clients" → Module Marketing + Validation terrain (Design Thinking appliqué)
  • "Mieux gagner de l’argent" → Module Pricing + Business Model
  • "Comprendre son business" → Module Business Model Simplifié
  • "Lever des fonds / Pitcher" → Module Pitch + Pitch Deck

👉 Conclusion : On garde les choix orientés PROBLÈME (UX simple) Mais on structure les contenus avec de vrais modules entrepreneuriaux (Design Thinking, Business Model, Pitch).


3️⃣ STRUCTURE DES MODULES D’APPRENTISSAGE (VERSION MVP SANS VIDÉO)

⚠️ Décision : Pour la V1, on n’intègre PAS encore les vidéos. On se concentre sur : AUDIO + BOUTONS + EXERCICE + FEEDBACK IA. Les vidéos seront ajoutées en V2.

Chaque module contient :

1️⃣ Leçon audio (2–3 min max)

  • langage simple
  • voix naturelle locale
  • 1 seul objectif par leçon
  • stockée sur R2

2️⃣ Exercice terrain obligatoire Exemples :

  • Parler à 3 clients
  • Calculer son prix réel
  • Observer un problème
  • Faire un mini pitch audio

3️⃣ Interaction WhatsApp

  • Boutons interactifs
  • Validation par chiffre possible
  • Message vocal accepté

4️⃣ Feedback IA

  • Encouragement
  • Correction simple
  • Suggestion pratique
  • Génération automatique si nécessaire

Architecture logique d’une journée :

Étape 1 → sendLessonDay() Étape 2 → envoi audio Étape 3 → envoi boutons Étape 4 → attente réponse utilisateur Étape 5 → sauvegarde DB Étape 6 → feedback IA Étape 7 → déblocage jour suivant


4️⃣ STRUCTURE PROGRESSIVE DES MODULES (STRUCTURE HYBRIDE RECOMMANDÉE)

⚠️ Décision stratégique :

On ne doit PAS opposer :

  • Objectifs simples (Trouver clients, Gagner argent…)
  • Modules structurés (Design Thinking, Business Model, Pitch)

On combine les deux.


NIVEAU 1 – MODULES VISIBLES (Langage simple UX)

Ce que l’utilisateur voit :

1️⃣ Comprendre son business 2️⃣ Trouver des clients 3️⃣ Mieux gagner de l’argent 4️⃣ Structurer son activité 5️⃣ Pitcher son projet


NIVEAU 2 – STRUCTURE ACADÉMIQUE INTERNE (Backend)

Ces modules sont en réalité construits sur :

MODULE A – Design Thinking Terrain

  • Observer problème
  • Tester solution
  • Ajuster

MODULE B – Business Model Simplifié

  • Client
  • Proposition de valeur
  • Revenus
  • Coûts
  • Partenaires

MODULE C – Pricing & Rentabilité

  • Coût réel
  • Marge
  • Prix stratégique

MODULE D – Marketing Terrain

  • Où trouver clients
  • Message simple
  • Test terrain

MODULE E – Pitch Simple

  • Problème
  • Solution
  • Client
  • Différence

MODULE F – Pitch Deck (avancé)

  • Histoire
  • Marché
  • Traction
  • Besoin financier

Progression pédagogique recommandée

Phase 1 – Survie & Cash → Comprendre business → Trouver clients → Fixer prix

Phase 2 – Structuration → Business Model → Marketing terrain

Phase 3 – Croissance → Pitch → Pitch deck


🎯 Conclusion stratégique :

UX = langage problème (simple) Architecture = vrais frameworks entrepreneuriaux

C’est la meilleure combinaison entre accessibilité et crédibilité.


5️⃣ UX WHATSAPP RECOMMANDÉE

Après chaque leçon :

1️⃣ Réécouter 🎧 2️⃣ Voir vidéo ▶️ 3️⃣ Faire exercice 📝 4️⃣ Continuer ➡️

Réponses possibles :

  • Boutons interactifs
  • Message vocal
  • Chiffre (1/2/3/4)

6️⃣ ADAPTATION BASE DE DONNÉES RECOMMANDÉE

Nouvelle structure recommandée pour track_days :

  • id
  • track_id
  • day_number
  • title
  • audio_url
  • video_url
  • lesson_text
  • exercise_type (audio / texte / photo / bouton)
  • exercise_prompt
  • validation_keyword
  • buttons_json

Ajouter :

  • user_progress (score, last_activity)
  • media_storage_url
  • exercise_status

7️⃣ FAISABILITÉ TECHNIQUE AVEC INFRA ACTUELLE

Infra actuelle :

✅ Neon Postgres ✅ Railway Worker ✅ Redis Upstash ✅ R2 Cloudflare ✅ WhatsApp Cloud API

Conclusion :

✔ Audio sortant = possible ✔ Boutons interactifs = possible ✔ Messages vocaux entrants = possible ✔ Vidéos = possible ✔ Stockage média = possible via R2

Aucun changement d’infrastructure nécessaire.

Le blocage n’est pas technique. Il est pédagogique et UX.


8️⃣ CE QUE L’HUMAIN DOIT DÉFINIR

1️⃣ Scripts audio simples (langue locale validée) 2️⃣ Exercices terrain réels 3️⃣ Progression pédagogique cohérente 4️⃣ Vocabulaire accessible secteur informel


9️⃣ PROMPT À DONNER À ANTIGRAVITY POUR INTÉGRATION RAILWAY + BACKEND

Utilise le prompt ci-dessous :


Tu es architecte senior Node.js + Prisma + WhatsApp Cloud API.

Contexte : Nous transformons le WhatsApp Worker actuel en moteur pédagogique interactif vocal (sans vidéo pour la V1).

Stack existante :

  • Node.js
  • Prisma + Neon Postgres
  • Redis Upstash
  • Railway
  • R2 Cloudflare
  • WhatsApp Cloud API

⚠️ Ne pas modifier l’architecture globale. ⚠️ Ne pas supprimer le système actuel d’onboarding. ⚠️ Ajouter uniquement la couche pédagogique.


OBJECTIFS TECHNIQUES

1️⃣ Adapter le modèle Prisma :

Model TrackDay { id trackId dayNumber title audioUrl lessonText exerciseType exercisePrompt validationKeyword buttonsJson unlockCondition }

Créer table UserProgress :

Model UserProgress { id userId trackId currentDay score lastInteraction exerciseStatus }


2️⃣ Créer fonction principale :

async function sendLessonDay(userId: string, dayNumber: number)

Elle doit :

  • Charger TrackDay
  • Envoyer audio WhatsApp
  • Envoyer message interactif avec boutons
  • Sauvegarder état progression

3️⃣ Modifier Webhook WhatsApp

Le webhook doit :

  • Détecter message texte
  • Détecter message vocal
  • Détecter bouton interactif
  • Mapper réponse vers exercice
  • Sauvegarder réponse
  • Déclencher feedback IA

4️⃣ Gestion des exercices

Si exerciseType = "audio" → Télécharger media WhatsApp → Stocker sur R2 → Sauvegarder URL

Si exerciseType = "text" → Sauvegarder texte

Si exerciseType = "button" → Mapper reply.id


5️⃣ Feedback IA

Créer fonction :

async function generateFeedback(userInput, context)

Utiliser OPENAI_API_KEY existante Retourner feedback court (max 5 lignes)


6️⃣ Scoring

  • +1 point par exercice validé
  • Mise à jour UserProgress
  • Si dernier jour → trigger génération document (pitch / onepager)

Livrables attendus :

  • Schéma Prisma complet
  • Migration SQL
  • Exemple JSON bouton WhatsApp
  • Code complet sendLessonDay()
  • Code webhook mis à jour
  • Plan de migration base existante

IMPORTANT :

Ne pas ajouter vidéo pour la V1. Concentrer la logique sur audio + interaction + progression.


Retourner le code prêt à intégrer sur Railway.



🔟 MON AVIS STRATÉGIQUE

Ce que vous avez fait jusqu’ici est faisable.

L’infrastructure est solide.

Le vrai chantier maintenant est :

➡ UX pédagogique ➡ Structuration des modules ➡ Interaction intuitive

La proposition "Voix + Boutons + Terrain" est excellente.

C’est différenciant. C’est adapté au secteur informel. C’est scalable.

Et surtout : c’est réaliste techniquement avec votre stack actuelle.


🚀 PROCHAINE ÉTAPE RECOMMANDÉE

Décision : programme de 1 mois (4 semaines) avec terrain.

Pour la V1 WhatsApp, on recommande :

  • 3 leçons / semaine (lun-mer-ven) → 12 leçons / mois
  • Chaque leçon : audio 2–3 min + 1 exercice terrain + 1 réponse simple
  • Les jours "OFF" : l’apprenant applique sur le terrain (sans surcharge)

✅ Objectif : apprentissage réel + action terrain + progression mesurable.


11️⃣ MODULE 1 (1 MOIS) – COMPRENDRE SON BUSINESS (SECTEUR INFORMEL)

11.1 Résultat attendu à la fin du mois

À la fin du Module 1, l’apprenant doit pouvoir :

  • Décrire son activité en 1 phrase (simple)
  • Identifier 1 client principal + où le trouver
  • Expliquer le problème client qu’il résout
  • Énoncer son offre (produit/service) clairement
  • Donner un prix de base cohérent (premier test)
  • Construire un mini pitch vocal de 30–45 secondes

⚠️ Ce module n’est pas théorique : chaque semaine impose des tests terrain.


11.2 Règles UX WhatsApp (V1)

  • Réponses autorisées :
    • 1/2/3/4 (chiffres)
    • audio (recommandé)
    • texte très court
  • Longs formulaires interdits.
  • Toujours proposer des choix via boutons quand possible.

Boutons standard (après chaque leçon)

1️⃣ Réécouter 🎧 2️⃣ Faire l’exercice 📝 3️⃣ Envoyer ma réponse 🎙️ 4️⃣ Continuer ➡️


11.3 Structure d’une leçon (TrackDay)

Chaque TrackDay doit contenir :

  • title
  • audioUrl (R2)
  • lessonText (résumé très court)
  • exercisePrompt (terrain)
  • exerciseType (audio|text|button|photo)
  • buttonsJson (interactive)
  • validationKeyword (ex: FAIT, OK, DONE) + acceptation audio
  • unlockCondition (complétion jour)

11.4 Calendrier – 4 semaines / 12 leçons

Note : l’apprenant reçoit la leçon le matin (ex: 08:00) mais peut répondre quand il veut.

Semaine 1 – Clarifier l’activité (ce que je fais vraiment)

Jour 1 (Lun) – "Mon activité en 1 phrase"

  • Objectif : clarifier ce que tu vends (sans jargon)
  • Audio (script FR – simple) :
    • "Dis-moi simplement : tu aides QUI à faire QUOI, et comment tu gagnes de l’argent. Exemple : Je vends du jus bissap aux étudiants devant l’université."
  • Exercice terrain : écrire ou dire une phrase :
    • "Je vends [offre] à [client] à [lieu]" (ou audio)
  • Réponse attendue : audio 10–20s (ou texte 1 ligne)
  • Feedback IA : reformule en phrase plus claire

Jour 2 (Mer) – "Ce que le client achète vraiment"

  • Objectif : différencier produit vs bénéfice
  • Audio :
    • "Le client n’achète pas un produit, il achète un résultat. Exemple : il n’achète pas du savon, il achète la propreté."
  • Exercice terrain : demander à 2 clients :
    • "Pourquoi tu achètes ça ?" → noter 2 réponses
  • Réponse : 1 audio (20s) avec les 2 raisons
  • Feedback IA : extrait 1 bénéfice principal

Jour 3 (Ven) – "Mon client principal"

  • Objectif : choisir un client prioritaire (pas "tout le monde")
  • Audio :
    • "Si tu essaies de vendre à tout le monde, tu vends à personne. On choisit 1 client principal."
  • Exercice : choisir 1 client principal parmi 3 options (boutons)
    • A) Jeunes
    • B) Femmes
    • C) Commerçants
    • D) Autre (texte court)
  • Réponse : bouton + (si Autre) texte
  • Feedback IA : confirme le persona simple

Semaine 2 – Problème client (ce que je résous)

Jour 4 (Lun) – "Le problème n°1"

  • Objectif : identifier 1 douleur forte
  • Audio : "Quel problème ton client veut éviter ?"
  • Exercice terrain : parler à 3 personnes du client choisi et demander :
    • "C’est quoi ton plus gros problème sur ça ?"
  • Réponse : audio 30s résumant les 3 réponses
  • Feedback IA : synthèse en 1 problème

Jour 5 (Mer) – "Quand le problème arrive"

  • Objectif : comprendre contexte et moment
  • Audio : "À quel moment ton client a le problème ?"
  • Exercice : choisir un moment (boutons)
    • Matin / Midi / Soir / Tout le temps
  • Réponse : bouton + 1 phrase (option)
  • Feedback IA : propose une phrase de positionnement

Jour 6 (Ven) – "Comment ils le résolvent aujourd’hui"

  • Objectif : concurrence = solutions actuelles
  • Audio : "Avant toi, le client fait comment ?"
  • Exercice : écrire 2 solutions actuelles (texte court) ou audio
  • Feedback IA : clarifie ton avantage

Semaine 3 – Offre (solution) & preuve terrain

Jour 7 (Lun) – "Mon offre simple"

  • Objectif : décrire l’offre en mots simples
  • Audio : "Dis ta solution en une phrase."
  • Exercice : phrase offre + 1 exemple réel
  • Réponse : audio 20s
  • Feedback IA : reformule en offre claire

Jour 8 (Mer) – "Promesse et limite"

  • Objectif : éviter promesses irréalistes
  • Audio : "Promets petit, livre grand."
  • Exercice : choisir 1 promesse parmi 3 (boutons)
    • Rapide / Moins cher / Plus fiable
  • Feedback IA : propose promesse adaptée au contexte

Jour 9 (Ven) – "Test terrain 1"

  • Objectif : valider l’intérêt
  • Audio : "Parle à 5 personnes et propose ton offre en 10 secondes."
  • Exercice :
    • Dire à 5 personnes : "Je fais X pour Y"
    • Noter combien disent OUI/NON
  • Réponse : chiffre (ex: OUI=2, NON=3)
  • Feedback IA : conseil pratique (améliorer phrase)

Semaine 4 – Argent (premier prix) & mini pitch

Jour 10 (Lun) – "Prix de base"

  • Objectif : fixer un premier prix cohérent
  • Audio : "Ton prix doit couvrir tes coûts + marge."
  • Exercice :
    • écrire 2 coûts principaux + prix actuel
  • Réponse : texte court (ou audio)
  • Feedback IA : suggère marge minimale

Jour 11 (Mer) – "Ton avantage"

  • Objectif : différenciation simple
  • Audio : "Pourquoi toi plutôt qu’un autre ?"
  • Exercice : choisir 1 avantage (boutons)
    • Qualité / Rapidité / Confiance / Proximité
  • Feedback IA : phrase d’avantage

Jour 12 (Ven) – "Mini pitch audio"

  • Objectif : sortir un pitch 30–45s
  • Audio : guide pitch :
    1. Je suis…
    2. J’aide…
    3. Parce que…
    4. Je vends… à …
  • Exercice : envoyer pitch vocal 30–45s
  • Réponse : audio obligatoire
  • Feedback IA : 3 conseils max + version texte du pitch

11.5 Sorties IA après Module 1 (automatiques)

Après Jour 12 complété :

  • Générer :
    • Pitch texte 30s
    • One-liner activité
    • Mini fiche (1 page) "Mon activité" (option)

⚠️ Pitch deck complet = V2 (ou Module Pitch dédié).


11.6 Notes d’implémentation (pour Antigravity)

  • Créer Track "MODULE1_COMPRENDRE_BUSINESS" (FR + WO)
  • Seeder : insérer 12 TrackDays
  • sendLessonDay() :
    • envoyer audio (media)
    • envoyer interactive buttons
  • Webhook :
    • accepter chiffres + boutons + audio
  • Exercice terrain :
    • validationKeyword = {"FAIT","OK","DONE"} ou audio reçu
  • Progression :
    • currentDay++ après validation

Fin du document.