Skip to content
English Coach

Integrations

Tout ce qui est encore simulé dans cette maquette, rangé par sprint. Chaque ligne correspond à un marqueur pointillé dans l'interface et à un commentaire BRANCHEMENT dans le code.

Règle de budget : le temps de dev est séparé des 3 h d'apprentissage quotidiennes. La routine sans app (EF SET, mode vocal Claude, dictées) continue quoi qu'il arrive.

S1 Memory loop (text)

~12 h

Fini quand : Une erreur faite lundi réapparaît et doit être réemployée mardi.

  • Supabase

    Today

    Charger le plan du jour depuis `plans` (dernier plan calculé après débrief).

    src/lib/services/supabase.ts
  • ts-fsrs

    Session, bloc Rappel

    Sélection des cartes dues (plafond 15 min) et mise à jour Card après notation 1–4.

    src/lib/services/fsrs.ts
  • Supabase

    Session, bloc Rappel

    Insérer `srs_reviews` (rating, confidence, response_ms) et mettre à jour `srs_cards`.

    src/lib/services/supabase.ts
  • API Claude

    Mission vocale

    Streaming du tuteur (system prompt §11.1 + constructeur de contexte §8.5, prompt caching).

    src/lib/services/claude.ts
  • API Claude

    Bloc Écrit

    Corriger le message, expliquer en français, extraire les erreurs en JSON.

    src/lib/services/claude.ts
  • API Claude

    Fin de session

    Analyse post-session (§11.2) renvoyant PostSessionAnalysis.

    src/lib/services/claude.ts
  • Zod

    Fin de session

    Valider le JSON avant toute écriture en base (D8).

    src/lib/schemas/post-session.ts
  • Supabase

    Fin de session

    Mettre à jour error_memory, mastery, srs_cards, sessions, plans.

    src/lib/services/supabase.ts
  • Supabase

    Mistakes

    Lire error_memory et son cycle de vie active → reusing → resolved.

    src/lib/services/supabase.ts
  • Supabase

    Profile

    personal_context : projets, clients, collègues, situations (validé avant écriture).

    src/lib/services/supabase.ts
  • Supabase

    Shell

    Auth Supabase (compte unique), middleware de session.

    src/lib/services/supabase.ts

S2 Local voice

~10 h

Fini quand : Mission M02 jouable à la voix, latence < 1,5 s.

  • faster-whisper

    Tous les boutons micro

    Envoyer l'audio au service Python local et recevoir { text, words[{w,start,end,probability}] }.

    src/lib/services/stt.ts
  • @ricky0123/vad-web

    Mission vocale

    Fin de parole automatique + barge-in (couper la voix de Claude quand tu parles).

    src/lib/services/stt.ts
  • Kokoro-82M (ou ElevenLabs)

    Mission vocale, jeux

    Synthèse phrase par phrase des répliques de Claude, lecture de la 1re phrase immédiatement. Aperçu actuel : speechSynthesis du navigateur.

    src/lib/services/tts.ts
  • faster-whisper

    Mission vocale, Progress

    Calcul débit, pauses > 1 s, fillers, probabilité moyenne des mots → `speech_metrics`.

    src/lib/services/stt.ts

S3 Engine & games

~10 h

Fini quand : Session de 45 min générée sans intervention.

  • Supabase

    Today

    Moteur « quoi maintenant » : SRS dus, nœud prioritaire, modalités, difficulté. Tourne côté serveur sur les données Supabase.

    src/lib/engine/*
  • Audio humain réel

    Bloc Compréhension, dictée

    Servir un clip humain réel du palier courant (L1–L5) à la vitesse calibrée.

    src/lib/services/audio.ts
  • API Claude

    Jeux

    Générer une manche (§11.3) à partir de tes erreurs réelles et du nœud du jour.

    src/lib/services/claude.ts

S4 Measurement & projection

~8 h

Fini quand : Écran de projection 3 horizons fonctionnel.

  • Supabase

    Fin de session, Progress

    Fourchette ETA sur 14 jours glissants, affichée seulement après 5 sessions.

    src/lib/engine/projection.ts
  • Supabase

    Progress

    Benchmark interne du samedi + consolidation mémoire (appel Claude dédié).

    src/lib/services/supabase.ts

S5 Extensions

as needed

Fini quand : Missions M03–M12, Azure, import de messages réels.

  • Azure Pronunciation Assessment

    Say it right, diagnostic

    Score par phonème (option). Proxy actuel : probabilité Whisper.

    src/lib/services/pronunciation.ts
  • YouGlish

    Curriculum, cartes

    Ouvrir le mot ou chunk dans YouGlish.

    src/components/ui/Hook.tsx
  • Import Slack / Gmail

    Bloc Écrit

    Importer un vrai message Slack / email à corriger.

    src/lib/services/claude.ts

Services

Supabase
Postgres + Auth + RLS : mémoire, SRS, métriques, plans
API Claude
Sans état : contexte reconstruit à chaque appel (Haiku 4.5 / Sonnet 5 temps réel, Sonnet 5 / Opus 5 analyse)
faster-whisper
STT local Python, distil-large-v3, word_timestamps, vad_filter
Kokoro-82M (ou ElevenLabs)
TTS local Apache 2.0 pour les répliques de Claude. ElevenLabs reste l'alternative cloud.
@ricky0123/vad-web
Détection de fin de parole et barge-in dans le navigateur
ts-fsrs
Planification des cartes, request_retention 0.9 (Node ≥ 20)
Azure Pronunciation Assessment
Option : score par phonème
Zod
Validation de tout JSON renvoyé par Claude avant persistance
Audio humain réel
Clips 30–60 s (BBC, ELLLO, podcasts tech, YouTube) pour dictée et shadowing, jamais de TTS
YouGlish
Prononciation d'un mot ou chunk dans des vidéos réelles
Import Slack / Gmail
Tes vrais messages pour la piste écrit (décision ouverte)