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