A beautiful, gamified Flutter app for learning AI and Data Science from beginner to advanced levels. Built with a Duolingo-inspired UI and powered by AI-generated content.
Click here to watch the full video on YouTube โ
- Beginner to Expert: Progressive learning modules from Python basics to advanced Deep Learning
- Multiple Topics: Python, Pandas, NumPy, Matplotlib, Scikit-Learn, PyTorch, FastAPI, Statistics, NLP, and more
- AI-Generated Content: Lessons, code examples, and quizzes generated by local LLMs
- Interactive Lessons: Code examples, explanations, quizzes, and hands-on projects
- XP System: Earn experience points for completing lessons and achieving milestones
- Level Progression: Advance through levels as you learn
- Streak Tracking: Maintain daily learning streaks with fire indicators ๐ฅ
- Achievements: Unlock badges for reaching milestones
- Daily Goals: Set and track daily XP targets
- Duolingo-Inspired: Clean, modern, and addictive interface
- Smooth Animations: Delightful micro-interactions using
flutter_animate - Progress Visualization: Clear progress bars, charts, and stats
- Dark/Light Themes: Comfortable learning at any time of day
- Responsive Design: Optimized for all iOS devices
- Variables, Data Types, Operators
- Lists, Dictionaries, Sets
- Functions and Modules
- File I/O and Exception Handling
- Pandas: DataFrames, Data Cleaning, Aggregation
- NumPy: Arrays, Mathematical Operations
- Matplotlib: Data Visualization
- Seaborn: Statistical Plots
- Scikit-Learn: Classification, Regression, Clustering
- Model Evaluation: Metrics, Cross-Validation
- Feature Engineering: Preprocessing, Selection
- PyTorch: Tensors, Neural Networks, Training
- CNN: Image Classification
- RNN/LSTM: Sequence Models
- Transfer Learning: Pre-trained Models
- Descriptive Statistics
- Probability Distributions
- Hypothesis Testing
- Statsmodels: Statistical Modeling
- FastAPI: Building ML APIs
- Model Deployment
- MLOps Best Practices
- Text Preprocessing
- Word Embeddings
- Transformers
- Sentiment Analysis
- Framework: Flutter 3.0+
- State Management: Riverpod
- Local Storage: Hive + SharedPreferences
- AI Integration: Local LLM (Ollama) for content generation
- Animations: flutter_animate
- Code Highlighting: flutter_highlighting
- Charts: fl_chart
- Notifications: flutter_local_notifications
lib/
โโโ main.dart # App entry point
โโโ models/ # Data models
โ โโโ user_progress.dart # User stats & progress
โ โโโ lesson.dart # Lesson structure
โ โโโ learning_module.dart # Module structure
โ โโโ achievement.dart # Achievement system
โโโ providers/ # Riverpod state providers
โ โโโ user_progress_provider.dart
โโโ screens/ # UI screens
โ โโโ splash_screen.dart
โ โโโ onboarding_screen.dart
โ โโโ home_screen.dart
โ โโโ learning_path_screen.dart
โ โโโ lesson_screen.dart
โ โโโ profile_screen.dart
โ โโโ achievements_screen.dart
โโโ widgets/ # Reusable components
โ โโโ stat_card.dart
โ โโโ streak_widget.dart
โ โโโ daily_goal_widget.dart
โ โโโ module_card.dart
โโโ services/ # Business logic
โ โโโ ai_content_service.dart # AI content generation
โ โโโ storage_service.dart # Local storage
โ โโโ notification_service.dart # Push notifications
โโโ data/ # Static data
โ โโโ learning_content.dart # Pre-generated content
โโโ utils/ # Utilities
โโโ app_theme.dart # Theme configuration
- Flutter SDK 3.0 or higher
- Xcode 14+ (for iOS)
- Cocoapods
- Ollama (optional, for AI content generation)
- Clone the repository
git clone <repository-url>
cd learn-ai-data-science- Install dependencies
flutter pub get- Generate code (for Hive and Riverpod)
flutter pub run build_runner build --delete-conflicting-outputs- Run the app
# For iOS
flutter run -d ios
# For iOS Simulator
flutter run -d "iPhone 14 Pro"To enable AI-generated content:
- Install Ollama
# macOS
brew install ollama
# Or download from https://ollama.ai- Start Ollama server
ollama serve- Pull a model
# Recommended models:
ollama pull llama3.2 # Balanced performance
ollama pull phi3 # Faster, lightweight
ollama pull mistral # High quality- Configure the app
The app will automatically connect to
http://localhost:11434for content generation.
- Onboarding: Swipe through the feature introduction
- Set Daily Goal: Choose your daily XP target (default: 50 XP)
- Start Learning: Pick your first module!
- Choose a Module: Browse topics from Python basics to advanced ML
- Complete Lessons: Read tutorials, write code, take quizzes
- Earn XP: Gain experience points for each completed lesson
- Track Progress: Monitor your streak, level, and achievements
- Daily Practice: Return daily to maintain your streak!
- Tutorial lessons: 20-60 XP
- Practice exercises: 15-45 XP
- Quizzes: 25-75 XP
- Projects: 50-150 XP
- Difficulty multipliers apply
- Level up every 100 XP
- Unlock new modules and features
- Show off your progress
- Learn every day to build streaks
- Get notified to maintain your streak
- Earn bonus XP for milestone streaks
- First Lesson: Complete your first lesson
- Week Warrior: 7-day streak
- Monthly Master: 30-day streak
- Python Expert: Master Python fundamentals
- XP Champion: Earn 1000 total XP
- And many more!
Edit lib/utils/app_theme.dart to customize:
- Primary colors
- Text styles
- Component styles
- Gradients
Add custom lessons in lib/data/learning_content.dart or use the AI service to generate new content.
Users can customize their daily XP goals in the Profile screen.
# Run all tests
flutter test
# Run with coverage
flutter test --coverage
# Integration tests
flutter drive --target=test_driver/app.dart-
Update version in
pubspec.yaml -
Build for release
flutter build ios --release- Archive in Xcode
- Open
ios/Runner.xcworkspacein Xcode - Product > Archive
- Distribute to App Store
- Full lesson viewer with interactive code execution
- Voice-over support for lessons
- More achievement types
- Social features (share progress)
- Practice playground with Python interpreter
- Video lessons
- Community challenges
- Leaderboards
- Android support
- Offline AI models
- Custom learning paths
- Spaced repetition system
- Real-time code collaboration
- Mentorship system
- Certificate generation
- Job board integration
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
Created with โค๏ธ by Pierre-Henry Soria
- GitHub: @pH-7
- LinkedIn: Pierre-Henry Soria
- Website: pH7.me
This project is licensed under the MIT License - see the LICENSE file for details.
Happy Learning! ๐๐
Made with Flutter ๐ and AI ๐ค
