# abuzar-ansarii/jarvis architecture

> Architecture diagram of the GitHub repository abuzar-ansarii/jarvis, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-14). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/abuzar-ansarii/jarvis
- Repository: https://github.com/abuzar-ansarii/jarvis

## Overview

J.A.R.V.I.S. is a Flutter Android assistant whose main operator workflow turns a user request into AI-planned actions, executes them through Android accessibility, and reports through the HUD or voice. The graph also preserves documented voice, self-evolution, inbox, sensing, hologram, and privacy capabilities. Native links and the README’s architecture are evidenced; many Dart implementations were not sampled, so their internal calls are omitted.

Main entry points: [`lib/services/jarvis_service.dart`](https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/jarvis_service.dart) (Assistant Controller), [`android/app/src/main/kotlin/com/privateagent/private_agent/AgentAccessibilityService.kt`](https://github.com/abuzar-ansarii/jarvis/blob/master/android/app/src/main/kotlin/com/privateagent/private_agent/AgentAccessibilityService.kt) (Accessibility Automation), [`android/app/src/main/kotlin/com/privateagent/private_agent/MainActivity.kt`](https://github.com/abuzar-ansarii/jarvis/blob/master/android/app/src/main/kotlin/com/privateagent/private_agent/MainActivity.kt) (Native Method Channels), [`lib/services/task_executor.dart`](https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/task_executor.dart) (Task Executor)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Flutter Interface"]
  node_hud["Hologram HUD<br/>[home_screen.dart]"]
  node_chat["Chat View<br/>[chat_bubble.dart]"]
  node_overlay["Floating Overlay<br/>[overlay_app.dart]"]
  node_dialogs["Feature Dialogs"]
end

subgraph group_core["Assistant Core"]
  node_jarvis["Assistant Controller"]
  node_ai["AI and Intent Router<br/>[ai_service.dart]"]
  node_llm{{"Configured LLM Backend"}}
end

subgraph group_automation["Automation and Memory"]
  node_executor["Task Executor<br/>[task_executor.dart]"]
  node_workflow["Workflow Automation"]
  node_macro["Learned Macro Skills"]
  node_hermes["Hermes Evolution"]
  node_memory[("Conversational Memory")]
end

subgraph group_android["Android Platform"]
  node_native["Native Method Channels<br/>[MainActivity.kt]"]
  node_accessibility["Accessibility Automation"]
  node_notifications["Notification Capture"]
end

subgraph group_capabilities["Assistant Capabilities"]
  node_voice["Voice and TTS<br/>[voice_service.dart]"]
  node_inbox["Inbox Triage<br/>[inbox_service.dart]"]
  node_vision["Vision Perception"]
  node_sensors["Sensors and Sentry"]
end

node_user(("Operator"))
node_environment(("Device and App Environment"))

node_user -->|"interacts with"| node_hud
node_hud -->|"controls"| node_jarvis
node_chat -->|"sends requests"| node_ai
node_overlay -->|"controls tasks"| node_executor
node_dialogs -->|"invokes"| node_jarvis
node_jarvis -->|"routes intents"| node_ai
node_jarvis -->|"dispatches tasks"| node_executor
node_jarvis -->|"speaks through"| node_voice
node_jarvis -->|"invokes evolution"| node_hermes
node_ai -->|"requests inference"| node_llm
node_executor -->|"executes via"| node_accessibility
node_accessibility -->|"inspects and acts"| node_environment
node_workflow -.->|"automates apps"| node_accessibility
node_macro -->|"records interactions"| node_accessibility
node_hermes -->|"synchronizes facts"| node_memory
node_native -->|"dispatches calls"| node_accessibility
node_native -->|"accesses service"| node_notifications
node_native -->|"reads device signals"| node_environment
node_notifications -.->|"provides notifications"| node_inbox
node_inbox -.->|"supports triage"| node_jarvis
node_vision -.->|"supports screen understanding"| node_executor
node_sensors -.->|"receives sensor events"| node_native

click node_hud "https://github.com/abuzar-ansarii/jarvis/blob/master/lib/screens/home/home_screen.dart"
click node_chat "https://github.com/abuzar-ansarii/jarvis/blob/master/lib/widgets/chat_bubble.dart"
click node_overlay "https://github.com/abuzar-ansarii/jarvis/blob/master/lib/overlay/overlay_app.dart"
click node_dialogs "https://github.com/abuzar-ansarii/jarvis/tree/master/lib/widgets"
click node_jarvis "https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/jarvis_service.dart"
click node_ai "https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/ai_service.dart"
click node_executor "https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/task_executor.dart"
click node_workflow "https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/workflow_service.dart"
click node_macro "https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/macro_recorder_service.dart"
click node_hermes "https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/hermes_evolution_service.dart"
click node_memory "https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/conversational_memory_service.dart"
click node_voice "https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/voice_service.dart"
click node_inbox "https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/inbox_service.dart"
click node_vision "https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/vision_perception_service.dart"
click node_sensors "https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/sentry_service.dart"
click node_native "https://github.com/abuzar-ansarii/jarvis/blob/master/android/app/src/main/kotlin/com/privateagent/private_agent/MainActivity.kt"
click node_accessibility "https://github.com/abuzar-ansarii/jarvis/blob/master/android/app/src/main/kotlin/com/privateagent/private_agent/AgentAccessibilityService.kt"
click node_notifications "https://github.com/abuzar-ansarii/jarvis/blob/master/android/app/src/main/kotlin/com/privateagent/private_agent/InboxNotificationListenerService.kt"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_hud,node_chat,node_overlay,node_dialogs toneBlue
class node_jarvis,node_ai,node_llm toneAmber
class node_executor,node_workflow,node_macro,node_hermes,node_memory toneMint
class node_native,node_accessibility,node_notifications toneRose
class node_voice,node_inbox,node_vision,node_sensors,node_user,node_environment toneIndigo
```

## Components

### Flutter Interface

- [Hologram HUD](https://github.com/abuzar-ansarii/jarvis/blob/master/lib/screens/home/home_screen.dart): `lib/screens/home/home_screen.dart`
- [Chat View](https://github.com/abuzar-ansarii/jarvis/blob/master/lib/widgets/chat_bubble.dart): `lib/widgets/chat_bubble.dart`
- [Floating Overlay](https://github.com/abuzar-ansarii/jarvis/blob/master/lib/overlay/overlay_app.dart): `lib/overlay/overlay_app.dart`
- [Feature Dialogs](https://github.com/abuzar-ansarii/jarvis/tree/master/lib/widgets): `lib/widgets`

### Assistant Core

- [Assistant Controller](https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/jarvis_service.dart): `lib/services/jarvis_service.dart`
- [AI and Intent Router](https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/ai_service.dart): `lib/services/ai_service.dart`
- **Configured LLM Backend**

### Automation and Memory

- [Task Executor](https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/task_executor.dart): `lib/services/task_executor.dart`
- [Workflow Automation](https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/workflow_service.dart): `lib/services/workflow_service.dart`
- [Learned Macro Skills](https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/macro_recorder_service.dart): `lib/services/macro_recorder_service.dart`
- [Hermes Evolution](https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/hermes_evolution_service.dart): `lib/services/hermes_evolution_service.dart`
- [Conversational Memory](https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/conversational_memory_service.dart): `lib/services/conversational_memory_service.dart`

### Android Platform

- [Native Method Channels](https://github.com/abuzar-ansarii/jarvis/blob/master/android/app/src/main/kotlin/com/privateagent/private_agent/MainActivity.kt): `android/app/src/main/kotlin/com/privateagent/private_agent/MainActivity.kt`
- [Accessibility Automation](https://github.com/abuzar-ansarii/jarvis/blob/master/android/app/src/main/kotlin/com/privateagent/private_agent/AgentAccessibilityService.kt): `android/app/src/main/kotlin/com/privateagent/private_agent/AgentAccessibilityService.kt`
- [Notification Capture](https://github.com/abuzar-ansarii/jarvis/blob/master/android/app/src/main/kotlin/com/privateagent/private_agent/InboxNotificationListenerService.kt): `android/app/src/main/kotlin/com/privateagent/private_agent/InboxNotificationListenerService.kt`

### Assistant Capabilities

- [Voice and TTS](https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/voice_service.dart): `lib/services/voice_service.dart`
- [Inbox Triage](https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/inbox_service.dart): `lib/services/inbox_service.dart`
- [Vision Perception](https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/vision_perception_service.dart): `lib/services/vision_perception_service.dart`
- [Sensors and Sentry](https://github.com/abuzar-ansarii/jarvis/blob/master/lib/services/sentry_service.dart): `lib/services/sentry_service.dart`

### Other components

- **Operator**
- **Device and App Environment**

## Connections

- Operator → Hologram HUD: interacts with (evidence: `README.md`)
- Hologram HUD → Assistant Controller: controls (evidence: `README.md`)
- Chat View → AI and Intent Router: sends requests (evidence: `README.md`)
- Floating Overlay → Task Executor: controls tasks (evidence: `README.md`)
- Feature Dialogs → Assistant Controller: invokes (evidence: `README.md`)
- Assistant Controller → AI and Intent Router: routes intents (evidence: `README.md`)
- Assistant Controller → Task Executor: dispatches tasks (evidence: `README.md`)
- Assistant Controller → Voice and TTS: speaks through (evidence: `README.md`)
- Assistant Controller → Hermes Evolution: invokes evolution (evidence: `README.md`)
- AI and Intent Router → Configured LLM Backend: requests inference (evidence: `README.md`)
- Task Executor → Accessibility Automation: executes via (evidence: `README.md`)
- Accessibility Automation → Device and App Environment: inspects and acts (evidence: `README.md`)
- Workflow Automation → Accessibility Automation: automates apps
- Learned Macro Skills → Accessibility Automation: records interactions (evidence: `README.md`)
- Hermes Evolution → Conversational Memory: synchronizes facts (evidence: `README.md`)
- Native Method Channels → Accessibility Automation: dispatches calls (evidence: `android/app/src/main/kotlin/com/privateagent/private_agent/MainActivity.kt`)
- Native Method Channels → Notification Capture: accesses service (evidence: `android/app/src/main/kotlin/com/privateagent/private_agent/MainActivity.kt`)
- Native Method Channels → Device and App Environment: reads device signals (evidence: `README.md`)
- Notification Capture → Inbox Triage: provides notifications
- Inbox Triage → Assistant Controller: supports triage
- Vision Perception → Task Executor: supports screen understanding
- Sensors and Sentry → Native Method Channels: receives sensor events
