Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Fluency Lab

Speaking-training web app. You practise real conversations out loud with an AI partner, built around reusable conversational patterns — phrase frames like "I see what you mean, but ___" — rather than grammar rules.

The flow

  • Roleplay (home): pick a situation (or write your own) and talk it through by voice with an AI partner. When you end the call you get your transcript back with a line-by-line check, a short review, and the patterns you could have used at the moments you fumbled — save any into your library.
  • Pattern library (/patterns, /idioms): browse patterns and idioms by communicative function. Each has a read-aloud scripted-dialogue drill and a fast AI "substitution drill". Patterns you save (seed or AI-suggested) live at /patterns/saved.
  • Practice a pattern (/pattern/[id]): short AI voice conversations grounded in a generated situation where the pattern fits.
  • Dashboard (/dashboard): a per-browser language profile built from your roleplay transcripts.

No accounts — all progress is per-browser localStorage.

Run it

npm install
cp .env.local.example .env.local   # fill in LiveKit + Groq keys
npm run dev

The voice roleplay needs the LiveKit Agents worker running in a second terminal:

cd agent && npm install && npm run dev

Without keys, the AI routes fall back to deterministic stubs; without the worker, the voice call can't connect (the read-aloud drill still works — it uses the browser's own speech recognition).

Tech

Next.js (App Router) + React 19. Server-side AI calls to Groq (src/app/api/ai/*). Voice roleplay runs over LiveKit with a separate LiveKit Agents worker (agent/); STT/TTS via LiveKit Inference, the LLM via Groq. Tests: npm run test (Vitest, node env — session/store/route logic).

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages