CognxSafeTrack
feat: Genspark-Standard upgrade, MLOps audit fixes, and XAMLÉ branding
eac938a
{
"trackId": "T1-FR",
"title": "Comprendre son business",
"language": "FR",
"description": "Apprenez à définir, tester et vendre votre projet en 12 leçons.",
"totalDays": 12,
"version": "1.0.0",
"days": [
{
"dayNumber": 1,
"title": "Clarifier ton activité",
"lessonText": "Aujourd’hui, on clarifie ton activité en 1 phrase simple. Ton objectif : expliquer clairement ce que tu fais, pour qui, et pourquoi ça compte.\n\n✅ Règle : pas de phrases vagues.\n✅ Règle : une seule activité principale.",
"exerciseType": "AUDIO",
"exercisePrompt": "En 20–30 secondes, explique : (1) ce que tu vends/fais, (2) à qui tu le vends, (3) dans quelle zone (quartier/ville).",
"exerciseCriteria": {
"version": "1.0",
"type": "AUDIO",
"goal": "Clarifier l'activité (Offre + Client + Zone)",
"success": {
"mustInclude": [
{
"id": "OFFRE",
"desc": "Produit ou service vendu",
"weight": 3
},
{
"id": "CLIENT",
"desc": "Cible précise qui paye",
"weight": 3
},
{
"id": "ZONE",
"desc": "Lieu ou quartier d'exercice",
"weight": 2
}
],
"threshold": {
"minScore": 5,
"minMustPass": 2
}
},
"evaluation": {
"tone": "coach_enthusiastic",
"format": "3_lines",
"examples": "Valide si l'intention est présente : 'Je vends des jus à Grand Yoff' est valide."
},
"remediation": {
"dayNumber": 1.5,
"hint": "Donne un exemple concret (produit exact + client exact + lieu exact)."
}
},
"badges": [
"DÉMARRAGE"
],
"imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_activity.png",
"videoUrl": "https://r2.xamle.sn/videos/v1_1.mp4",
"videoCaption": "🧠 Mindset : Da ngay war a dëggal sa mbir !"
},
{
"dayNumber": 1.5,
"title": "Remédiation — Clarifier ton activité",
"lessonText": "Pas grave — on va simplifier.\n\n✅ Modèle à répéter :\nJe vends [PRODUIT] à [CLIENT] à [LIEU].\n\nExemple : Je vends de l’engrais organique aux maraîchers à Pikine.",
"exerciseType": "TEXT",
"exercisePrompt": "Complète cette phrase : Je vends/fais _______ pour _______ à _______.",
"exerciseCriteria": {
"version": "1.0",
"type": "TEXT",
"goal": "Correction simplifiée de l'activité",
"success": {
"mustInclude": [
{
"id": "PRODUIT",
"desc": "Nom du produit",
"weight": 4
},
{
"id": "CLIENT",
"desc": "Cible",
"weight": 3
},
{
"id": "LIEU",
"desc": "Lieu",
"weight": 3
}
],
"threshold": {
"minScore": 6,
"minMustPass": 2
}
},
"evaluation": {
"tone": "coach_enthusiastic",
"format": "3_lines"
}
},
"badges": [
"REPRISE"
],
"imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes1_5_remediation.png"
},
{
"dayNumber": 2,
"title": "Ton client qui paye",
"lessonText": "Un business marche quand tu sais EXACTEMENT qui paye.\n\nAujourd’hui, on choisit une cible principale :\n- Qui achète ?\n- Quel âge / profil ?\n- Où tu le trouves ?\n\n✅ Plus ta cible est précise, plus tu vends.",
"exerciseType": "TEXT",
"exercisePrompt": "Décris ton client principal en 3 points : (1) qui c’est, (2) où tu le trouves, (3) pourquoi il achète.",
"exerciseCriteria": {
"version": "1.0",
"type": "TEXT",
"goal": "Définition précise du client",
"success": {
"mustInclude": [
{
"id": "PROFIL",
"desc": "Profil du client",
"weight": 4
},
{
"id": "LIEU",
"desc": "Localisation ou canal de contact",
"weight": 3
},
{
"id": "RAISON",
"desc": "Motivation d'achat",
"weight": 3
}
],
"threshold": {
"minScore": 6,
"minMustPass": 2
}
},
"evaluation": {
"tone": "coach_enthusiastic",
"format": "3_lines"
}
},
"badges": [
"CIBLE"
],
"imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes2_customer.png",
"videoUrl": "https://r2.xamle.sn/videos/v4_1.mp4",
"videoCaption": "👥 Segments : Ñoom ñan ñoo lay faye ?"
},
{
"dayNumber": 3,
"title": "Le problème réel",
"lessonText": "Les gens n’achètent pas un produit. Ils achètent une solution à un problème.\n\nAujourd’hui : on formule le problème du client en mots simples.\n✅ ‘Quand…, je…’\n✅ ‘Ça me coûte…’\n✅ ‘Ça me bloque…’",
"exerciseType": "AUDIO",
"exercisePrompt": "En 20–30 secondes, décris le problème principal de ton client : ce qui lui fait perdre du temps, de l’argent, ou le stresse.",
"exerciseCriteria": {
"version": "1.0",
"type": "AUDIO",
"goal": "Identifier la douleur client",
"success": {
"mustInclude": [
{
"id": "DOULEUR",
"desc": "Problème ou contrainte",
"weight": 5
},
{
"id": "CONSEQUENCE",
"desc": "Impact du problème",
"weight": 5
}
],
"threshold": {
"minScore": 5,
"minMustPass": 1
}
},
"evaluation": {
"tone": "coach_enthusiastic",
"format": "3_lines"
}
},
"badges": [
"PROBLÈME"
],
"imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes3_problem.png",
"videoUrl": "https://r2.xamle.sn/videos/v2_1.mp4",
"videoCaption": "❓ Problème : Lan mooy sonnal sa kiliifa ?"
},
{
"dayNumber": 4,
"title": "Ta solution en 1 phrase",
"lessonText": "Maintenant, on transforme le problème en solution.\n\n✅ Modèle :\nJ’aide [CLIENT] à [RÉSULTAT] grâce à [SOLUTION].\n\nObjectif : une phrase courte, claire.",
"exerciseType": "TEXT",
"exercisePrompt": "Écris ta phrase : J’aide ___ à ___ grâce à ___.",
"exerciseCriteria": {
"version": "1.0",
"type": "TEXT",
"goal": "Formulation de la proposition de valeur",
"success": {
"mustInclude": [
{
"id": "CLIENT",
"desc": "Bénéficiaire",
"weight": 3
},
{
"id": "RESULTAT",
"desc": "Bénéfice apporté",
"weight": 4
},
{
"id": "MOYEN",
"desc": "Moyen ou produit utilisé",
"weight": 3
}
],
"threshold": {
"minScore": 6,
"minMustPass": 2
}
},
"evaluation": {
"tone": "coach_enthusiastic",
"format": "3_lines"
}
},
"badges": [
"CLARTÉ"
],
"imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes4_solution.png",
"videoUrl": "https://r2.xamle.sn/videos/v3_1.mp4",
"videoCaption": "💡 Solutions : Naka ngay fajjé jafe-jafe bi ?"
},
{
"dayNumber": 5,
"title": "Différenciation — pourquoi toi ?",
"lessonText": "Si 10 personnes vendent la même chose, pourquoi on achèterait chez toi ?\n\nAujourd’hui : on trouve 1–2 différences simples :\n- qualité\n- prix\n- rapidité\n- proximité\n- confiance\n- service après-vente\n\n✅ Une bonne différence = un argument de vente.",
"exerciseType": "TEXT",
"exercisePrompt": "Donne 2 raisons concrètes qui font que ton client te choisit toi (et pas un autre).",
"exerciseCriteria": {
"version": "1.0",
"type": "TEXT",
"goal": "Identifier les avantages concurrentiels",
"success": {
"mustInclude": [
{
"id": "RAISON1",
"desc": "Premier avantage compétitif",
"weight": 5
},
{
"id": "RAISON2",
"desc": "Deuxième avantage compétitif",
"weight": 5
}
],
"threshold": {
"minScore": 5,
"minMustPass": 1
}
},
"evaluation": {
"tone": "coach_enthusiastic",
"format": "3_lines"
}
},
"badges": [
"AVANTAGE"
],
"imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes5_differentiation.png",
"videoUrl": "https://r2.xamle.sn/videos/v4_2.mp4",
"videoCaption": "🎁 Valeur : Lan moo la gënal ci marché bi ?"
},
{
"dayNumber": 6,
"title": "Prix — comment tu gagnes de l’argent",
"lessonText": "Un business sans prix clair = confusion.\n\nAujourd’hui : on fixe une logique simple :\n- Prix unitaire\n- Pack / abonnement\n- Commission\n\n✅ Même si tu ajustes plus tard, il faut une base.",
"exerciseType": "TEXT",
"exercisePrompt": "Explique ta façon de gagner de l’argent : combien tu vends, à quel prix, et ce que le client reçoit.",
"exerciseCriteria": {
"version": "1.0",
"type": "TEXT",
"goal": "Définir le modèle de revenu",
"success": {
"mustInclude": [
{
"id": "PRIX",
"desc": "Montant ou fourchette",
"weight": 4
},
{
"id": "UNITE",
"desc": "Unité de mesure (sac, heure, etc.)",
"weight": 3
},
{
"id": "OFFRE",
"desc": "Précision de ce qui est inclus",
"weight": 3
}
],
"threshold": {
"minScore": 6,
"minMustPass": 2
}
},
"evaluation": {
"tone": "coach_enthusiastic",
"format": "3_lines"
}
},
"badges": [
"PRIX"
],
"imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes6_pricing.png",
"videoUrl": "https://r2.xamle.sn/videos/v6_1.mp4",
"videoCaption": "💰 Prix : Naka ngay tànnee sa prix ?"
},
{
"dayNumber": 7,
"title": "Canal de vente — où tu vends",
"lessonText": "Où se fait la vente ?\n\nExemples :\n- marché\n- boutique\n- WhatsApp\n- livraison\n- terrain\n- recommandation\n\nAujourd’hui : on choisit 1 canal principal + 1 secondaire.",
"exerciseType": "BUTTON",
"exercisePrompt": "Choisis ton canal principal de vente.",
"buttonsJson": [
{
"id": "whatsapp",
"title": "WhatsApp"
},
{
"id": "marche",
"title": "Marché"
},
{
"id": "boutique",
"title": "Boutique"
},
{
"id": "terrain",
"title": "Terrain / Porte-à-porte"
},
{
"id": "en_ligne",
"title": "En ligne"
}
],
"exerciseCriteria": {
"version": "1.0",
"type": "BUTTON",
"goal": "Choix du canal de distribution",
"success": {
"mustInclude": [
{
"id": "CHOICE",
"desc": "Un canal sélectionné",
"weight": 1
}
],
"threshold": {
"minScore": 1,
"minMustPass": 1
}
},
"evaluation": {
"tone": "coach_enthusiastic",
"format": "3_lines"
}
},
"badges": [
"CANAL"
],
"imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes7_channel.png",
"videoUrl": "https://r2.xamle.sn/videos/v4_3.mp4",
"videoCaption": "🚀 Canaux : Naka ngay jot sa kiliifa ?"
},
{
"dayNumber": 8,
"title": "Confiance — preuve & crédibilité",
"lessonText": "Les gens achètent quand ils ont confiance.\n\nAujourd’hui : on liste des preuves simples :\n- témoignage\n- avant/après\n- photos\n- garantie\n- expérience\n\n✅ Une preuve = une vente plus facile.",
"exerciseType": "TEXT",
"exercisePrompt": "Donne 2 preuves que tu peux montrer pour rassurer ton client (ex: photo, témoignage, garantie, résultats).",
"exerciseCriteria": {
"version": "1.0",
"type": "TEXT",
"goal": "Établir la crédibilité",
"success": {
"mustInclude": [
{
"id": "PREUVE1",
"desc": "Première preuve de confiance",
"weight": 5
},
{
"id": "PREUVE2",
"desc": "Deuxième preuve de confiance",
"weight": 5
}
],
"threshold": {
"minScore": 5,
"minMustPass": 1
}
},
"evaluation": {
"tone": "coach_enthusiastic",
"format": "3_lines"
}
},
"badges": [
"CONFIANCE"
],
"imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes8_trust.png",
"videoUrl": "https://r2.xamle.sn/videos/v7_2.mp4",
"videoCaption": "🤝 Confiance : Naka ngay dëggal sa digganté ak kiliifa ?"
},
{
"dayNumber": 9,
"title": "Ton pitch 30 secondes",
"lessonText": "On assemble tout en un pitch court.\n\nStructure :\n1) Je fais…\n2) Pour…\n3) Parce que…\n4) Je me différencie par…\n5) Contact / prochaine action\n\n✅ Court. Clair. Sans bla-bla.",
"exerciseType": "AUDIO",
"exercisePrompt": "Envoie ton pitch en 30 secondes (vocal).",
"exerciseCriteria": {
"version": "1.0",
"type": "AUDIO",
"goal": "Synthèse du projet",
"success": {
"mustInclude": [
{
"id": "ACTIVITE",
"desc": "Description du quoi",
"weight": 3
},
{
"id": "CLIENT",
"desc": "Cible",
"weight": 3
},
{
"id": "DIFFERENCE",
"desc": "Argument fort",
"weight": 4
}
],
"threshold": {
"minScore": 6,
"minMustPass": 2
}
},
"evaluation": {
"tone": "coach_enthusiastic",
"format": "3_lines"
}
},
"badges": [
"PITCH"
],
"imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes9_pitch.png",
"videoUrl": "https://r2.xamle.sn/videos/v3_2.mp4",
"videoCaption": "🛠️ Prototype : Tàmbalil ak li nga am léegi !"
},
{
"dayNumber": 10,
"title": "Concurrence — Tes 3 rivaux",
"lessonText": "Pour gagner, il faut savoir contre qui tu te bats.\n\nAujourd’hui : identifie tes 3 plus gros concurrents (ceux qui font la même chose que toi dans ta zone).\n✅ Qui sont-ils ?\n✅ Quel est leur prix moyen pour ton produit phare ?\n✅ Pourquoi un client irait chez eux plutôt que chez toi ?",
"exerciseType": "TEXT",
"exercisePrompt": "Donne le nom (ou type) de tes 3 plus gros concurrents, leurs prix, et explique leur point fort par rapport au tien.",
"exerciseCriteria": {
"version": "1.0",
"type": "TEXT",
"goal": "Analyse de la concurrence détaillée",
"success": {
"mustInclude": [
{
"id": "CONCURRENTS",
"desc": "3 noms ou types de rivaux",
"weight": 5
},
{
"id": "PRIX",
"desc": "Estimation des prix rivaux",
"weight": 3
},
{
"id": "FORCE",
"desc": "Avantage du concurrent",
"weight": 2
}
],
"threshold": {
"minScore": 6,
"minMustPass": 2
}
},
"evaluation": {
"tone": "coach_enthusiastic",
"format": "3_lines"
}
},
"badges": [
"STRATÉGIE"
],
"imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes10_objections.png"
},
{
"dayNumber": 11,
"title": "Équipe & Vision — Tes chiffres",
"lessonText": "Un investisseur n'achète pas juste une idée, il achète une ÉQUIPE et une VISION chiffrée.\n\nAujourd’hui : \n1) Qui t'aide au quotidien (associé, employé, famille) ?\n2) Quel est ton objectif de Chiffre d'Affaires (CA) dans 3 ans ?\n3) Combien de boutiques ou clients vises-tu en 2029 ?",
"exerciseType": "TEXT",
"exercisePrompt": "Décris ton équipe (rôles) et tes projections : CA visé et nombre de clients en 2029.",
"exerciseCriteria": {
"version": "1.0",
"type": "TEXT",
"goal": "Validation équipe et projections chiffrées",
"success": {
"mustInclude": [
{
"id": "EQUIPE",
"desc": "Composition humaine et rôles",
"weight": 4
},
{
"id": "CA_CIBLE",
"desc": "Objectif financier 3 ans",
"weight": 4
},
{
"id": "CIBLE_VOLUME",
"desc": "Nombre de clients/boutiques",
"weight": 2
}
],
"threshold": {
"minScore": 7,
"minMustPass": 2
}
},
"evaluation": {
"tone": "coach_enthusiastic",
"format": "3_lines"
}
},
"badges": [
"VISION"
],
"imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes11_plan.png"
},
{
"dayNumber": 12,
"title": "Le Pitch Final & The Ask",
"lessonText": "C'est le grand jour ! On boucle tout.\n\nTon pitch doit maintenant inclure 'La Demande' (The Ask).\n✅ De quoi as-tu besoin PRECISÉMENT ? (Montant en FCFA, matériel spécifique).\n✅ Pourquoi cet investissement va faire exploser tes ventes ?\n\nAprès ce dernier audio, je génère ton Pitch Deck complet.",
"exerciseType": "AUDIO",
"exercisePrompt": "Envoie ton pitch final (45s) incluant : ton nom, ton offre, et ton 'Besoin' précis (montant ou matériel) pour scaler.",
"exerciseCriteria": {
"version": "1.0",
"type": "AUDIO",
"goal": "Pitch Investisseur Final (The Ask)",
"success": {
"mustInclude": [
{
"id": "OFFRE",
"desc": "Produit/Service",
"weight": 3
},
{
"id": "THE_ASK",
"desc": "Montant ou matériel précis",
"weight": 5
},
{
"id": "IMPACT",
"desc": "Effet de levier de l'investissement",
"weight": 2
}
],
"threshold": {
"minScore": 7,
"minMustPass": 2
}
},
"evaluation": {
"tone": "coach_enthusiastic",
"format": "3_lines"
}
},
"badges": [
"FINISHER"
],
"imageUrl": "https://pub-e770286d75114b3691f9142d5e451a41.r2.dev/images/t1/bes12_success.png"
}
]
}