An AI-powered language learning platform with comprehensive features for immersive language education. Built with React, featuring real-time conversation practice, interactive exercises, cultural insights, and advanced progress tracking.
- Text-to-Speech: Hear native pronunciation for all tutor messages
- Speech Recognition: Practice speaking with voice input
- Auto-play Audio: Automatic playback for conversation practice
- Multi-language Support: Native voice synthesis for 10+ languages
- Flashcards: Spaced repetition system for vocabulary retention
- Fill-in-the-Blank: Grammar and vocabulary practice
- Multiple Choice: Quick comprehension quizzes
- Intelligent Difficulty: Exercises adapt to your level
- Auto-save Progress: All conversations and progress saved locally
- Export/Import: Backup your learning data
- Cross-session Continuity: Pick up where you left off
- Vocabulary Tracking: Automatic word collection
- Grammar Library: Comprehensive grammar explanations with examples
- Cultural Insights: Learn about customs, traditions, and etiquette
- Conversation Scenarios: Practice real-world situations (restaurant, travel, shopping)
- Adaptive Difficulty: Content adjusts to your proficiency level
- Dark Mode: Eye-friendly theme for any time of day
- Mobile Responsive: Seamless experience on all devices
- Customizable Themes: 5 beautiful color schemes
- Keyboard Shortcuts: Quick access to all features
Ctrl+Enter: Send messageCtrl+K: Open exercisesCtrl+G: Open grammar libraryCtrl+M: Toggle microphoneCtrl+D: Toggle dark mode
- Progress Charts: Visualize vocabulary growth and accuracy
- Streak Tracking: Maintain your learning momentum
- Achievement System: 10+ achievements to unlock
- Proficiency Detection: Automatic level assessment
- Weekly/Monthly Reports: Track your improvement over time
- ๐ช๐ธ Spanish (Espaรฑol)
- ๐ซ๐ท French (Franรงais)
- ๐ฉ๐ช German (Deutsch)
- ๐ฏ๐ต Japanese (ๆฅๆฌ่ช)
- ๐ฎ๐น Italian (Italiano)
- ๐ต๐น Portuguese (Portuguรชs)
- ๐จ๐ณ Chinese (ไธญๆ)
- ๐ฐ๐ท Korean (ํ๊ตญ์ด)
- ๐ช๐น Afaan Oromo (Afaan Oromoo)
- ๐ช๐น Amharic (แ แแญแ)
- Node.js 16+ and npm/yarn
- Modern web browser with speech synthesis support
- Anthropic API key (for AI tutor functionality)
- Clone the repository:
git clone https://github.com/OliTamrat/Afaan.git
cd Afaan- Install dependencies:
npm install- Start the development server:
npm run dev- Open your browser and navigate to
http://localhost:3000
npm run buildThe optimized production build will be in the dist folder.
- Select your target language from the dropdown
- Type your message or use the microphone button for voice input
- Press Enter or click Send to get a response from your AI tutor
- Click the speaker icon on any message to hear it pronounced
- Click any exercise button in the sidebar (Flashcards, Fill Blanks, etc.)
- Complete the exercise and receive instant feedback
- Track your progress in the sidebar
- Click the Grammar button to access comprehensive grammar explanations
- Browse Cultural Insights to learn about customs and traditions
- Practice with pre-built conversation scenarios
- View your vocabulary count, accuracy, and message count in the sidebar
- Monitor your learning streak to stay motivated
- Unlock achievements as you progress
- Export your data anytime for backup
- Frontend Framework: React 18.2
- Build Tool: Vite
- Styling: Tailwind CSS
- Charts: Recharts
- Icons: Lucide React
- AI: Claude API (Anthropic)
- Storage: Browser LocalStorage
Afaan/
โโโ src/
โ โโโ components/ # React components (future modularization)
โ โโโ data/ # Language data, exercises, achievements
โ โ โโโ languageData.js
โ โ โโโ exercises.js
โ โโโ utils/ # Utility functions
โ โ โโโ storage.js # LocalStorage management
โ โ โโโ audio.js # Audio/speech features
โ โโโ App.jsx # Main application component
โ โโโ main.jsx # React entry point
โ โโโ index.css # Global styles
โโโ public/ # Static assets
โโโ index.html # HTML entry point
โโโ package.json # Dependencies and scripts
โโโ vite.config.js # Vite configuration
โโโ tailwind.config.js # Tailwind configuration
โโโ README.md # This file
The platform automatically generates personalized learning goals based on:
- Your current proficiency level
- Selected language
- Progress and performance
- Areas needing improvement
Unlock achievements by:
- Sending your first message
- Maintaining learning streaks
- Completing exercises
- Building vocabulary
- Exploring multiple languages
- All data is stored locally in your browser
- No personal information is sent to external servers (except AI API calls)
- Export your data at any time
- Clear all data easily from settings
- Video lessons and tutorials
- Multiplayer conversation practice
- Native speaker recordings
- Advanced AI conversation modes
- Community features
- Mobile apps (iOS/Android)
- More languages and dialects
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Oli Tamrat
- GitHub: @OliTamrat
- Claude AI by Anthropic for natural language tutoring
- The open-source community for amazing tools and libraries
- Language learners worldwide for inspiration
For questions, suggestions, or issues:
- Open an issue on GitHub
- Email: [Your email]
- Twitter: [@YourHandle]
Happy Learning! ๐โจ
Remember: Consistency is key to language mastery. Practice a little every day!