TyporaX-AI is a personalized Dutch language learning platform powered by lightning-fast Groq AI models. Practice with specialized expert coaches, enjoy immersive podcast conversations, and receive real-time assessment with desktop PWA experience.
π We're an open-source project and we welcome contributors! Whether you're fixing a typo or adding a new feature, your contributions help make language learning accessible to everyone. See how to contribute β
- ποΈ Dutch Podcast Expert - Interactive Emma & Daan conversations with voice synthesis
- π€ AI Expert Coaches - Healthcare Expert, IT Interview Coach, Language Tutor
- π Real-Time Assessment - Live feedback on grammar, fluency, and vocabulary
- π» PWA Desktop App - Install as native desktop application
- π― Personality-Based Learning - MBTI-optimized study methods
- π΄ Anki Flashcards - Auto-generated spaced repetition cards
- π Audio Pronunciation - Natural Dutch speech synthesis (Edge-TTS)
- π Progress Tracking - Monitor your learning journey
- Python 3.13+
- ~2GB RAM
# Clone repository
git clone https://github.com/Yusuprozimemet/TyporaX-AI.git
cd TyporaX-AI
# Create environment
conda create -n env python=3.13
conda activate env
# Install dependencies
pip install -r requirements.txt
# Setup API key (get free key from groq.com)
echo "GROQ_API_KEY=your_groq_api_key" > .env
# Launch application
python main.pyAccess: Open browser to http://localhost:8000 β Install as PWA for desktop experience
TyporaX-AI/
βββ main.py # FastAPI application
βββ requirements.txt # Dependencies
βββ templates/index.html # Web interface
βββ static/ # CSS, JS, images
βββ src/
β βββ api/ # API routes
β β βββ main_router.py # Core endpoints
β β βββ chat_router.py # Expert chat
β β βββ assessment_router.py # Live assessment
β βββ services/ # Business logic
β β βββ lesson_bot.py # Lesson generation
β β βββ assessment.py # Language analysis
β β βββ calibrator.py # Learning method
β βββ utils/ # Utilities
β β βββ audio.py # TTS engine
β β βββ anki.py # Flashcard export
β β βββ pdf.py # Report generation
β βββ experts/ # Expert personalities
β βββ dutch_podcast_expert.py
β βββ healthcare_expert.py
β βββ it_backend_interviewer.py
βββ data/users/{user_id}/ # User profiles & progress
Interactive Emma & Daan conversations β Real-time voice synthesis β Immersive listening practice
Choose an expert β Practice Dutch conversation β Get AI responses tailored to domain
Every message analyzed for:
- Grammar & Fluency (0-10 scores)
- Vocabulary Level (Beginner β Advanced)
- Better Version (Corrected sentences)
- Live Hints (Language tips, conversation tips, expert-specific guidance)
- Install as App: Native desktop experience
- Draggable Panels: Customizable assessment interface
- Offline Ready: Works without internet connection
- π PDF learning plans
- π΄ Anki flashcard decks
- π Audio pronunciation files
# Required: Groq API key (free at groq.com)
export GROQ_API_KEY="your_groq_api_key"
# Optional: Backup HuggingFace token
export HF_TOKEN="your_huggingface_token"
# Optional: Custom data directory
export TYPORAX_DATA_DIR="/custom/path"Edit prompts in prompts/ directory:
dutch_podcast_expert.json- Podcast conversationshealthcare_expert.json- Medical scenariosit_backend_interviewer.json- Tech interviewsassessment.json- Language analysisapp.json- General language coaching
| Endpoint | Method | Description |
|---|---|---|
/ |
GET | Web interface |
/api/chat |
POST | Expert conversation |
/api/assessment |
POST | Language analysis |
/api/generate-lesson |
POST | Create daily lesson |
/download/pdf/{user_id} |
GET | Learning plan PDF |
/download/anki/{user_id} |
GET | Flashcard deck |
/download/audio/{user_id} |
GET | Pronunciation audio |
- Create personality file in
src/experts/ - Add prompt template in
prompts/ - Register in expert router
- Update frontend expert selector
# Test lesson generation
python -c "from src.services.lesson_bot import run_lesson_bot; print(run_lesson_bot('test', 'dutch'))"
# Run application
python main.pyPort already in use:
# Change port in main.py
uvicorn.run(app, host="0.0.0.0", port=8001)PDF generation issues (Windows):
conda install -c conda-forge gtk3 reportlabMemory issues:
# Use lighter model or CPU-only
export CUDA_VISIBLE_DEVICES=""We welcome contributions from everyone! π Whether you're a developer, language expert, designer, or just passionate about education technology, there's a place for you here.
- π Help make language learning accessible to everyone
- π‘ Share your expertise and ideas
- π Join a community of developers and educators
- π Learn FastAPI, AI integration, and modern web development
- β¨ See your code make a real impact
- Fork the repository - Click the "Fork" button at the top right
- Clone your fork
git clone https://github.com/YOUR_USERNAME/TyporaX-AI.git cd TyporaX-AI - Set up development environment
conda create -n env python=3.13 conda activate env pip install -r requirements.txt
- Create a feature branch
git checkout -b feature/your-feature-name
- Make your changes - Write code, fix bugs, improve docs
- Test your changes
python main.py # Test the application - Commit with clear messages
git add . git commit -m "Add: Brief description of your change"
- Push to your fork
git push origin feature/your-feature-name
- Open a Pull Request - Go to the original repository and click "New Pull Request"
π Bug Fixes
- Fix reported issues in GitHub Issues
- Improve error handling
- Fix typos or broken links
β¨ New Features
- Add support for new languages (French, Spanish, German, etc.)
- Create new expert personalities (Business Coach, Travel Guide, etc.)
- Implement new assessment metrics
- Add gamification features (badges, streaks, etc.)
π¨ UI/UX Improvements
- Enhance the web interface design
- Improve mobile responsiveness
- Add dark mode support
- Create better visualizations for progress tracking
π Documentation
- Improve README or other docs
- Add code comments
- Create tutorials or video guides
- Translate documentation to other languages
π§ Code Quality
- Refactor code for better performance
- Add unit tests
- Improve code organization
- Optimize API endpoints
π Localization
- Translate UI to other languages
- Add language-specific learning content
- Adapt cultural references
- Code Style: Follow PEP 8 for Python code
- Commit Messages: Use clear, descriptive commit messages (e.g., "Add: Spanish language support", "Fix: Audio playback issue")
- Testing: Test your changes thoroughly before submitting
- Documentation: Update docs if you change functionality
- Small PRs: Keep pull requests focused on a single feature or fix
Found a bug? Have a suggestion? Please open an issue on GitHub:
- Check if the issue already exists
- Use a clear, descriptive title
- Provide detailed steps to reproduce (for bugs)
- Include your environment details (OS, Python version, etc.)
- Questions? Open a discussion on GitHub Discussions
- Stuck? Comment on the issue you're working on
- Ideas? Share them in GitHub Issues with the "enhancement" label
New to the technologies we use?
All contributors will be:
- Listed in our Contributors section
- Credited in release notes
- Part of a growing open-source community
Thank you for helping make language learning better for everyone! π
We appreciate all contributions to this project! π
Want to see your name here? Start contributing today!
This project is licensed under the Apache 2.0 License - see LICENSE file.
This means you can:
- β Use this software commercially
- β Modify and distribute
- β Use privately
- β Use patents (if any)
With the conditions:
- π Include original license and copyright
- π State significant changes made
- Hugging Face - AI model infrastructure
- FastAPI - Modern web framework
- Edge TTS - Natural speech synthesis
TyporaX-AI v8 - Where personality meets AI to unlock your language learning potential TyporaX-AI v8 - Where personality meets AI to unlock your language learning potential