Atlas AI is a sophisticated AI assistant application built with Flutter, featuring native Arabic language support and advanced conversational capabilities. The application integrates multiple AI models and provides a seamless, cross-platform experience with modern UI design and robust performance optimizations.
- Groq Models: 10 different models including Llama 3.1, Mixtral, and Gemma
- GPTGod Service: 17 advanced models with GPT-4 support
- Tavily Search: Real-time web search integration
- Hugging Face: Access to open-source models
- Local AI: Offline model support
- Native Arabic Support: Full RTL layout and Arabic language processing
- Multi-language Interface: English and Arabic UI
- Localized Content: Context-aware responses in Arabic
- Material Design 3: Modern, responsive design system
- Dark/Light Mode: Dynamic theming with user preferences
- Cross-Platform: Consistent experience across all platforms
- Accessibility: Full accessibility support
- Fine-Tuning Advisor: Intelligent model training recommendations
- MCP Integration: Model Context Protocol for enhanced memory
- Voice Input: Speech-to-text functionality
- Chat Export: Multiple export formats (JSON, CSV, TXT)
- Performance Optimization: Advanced memory and resource management
- API Key Management: Secure key storage and management
- Local Data Storage: SQLite database with encryption
- Permission Management: Granular access controls
- Privacy-First: No data sent to external servers without consent
- Flutter SDK 3.8.1 or higher
- Dart SDK 3.8.1 or higher
- Android Studio / VS Code
- Git
-
Clone the repository
git clone https://github.com/msr7799/Atlas-AI.git cd Atlas-AI -
Install dependencies
flutter pub get
-
Configure environment variables
cp example_.env .env # Edit .env file with your API keys (optional - app includes default keys) -
Run the application
flutter run
| Platform | Status | Notes |
|---|---|---|
| Android | ✅ | Full support |
| iOS | ✅ | Full support |
| Windows | ✅ | Full support |
| Linux | ✅ | Full support |
| Web | ✅ | Limited features |
lib/
├── main.dart # Application entry point
├── core/ # Core business logic
│ ├── services/ # AI and platform services
│ ├── performance/ # Performance optimization
│ ├── theme/ # UI theming
│ └── utils/ # Utility functions
├── data/ # Data layer
│ ├── models/ # Data models
│ ├── repositories/ # Data repositories
│ └── datasources/ # Data sources
└── presentation/ # UI layer
├── pages/ # Application screens
├── widgets/ # Reusable UI components
└── providers/ # State management
The application comes with default API keys for immediate use. For production or heavy usage, configure your own keys:
- Copy
example_.envto.env - Add your API keys:
GROQ_API_KEY=your_groq_key GPTGOD_API_KEY=your_gptgod_key TAVILY_API_KEY=your_tavily_key
- Llama 3.1 8B - Fast, balanced model
- Llama 3.1 70B - High-quality responses
- Mixtral 8x7B - Excellent reasoning
- Gemma 9B - Efficient processing
- GPT-4 Turbo - Latest OpenAI model
- Claude 3 Opus - Anthropic's flagship
- Gemini Pro - Google's advanced model
- Launch the application
- Select your preferred AI model
- Start conversing in Arabic or English
- Tap the microphone button
- Speak your message
- The app will transcribe and process your speech
- Navigate to Model Training page
- Configure training parameters
- Upload your training data
- Monitor training progress
- Open chat drawer
- Select "Export Chat"
- Choose format (JSON/CSV/TXT)
- Save to device
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow Flutter/Dart best practices
- Maintain Arabic language support
- Write comprehensive tests
- Update documentation
- Ensure cross-platform compatibility
This project is licensed under the MIT License - see the LICENSE file for details.
Mohamed S AL-Romaihi
- 📧 Email: alromaihi2224@gmail.com
- 🌐 GitHub: GitHub Profile
If you encounter any issues or have suggestions for improvements:
📧 Email: alromaihi2224@gmail.com
Please include:
- Device/Platform information
- Steps to reproduce the issue
- Expected vs actual behavior
- Screenshots (if applicable)
- Flutter team for the amazing framework
- AI model providers (Groq, OpenAI, Anthropic)
- Open-source community contributors
- Arabic language processing community
Atlas AI - Empowering conversations with intelligent AI assistance
Built with ❤️ by Mohamed S AL-Romaihi
- Advanced animations and visual effects
- Dark and light mode support
- Interactive chat interface with file support
- Tavily API integration for smart search
- MCP system for advanced memory
- Specialized data analysis support
- Developer debug panel
- Full support for Android, iOS, Web, Linux, Windows, macOS
- Responsive for all screen sizes
- Optimized performance across platforms
# Flutter SDK
Flutter 3.8.1 or newer
Dart 3.8.1 or newer
# Additional tools
Git
Node.js (for MCP services)- Clone the project:
git clone https://github.com/Msr7799/Atlas-AI.git
cd Atlas-AI- Install dependencies:
flutter pub get- Set environment variables:
# Create .env file in root
cp .env.example .env
# Edit and add your API keys
GROQ_API_KEY=your_groq_api_key_here
TAVILY_API_KEY=your_tavily_api_key_here
TRAVILY_URL_API_PAIRED=your_mcp_endpoint_here
OPENROUTER_API_KEY=your_openrouter_api_key_here- Run the app:
# For Android/iOS
flutter run
# For Web
flutter run -d chrome
# For Desktop
flutter run -d linux # or windows or macoslib/
├── 🔧 core/ # Core logic
│ ├── config/ # App configuration
│ │ └── app_config.dart
│ ├── lifecycle/ # App lifecycle management
│ │ └── app_lifecycle_observer.dart
│ ├── monitoring/ # App monitoring
│ │ └── app_monitor.dart
│ ├── performance/ # Performance optimization
│ │ ├── app_optimizer.dart
│ │ ├── database_optimizer.dart
│ │ ├── image_optimizer.dart
│ │ ├── network_optimizer.dart
│ │ ├── performance_manager.dart
│ │ ├── performance_optimizer.dart
│ │ └── performance_report.dart
│ ├── services/ # Core services
│ │ ├── advanced_model_training_service.dart
│ │ ├── api_key_manager.dart
│ │ ├── base_ai_service.dart
│ │ ├── base_api_service.dart
│ │ ├── chat_export_service.dart
│ │ ├── enhanced_mcp_service.dart
│ │ ├── fine_tuning_advisor_service.dart
│ │ ├── gptgod_service.dart
│ │ ├── groq_service.dart
│ │ ├── huggingface_service.dart
│ │ ├── lazy_service_initializer.dart
│ │ ├── local_ai_service.dart
│ │ ├── mcp_service.dart
│ │ ├── openrouter_service.dart
│ │ ├── permissions_manager.dart
│ │ ├── prompt_enhancer_service.dart
│ │ ├── speech_service.dart
│ │ ├── tavily_service.dart
│ │ └── unified_ai_service.dart
│ ├── theme/ # Theme system
│ │ └── app_theme.dart
│ ├── utils/ # Utilities
│ │ ├── app_utils.dart
│ │ ├── asset_optimizer.dart
│ │ ├── logger.dart
│ │ ├── memory_manager.dart
│ │ ├── network_checker.dart
│ │ ├── performance_monitor.dart
│ │ └── responsive_helper.dart
│ └── widgets/ # Core widgets
│ └── optimized_widgets.dart
├── 💾 data/ # Data layer
│ ├── datasources/ # Data sources
│ │ ├── chat_history.db
│ │ └── database_helper.dart
│ ├── models/ # Data models
│ │ ├── message_model.dart
│ │ └── message_model.g.dart
│ └── repositories/ # Data repositories
│ └── chat_repository.dart
├── 🎨 presentation/ # Presentation layer
│ ├── constants/ # UI constants
│ │ └── ui_constants.dart
│ ├── pages/ # App pages
│ │ ├── advanced_model_training_page.dart
│ │ ├── api_settings_page.dart
│ │ ├── main_chat_page_enhanced.dart
│ │ └── splash_screen.dart
│ ├── providers/ # State providers
│ │ ├── chat_provider.dart
│ │ ├── chat_selection_provider.dart
│ │ ├── prompt_enhancer_provider.dart
│ │ ├── settings_provider.dart
│ │ ├── theme_provider.dart
│ │ └── training_provider.dart
│ └── widgets/ # UI components
│ ├── animated_suggestions_dropdown.dart
│ ├── api_debug_panel.dart
│ ├── attachment_preview.dart
│ ├── chat_app_bar.dart
│ ├── chat_drawer.dart
│ ├── chat_export_dialog.dart
│ ├── chat_floating_buttons.dart
│ ├── chat_input_widget.dart
│ ├── chat_message_list.dart
│ ├── chat_search_header.dart
│ ├── compact_message_bubble.dart
│ ├── debug_panel.dart
│ ├── enhanced/ # Enhanced widgets
│ │ ├── chat_app_bar.dart
│ │ ├── chat_input_area.dart
│ │ ├── chat_message_list.dart
│ │ └── chat_welcome_screen.dart
│ ├── language_selector_widget.dart
│ ├── message_bubble.dart
│ ├── models_info_dialog.dart
│ ├── prompt_enhancement_dialog.dart
│ ├── search_status_widget.dart
│ ├── settings/ # Settings widgets
│ │ ├── api_keys_section.dart
│ │ ├── compact_settings_dialog.dart
│ │ └── settings_sections.dart
│ ├── settings_dialog.dart
│ ├── thinking_process_widget.dart
│ ├── training/ # Training widgets
│ │ └── unified_training_widget.dart
│ └── voice_input_button.dart
└── main.dart # App entry point
- Flutter 3.8.1+ - Main framework
- Dart 3.8.1+ - Programming language
- Provider - State management
- Dio - Advanced HTTP requests
- Groq API - Advanced language models
- Tavily API - Smart search and extraction
- MCP Protocol - Model context protocol
- SQLite - Local database
- Shared Preferences - Settings storage
- File System - File management
- Material Design 3 - Design system
- Google Fonts - Diverse fonts
- Lottie - Animations
- Flutter Animate - Advanced effects
- Type your message in the text field
- Attach files if needed
- Press send for a smart reply
- Use special commands like
/helpfor assistance
/finetune [task type] - Start advanced training session
/analyze [file] - Analyze data for training
/optimize [params] - Optimize the model
- Change theme from settings (light/dark)
- Choose custom colors from palette
- Adjust font size and type
/search [query] - Smart web search
/crawl [url] - Extract website content
/extract [text] - Extract specific info
Get your API keys from:
- Groq Console - AI models
- Tavily API - Smart search
# Example Dockerfile
FROM cirrusci/flutter:stable
WORKDIR /app
COPY . .
RUN flutter pub get
RUN flutter build web
EXPOSE 8080
CMD ["flutter", "run", "-d", "web-server", "--web-port", "8080"]Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to your branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow the Dart Style Guide
- Write tests for new features
- Update documentation as needed
- Use clear variable names
# Run all tests
flutter test
# Tests with coverage report
flutter test --coverage
# Integration tests
flutter test integration_test/
# Code quality analysis
flutter analyze- Startup time: < 2 seconds
- Memory usage: < 100 MB
- App size:
- Android: ~25 MB
- iOS: ~30 MB
- Web: ~5 MB (compressed)
- Local data encryption
- Secure API keys
- No sensitive data stored
- HTTPS connections only
This project is licensed under the MIT License - see LICENSE for details.
- Flutter Team - Awesome framework
- Groq - Advanced AI models
- Tavily - Smart search service
- Material Design - Design system
- Developer: Mohamed S AL-Romaihi
- Email: alromaihi2224@gmail.com
- GitHub: @Msr7799
- Repository: Atlas-AI