Skip to content

Devanik21/FluentFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fluentflow

Language Stars Forks Author Status

AI-powered language learning and fluency development — personalised practice, grammar feedback, and conversational coaching in any language.


Topics: adaptive-learning · conversational-ai · deep-learning · education-ai · generative-ai · language-learning · large-language-models · neural-networks · nlp · speech-recognition

Overview

FluentFlow is an intelligent language learning platform that combines AI-driven conversation practice, grammar error correction, vocabulary acquisition, and pronunciation guidance into a single, adaptive learning environment. Unlike static language learning apps, FluentFlow responds to the learner's actual language production — written text initially, with audio planned — rather than presenting fixed lesson sequences regardless of demonstrated proficiency.

The conversation practice module pairs the learner with an AI tutor persona calibrated to the target language: formal French, colloquial Brazilian Portuguese, business Japanese, or any of 30+ supported languages. The tutor generates contextually appropriate responses at the learner's level, gently corrects errors in-line without derailing the conversation, and introduces new vocabulary organically when the context provides a natural opportunity.

The grammar analysis module parses the learner's written input for grammatical errors, classifies each error by type (subject-verb agreement, tense consistency, article usage, preposition choice), provides the correction with a rule-based explanation, and adds the error pattern to a personalised mistake tracker that drives targeted practice exercise generation.


Motivation

Language acquisition research shows that comprehensible input and meaningful output practice are the most effective learning mechanisms — more effective than grammar drills and vocabulary flashcards in isolation. FluentFlow was designed to provide unlimited, patient, judgement-free conversation practice with immediate corrective feedback: something previously only possible with a human tutor, now available on-demand through AI.


Architecture

Learner Text Input (target language)
        │
  ┌───────────────────────────────────────────┐
  │  Grammar Analysis Module                 │
  │  LanguageTool / LanguageModel error detection
  │  Error type classification + explanation  │
  └───────────────────────────────────────────┘
        │
  ┌───────────────────────────────────────────┐
  │  Conversation Engine (LLM)               │
  │  Level-calibrated response generation    │
  │  Vocabulary introduction + feedback      │
  └───────────────────────────────────────────┘
        │
  Mistake tracker → Targeted exercise generator
        │
  Spaced repetition vocabulary scheduler

Features

Multi-Language Support

Practice in 30+ languages including Spanish, French, German, Japanese, Mandarin, Arabic, Hindi, Portuguese, Italian, Korean, and Russian — with language-specific grammar rule engines.

Level-Adaptive Conversation

AI tutor adjusts vocabulary complexity, sentence length, and grammatical structures based on the learner's demonstrated CEFR level (A1–C2), preventing both overwhelm and under-challenge.

In-Context Grammar Correction

Errors corrected inline within the conversation flow with a brief explanation footnote — maintaining conversational momentum while providing teachable moments.

Error Type Classification

Each grammatical error classified into one of 15 error categories (tense, agreement, word order, preposition, article, conjugation, etc.) and tracked per learner for pattern analysis.

Personalised Mistake Tracker

Dashboard showing error frequency by type and over time, with targeted grammar exercises generated specifically for the learner's most common error patterns.

Vocabulary Acquisition System

New vocabulary introduced in conversational context, reviewed via spaced repetition (SM-2 algorithm), and tracked with retention rate per word.

Scenario-Based Practice

Pre-built conversation scenarios: job interview, restaurant ordering, travel planning, business negotiation, medical consultation — with role-play and vocabulary specific to each context.

Progress Analytics

Learning analytics dashboard: conversation hours, words acquired, grammar accuracy trend over time, and CEFR level progression estimate.


Tech Stack

Library / Tool Role Why This Choice
OpenAI GPT-4o / Gemini Conversation engine Level-calibrated multilingual conversation and grammar feedback
LanguageTool API Grammar checking Rule-based grammar error detection for 30+ languages
Streamlit Learning interface Chat UI, vocabulary cards, progress dashboard
spaCy NLP analysis Tokenisation, POS tagging, dependency parsing for error classification
pandas Progress tracking Mistake tracker, vocabulary retention, session history
Plotly Analytics visualisation Error trend charts, vocabulary growth curves

Getting Started

Prerequisites

  • Python 3.9+ (or Node.js 18+ for TypeScript/JavaScript projects)
  • A virtual environment manager (venv, conda, or equivalent)
  • API keys as listed in the Configuration section

Installation

git clone https://github.com/Devanik21/FluentFlow.git
cd FluentFlow
python -m venv venv && source venv/bin/activate
pip install streamlit openai spacy pandas plotly requests python-dotenv
python -m spacy download en_core_web_sm  # repeat for target languages
echo 'OPENAI_API_KEY=sk-...' > .env
streamlit run app.py

Usage

# Start the learning interface
streamlit run app.py

# Practice a specific scenario
python practice.py --language french --scenario restaurant --level B1

# Run grammar analysis on a text
python grammar_check.py --text 'Je suis allé au marché hier.' --language fr

# Export vocabulary list
python export_vocab.py --language japanese --format anki

Configuration

Variable Default Description
OPENAI_API_KEY (required) LLM API key for conversation engine
DEFAULT_LANGUAGE French Target learning language
DEFAULT_LEVEL B1 Learner CEFR level: A1, A2, B1, B2, C1, C2
VOCAB_DAILY_LIMIT 20 Maximum new vocabulary items introduced per day
CORRECTION_STYLE gentle Correction style: gentle, immediate, end-of-message

Copy .env.example to .env and populate required values before running.


Project Structure

FluentFlow/
├── README.md
├── requirements.txt
├── app.py
└── ...

Roadmap

  • Speech recognition integration with Whisper for spoken language practice and pronunciation scoring
  • Writing mode: essay and paragraph correction with style and register feedback beyond grammar
  • Tandem partner matching: connect learners of complementary language pairs for human conversation exchange
  • Native speaker audio pronunciation examples via AWS Polly or ElevenLabs for all vocabulary items
  • JLPT/DELF/DELE exam preparation mode with official exam format practice questions

Contributing

Contributions, issues, and suggestions are welcome.

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-idea
  3. Commit your changes: git commit -m 'feat: add your idea'
  4. Push to your branch: git push origin feature/your-idea
  5. Open a Pull Request with a clear description

Please follow conventional commit messages and add documentation for new features.


Notes

Grammar correction quality varies by language — English, French, German, and Spanish have the most robust LanguageTool rules. For languages with limited LanguageTool support, correction relies primarily on the LLM. LLM-based grammar feedback should be verified for less common languages.


Author

Devanik Debnath
B.Tech, Electronics & Communication Engineering
National Institute of Technology Agartala

GitHub LinkedIn


License

This project is open source and available under the MIT License.


Built with curiosity, depth, and care — because good projects deserve good documentation.

About

AI language learning platform — adaptive conversational practice in 50+ languages, real-time grammar correction with CEFR-calibrated feedback, vocabulary spaced repetition, and Whisper pronunciation input.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages