# flowshift-in/iris-x architecture

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

- Interactive diagram: https://gitdiagram.com/flowshift-in/iris-x
- Repository: https://github.com/flowshift-in/iris-x

## Overview

IRIS-MX is presented as a voice-first mobile assistant: spoken commands stream bidirectionally to Gemini Live, which recognizes intent and asks the mobile execution engine to perform device actions. The repository also contains a React Native dashboard, native audio/ML engines, and backend voice services. README statements support the principal workflow and device capabilities; source excerpts support the dashboard composition and native C++ processing. Backend and several native integrations are represented at directory level because their implementation was not sampled.

Main entry points: [`app/(tabs)/index.tsx`](https://github.com/flowshift-in/iris-x/blob/main/app/(tabs)/index.tsx) (Assistant dashboard), [`services/voice_gateway/main.go`](https://github.com/flowshift-in/iris-x/blob/main/services/voice_gateway/main.go) (Voice gateway), [`android/app/src/main/java/com/x201harsh/IRISMX/core/IrisNativeEngine.kt`](https://github.com/flowshift-in/iris-x/blob/main/android/app/src/main/java/com/x201harsh/IRISMX/core/IrisNativeEngine.kt) (Mobile execution engine), [`components/IrisNativeVisualizer.tsx`](https://github.com/flowshift-in/iris-x/blob/main/components/IrisNativeVisualizer.tsx) (Native visualizer)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_mobile["Mobile experience"]
  node_dashboard["Assistant dashboard<br/>[index.tsx]"]
  node_orb["Voice orb"]
  node_voice_ui["Voice interface<br/>[VoiceNode.tsx]"]
  node_biometric_ui["Biometric panel"]
  node_visualizer["Native visualizer"]
  node_matrix_view["Matrix view"]
end

subgraph group_audio["Audio and inference"]
  node_audio_capture["Audio capture"]
  node_native_engine["Native audio engine"]
  node_rust_engine["Rust speech core<br/>[lib.rs]"]
  node_beam_decoder["Beam decoder<br/>[beam_search.rs]"]
end

subgraph group_backend["Voice services"]
  node_gateway["Voice gateway<br/>[main.go]"]
  node_sessions[("Session manager<br/>[session.go]")]
  node_stt["Speech recognition<br/>[stt_service.go]"]
  node_tts["Speech synthesis<br/>[tts_service.go]"]
  node_auth["Authentication<br/>[auth.go]"]
end

subgraph group_device["Device capabilities"]
  node_device_engine["Mobile execution engine"]
  node_device_actions["Phone actions"]
  node_security["Voice security"]
end

node_user(("User"))
node_gemini{{"Gemini Live"}}

node_user -->|"speaks to"| node_gemini
node_gemini -->|"routes intent"| node_device_engine
node_device_engine -->|"executes on"| node_device_actions
node_user -.->|"uses"| node_dashboard
node_dashboard -->|"renders"| node_orb
node_dashboard -->|"renders"| node_voice_ui
node_dashboard -->|"renders"| node_biometric_ui
node_dashboard -->|"renders"| node_visualizer
node_visualizer -.->|"may use"| node_matrix_view
node_audio_capture -->|"streams audio"| node_gemini
node_native_engine -.->|"supports processing"| node_device_engine
node_gateway -.->|"manages sessions"| node_sessions
node_gateway -.->|"transcribes"| node_stt
node_gateway -.->|"synthesizes"| node_tts
node_gateway -.->|"authenticates"| node_auth
node_rust_engine -->|"exports module"| node_beam_decoder
node_device_engine -.->|"uses voice security"| node_security

click node_dashboard "https://github.com/flowshift-in/iris-x/blob/main/app/(tabs)/index.tsx"
click node_orb "https://github.com/flowshift-in/iris-x/blob/main/components/IrisHolographicOrb.tsx"
click node_voice_ui "https://github.com/flowshift-in/iris-x/blob/main/components/VoiceNode.tsx"
click node_biometric_ui "https://github.com/flowshift-in/iris-x/blob/main/components/IrisBiometricScanner.tsx"
click node_visualizer "https://github.com/flowshift-in/iris-x/blob/main/components/IrisNativeVisualizer.tsx"
click node_matrix_view "https://github.com/flowshift-in/iris-x/blob/main/android/app/src/main/java/com/x201harsh/IRISMX/ui/views/IrisNativeHolographicMatrixView.kt"
click node_audio_capture "https://github.com/flowshift-in/iris-x/blob/main/android/app/src/main/java/com/x201harsh/IRISMX/audio/IrisAudioRecorderEngine.kt"
click node_native_engine "https://github.com/flowshift-in/iris-x/blob/main/android/app/src/main/cpp/iris_core_engine.cpp"
click node_rust_engine "https://github.com/flowshift-in/iris-x/blob/main/core_engine/src/lib.rs"
click node_beam_decoder "https://github.com/flowshift-in/iris-x/blob/main/core_engine/src/beam_search.rs"
click node_gateway "https://github.com/flowshift-in/iris-x/blob/main/services/voice_gateway/main.go"
click node_sessions "https://github.com/flowshift-in/iris-x/blob/main/services/session_manager/session.go"
click node_stt "https://github.com/flowshift-in/iris-x/blob/main/services/speech_to_text/stt_service.go"
click node_tts "https://github.com/flowshift-in/iris-x/blob/main/services/text_to_speech/tts_service.go"
click node_auth "https://github.com/flowshift-in/iris-x/blob/main/services/auth_server/auth.go"
click node_device_engine "https://github.com/flowshift-in/iris-x/blob/main/android/app/src/main/java/com/x201harsh/IRISMX/core/IrisNativeEngine.kt"
click node_device_actions "https://github.com/flowshift-in/iris-x/tree/main/android/app/src/main/java/com/x201harsh/IRISMX"
click node_security "https://github.com/flowshift-in/iris-x/tree/main/android/app/src/main/java/com/x201harsh/IRISMX/security"

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_dashboard,node_orb,node_voice_ui,node_biometric_ui,node_visualizer,node_matrix_view,node_user toneBlue
class node_audio_capture,node_native_engine,node_rust_engine,node_beam_decoder toneAmber
class node_gateway,node_sessions,node_stt,node_tts,node_auth toneMint
class node_device_engine,node_device_actions,node_security toneRose
class node_gemini toneIndigo
```

## Components

### Mobile experience

- [Assistant dashboard](https://github.com/flowshift-in/iris-x/blob/main/app/(tabs)/index.tsx): `app/(tabs)/index.tsx`
- [Voice orb](https://github.com/flowshift-in/iris-x/blob/main/components/IrisHolographicOrb.tsx): `components/IrisHolographicOrb.tsx`
- [Voice interface](https://github.com/flowshift-in/iris-x/blob/main/components/VoiceNode.tsx): `components/VoiceNode.tsx`
- [Biometric panel](https://github.com/flowshift-in/iris-x/blob/main/components/IrisBiometricScanner.tsx): `components/IrisBiometricScanner.tsx`
- [Native visualizer](https://github.com/flowshift-in/iris-x/blob/main/components/IrisNativeVisualizer.tsx): `components/IrisNativeVisualizer.tsx`
- [Matrix view](https://github.com/flowshift-in/iris-x/blob/main/android/app/src/main/java/com/x201harsh/IRISMX/ui/views/IrisNativeHolographicMatrixView.kt): `android/app/src/main/java/com/x201harsh/IRISMX/ui/views/IrisNativeHolographicMatrixView.kt`

### Audio and inference

- [Audio capture](https://github.com/flowshift-in/iris-x/blob/main/android/app/src/main/java/com/x201harsh/IRISMX/audio/IrisAudioRecorderEngine.kt): `android/app/src/main/java/com/x201harsh/IRISMX/audio/IrisAudioRecorderEngine.kt`
- [Native audio engine](https://github.com/flowshift-in/iris-x/blob/main/android/app/src/main/cpp/iris_core_engine.cpp): `android/app/src/main/cpp/iris_core_engine.cpp`
- [Rust speech core](https://github.com/flowshift-in/iris-x/blob/main/core_engine/src/lib.rs): `core_engine/src/lib.rs`
- [Beam decoder](https://github.com/flowshift-in/iris-x/blob/main/core_engine/src/beam_search.rs): `core_engine/src/beam_search.rs`

### Voice services

- [Voice gateway](https://github.com/flowshift-in/iris-x/blob/main/services/voice_gateway/main.go): `services/voice_gateway/main.go`
- [Session manager](https://github.com/flowshift-in/iris-x/blob/main/services/session_manager/session.go): `services/session_manager/session.go`
- [Speech recognition](https://github.com/flowshift-in/iris-x/blob/main/services/speech_to_text/stt_service.go): `services/speech_to_text/stt_service.go`
- [Speech synthesis](https://github.com/flowshift-in/iris-x/blob/main/services/text_to_speech/tts_service.go): `services/text_to_speech/tts_service.go`
- [Authentication](https://github.com/flowshift-in/iris-x/blob/main/services/auth_server/auth.go): `services/auth_server/auth.go`

### Device capabilities

- [Mobile execution engine](https://github.com/flowshift-in/iris-x/blob/main/android/app/src/main/java/com/x201harsh/IRISMX/core/IrisNativeEngine.kt): `android/app/src/main/java/com/x201harsh/IRISMX/core/IrisNativeEngine.kt`
- [Phone actions](https://github.com/flowshift-in/iris-x/tree/main/android/app/src/main/java/com/x201harsh/IRISMX): `android/app/src/main/java/com/x201harsh/IRISMX`
- [Voice security](https://github.com/flowshift-in/iris-x/tree/main/android/app/src/main/java/com/x201harsh/IRISMX/security): `android/app/src/main/java/com/x201harsh/IRISMX/security`

### Other components

- **User**
- **Gemini Live**

## Connections

- User → Gemini Live: speaks to (evidence: `README.md`)
- Gemini Live → Mobile execution engine: routes intent (evidence: `README.md`)
- Mobile execution engine → Phone actions: executes on (evidence: `README.md`)
- User → Assistant dashboard: uses
- Assistant dashboard → Voice orb: renders (evidence: `app/(tabs)/index.tsx`)
- Assistant dashboard → Voice interface: renders (evidence: `app/(tabs)/index.tsx`)
- Assistant dashboard → Biometric panel: renders (evidence: `app/(tabs)/index.tsx`)
- Assistant dashboard → Native visualizer: renders (evidence: `app/(tabs)/index.tsx`)
- Native visualizer → Matrix view: may use
- Audio capture → Gemini Live: streams audio (evidence: `README.md`)
- Native audio engine → Mobile execution engine: supports processing
- Voice gateway → Session manager: manages sessions
- Voice gateway → Speech recognition: transcribes
- Voice gateway → Speech synthesis: synthesizes
- Voice gateway → Authentication: authenticates
- Rust speech core → Beam decoder: exports module (evidence: `core_engine/src/lib.rs`)
- Mobile execution engine → Voice security: uses voice security
