Your Intelligent AI Assistant
A powerful, context-aware AI assistant built with Flutter that helps you with conversations, automation, reminders, notes, and much more - all running locally on your device.
- ๐ About
- โจ Features
- ๐ Getting Started
- ๐ฑ How to Use
- ๐ ๏ธ Installation
- ๐ Project Structure
- ๐ง Configuration
- ๐ค Contributing
- ๐ License
noha is an advanced AI assistant application built with Flutter that brings the power of intelligent conversation and automation to your mobile device. Inspired by the concept of a personal AI assistant, noha provides:
- Natural Language Processing - Understands and responds to your queries intelligently
- Voice Interaction - Speak to noha and receive voice responses
- Local Storage - All conversations, notes, and reminders stored locally on your device
- Automation - Execute commands and automate tasks
- Privacy First - No data leaves your device without your permission
- Speech-to-Text - Speak naturally and have your words converted to text
- Text-to-Speech - Receive responses in voice form
- Natural Conversations - Context-aware responses that remember previous messages
- Smart Responses - Intelligent answers to your questions
- Code Generation - Generate Flutter, Dart, and API code snippets
- Content Analysis - Analyze images, PDFs, and text files
- Internet Search - Search the web and summarize results
- Reminders - Set and manage reminders with notifications
- Notes - Create, edit, and organize notes
- Calculations - Perform quick calculations
- Weather Information - Get weather updates (API integration ready)
- Command Execution - Execute predefined commands with natural language
- App Launching - Open apps on your device
- URL Opening - Open websites and links directly
- Search Automation - Automated web searches
- Routine Automation - Create and execute automation routines
- Task Scheduling - Schedule tasks to run automatically
- Local Storage - All data stored securely on device
- Conversation History - Access past conversations anytime
- Export/Import - Backup and restore your data
- Clear History - Option to clear conversation history
- Dark Theme - Beautiful dark mode interface
- Smooth Animations - Fluid transitions and interactions
- Responsive Design - Works on phones, tablets, and web
- Accessibility - Voice output and large text support
Before you begin, ensure you have the following installed:
- Flutter SDK (3.9.0 or higher)
- Dart SDK (3.9.0 or higher)
- Android Studio / VS Code (for development)
- Android Emulator or Physical Device (for testing)
# Clone the repository
git clone https://github.com/yourusername/noha.git
cd noha
# Install dependencies
flutter pub get
# Run the app
flutter run- Open the App - Launch noha from your home screen
- Type or Speak - Enter your message in the text field or tap the microphone
- Get Response - noha will respond intelligently to your query
- Continue Chat - Keep the conversation going naturally
Tap the microphone button and say commands like:
| Command | Description |
|---|---|
| "Search for Flutter tutorials" | Search the web |
| "Remind me to call mom at 5 PM" | Set a reminder |
| "Create note: Meeting notes" | Create a note |
| "Open YouTube" | Launch an app |
| "Calculate 25 * 4" | Perform calculation |
| "What's the weather?" | Get weather info |
Use the quick action buttons for common tasks:
- ๐ค Voice - Start voice input
- ๐ Search - Quick web search
- ๐ Note - Create a new note
- โฐ Reminder - Set a new reminder
- Tap the menu (โฎ) in the top-right
- Select "Reminders"
- View, complete, or delete reminders
- Tap the menu (โฎ) in the top-right
- Select "Notes"
- View, edit, or delete notes
- Tap the menu (โฎ) in the top-right
- Select "Clear History"
- Confirm to clear all conversations
# Build APK
flutter build apk --release
# Build App Bundle (for Play Store)
flutter build appbundle --release# Build IPA
flutter build ios --release# Build for web
flutter build weblib/
โโโ main.dart # App entry point
โโโ models/ # Data models
โ โโโ command.dart # Command structure
โ โโโ message.dart # Message structure
โ โโโ note.dart # Note structure
โ โโโ reminder.dart # Reminder structure
โโโ providers/ # State management
โ โโโ jarvis_provider.dart # Main app provider
โโโ services/ # Business logic
โ โโโ analysis_service.dart # Content analysis
โ โโโ coding_service.dart # Code generation
โ โโโ command_service.dart # Command execution
โ โโโ note_service.dart # Note management
โ โโโ reminder_service.dart # Reminder management
โ โโโ search_service.dart # Web search
โ โโโ speech_service.dart # Voice I/O
โ โโโ storage_service.dart # Local storage
โโโ ui/ # User interface
โโโ chat_screen.dart # Main chat interface
โโโ theme.dart # App theme
The app requires the following permissions:
| Permission | Purpose |
|---|---|
RECORD_AUDIO |
Voice input |
INTERNET |
Web search and API calls |
VIBRATE |
Reminder notifications |
Edit lib/ui/theme.dart to customize colors:
class NohaTheme {
static const Color primaryBlue = Color(0xFF00A8FF); // Primary color
static const Color accentCyan = Color(0xFF00D2D3); // Accent color
static const Color darkBackground = Color(0xFF0F0F1A); // Background
// ... more colors
}Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow Flutter style guidelines
- Write tests for new features
- Update documentation as needed
- Keep code clean and readable
This project is licensed under the MIT License - see the LICENSE file for details.
- Flutter team for the amazing framework
- All open-source contributors
- The Flutter community for support and resources
# Nohaai-2