JARVIS Assistant is a next-generation, voice-activated Personal AI companion built with Flutter. Designed with a "Sci-Fi First" philosophy, it combines state-of-the-art Large Language Models (LLMs) with a premium, immersive user interface featuring holographic aesthetics, reactive animations, and proactive intelligence.
Unlike standard chatbots, JARVIS possesses Long-Term Memory, Real-Time Web Access, and a Proactive Sentinel Mode that watches out for you even when the app is in the background.
The interface is designed to feel like a piece of advanced technology from the future.
- The JARVIS Orb: A central, living core that reacts to voice amplitude, pulses when thinking, and transforms based on the AI's state (Idle, Listening, Processing, Speaking).
- Holographic Aesthetics: Extensive use of Glassmorphism, neon gradients, and a dynamic Particle Field background that drifts endlessly.
- Neural HUD: A "Heads-Up Display" header showing real-time system status, inclusive of a "Neural Link" indicator and active Memory Node count.
- Immersive Feedback: Haptic feedback on interactions and distinct sound effects for activation, processing, and responses.
At the core is the JarvisBrainService, powered by Groq (Llama 3.3 70B), enabling lightning-fast inference and complex reasoning.
- Agentic Workflow: JARVIS doesn't just guess; he thinks. The UI visualizes his thought process phases:
Thinking→Searching Web→Accessing Memory→Synthesizing. - Memory Auditor: An autonomous sub-agent that verifies new information against existing long-term memory to prevent conflicts, deciding whether to Update, Correct, or Add data.
- Tool Use:
web_search: Fetches real-time data (Weather, News, Stock Prices).save_memory/search_memory: Interacts with the Supabase Vault to recall personal facts, preferences, and past conversations.
JARVIS isn't just reactive; he is Proactive.
- Background "Nudges": Utilizing
workmanagerandflutter_local_notifications, JARVIS performs background checks on your schedule, weather, and environment. - Contextual Awareness: "Sir, you have an outdoor meeting at 3 PM, but rain is forecast. I suggest taking an umbrella."
- Manual Diagnostics: Trigger a "Sentinel Check" manually to have JARVIS analyze your current situation immediately.
- Multilingual Support: Fluent in English, French, German, Spanish, and Hindi.
- Real-Time Transcription: sophisticated
speech_to_textintegration for seamless dictation. - Natural Voice: High-quality Text-to-Speech (TTS) response system.
JARVIS operates under a strict set of behavioral protocols to ensure stability and personality:
-
Sentinel Protocol: Background conflict detection (Weather vs. Schedule).
-
Auditor Protocol: Pre-save memory verification to prevent data contradictions.
-
Planning Protocol: Automatic decomposition of complex goals into multi-phase action plans.
-
Vocal Protocol: Natural language filtering to ensure the TTS sounds like a refined butler, not a machine.
- Local Context: Initial reasoning is processed via Groq's high-speed inference.
- Encrypted Vault: All personal memories are stored in a private Supabase instance with Row Level Security (RLS) enabled.
- Minimal Footprint: No audio data is stored; STT is processed in real-time and discarded.
| Component | Technology |
|---|---|
| Framework | Flutter (Dart) |
| AI Backend | Groq API (Llama 3.3 70B) |
| Database | Supabase (PostgreSQL) |
| State Management | Native setState & Streams |
| Animations | flutter_animate & Custom Painters |
| Voice | speech_to_text & flutter_tts |
| Background Tasks | workmanager |
| Notifications | flutter_local_notifications |
- Flutter SDK installed (v3.10+ recommended).
- Supabase Project set up with a
chat_messagesandjarvis_memorytable. - Groq API Key for LLM inference.
-
Clone the Repository
git clone https://github.com/your-username/jarvis-assistant.git cd jarvis-assistant -
Configure Environment Create a
.envfile in the root directory:GROQ_API_KEY=your_groq_api_key_here SUPABASE_URL=your_supabase_url_here SUPABASE_ANON_KEY=your_supabase_anon_key_here
-
Install Dependencies
flutter pub get
-
Run the App
flutter run
lib/
├── core/ # Configuration and Constants
├── models/ # Data Models (ChatMessage, etc.)
├── screens/ # UI Screens
│ ├── jarvis_home_screen.dart # Main HUD Interface
│ ├── jarvis_initialization_screen.dart # Boot-up Sequence
│ └── ...
├── services/ # Logic & API Layers
│ ├── jarvis_brain_service.dart # AI Core, Groq Integration, & Tools
│ ├── memory_service.dart # Supabase DB Interactions
│ └── vocal_service.dart # TTS & STT Handling
└── widgets/ # Reusable UI Components
└── jarvis_orb.dart # The animated AI Core
Built with ❤️ for the Future.