How ved-padmawar/nexusvoice works
NexusVoice is a local-first desktop dictation app: users speak through push-to-talk or dictation mode, speech is transcribed locally, optionally corrected/formatted, then pasted into the focused app and saved to history. The graph separates the React UI, Tauri command boundary, capture/transcription pipeline, and supporting state/integrations. README capabilities are included where source excerpts were unavailable; those links follow documented behavior rather than inspected call sites.
Main entry points: service.rs Transcription Service · App.tsx App Shell · commands/mod.rs Command API · repositories/mod.rs Transcript And Dictionary Repositories
Components 26
Desktop Interface
- App Shell
src/App.tsx - Dashboard
src/pages/Dashboard.tsx - Dictionary UI
src/pages/Dictionary.tsx - Settings
src/pages/Settings.tsx - Recording Pill
src/pill/PillApp.tsx - UI State
src/store/useAppStore.ts
Tauri Commands
- Command API
src-tauri/src/commands/mod.rs - Hotkey Handling
src-tauri/src/commands/hotkey.rs - Injection Commands
src-tauri/src/commands/injection.rs
Capture And Decode
- Audio Capture
src-tauri/src/audio/capture.rs - Audio Preparation
src-tauri/src/preprocess/mod.rs - Transcription Service
src-tauri/src/transcription/service.rs - Streaming Decode
src-tauri/src/transcribe/streaming.rs - Local Model Engine
src-tauri/src/inference/engine.rs - Model Catalog And Download
src-tauri/src/inference/downloader.rs
Text And Delivery
- Dictionary Correction
src-tauri/src/postprocess/dictionary_engine.rs - Smart Formatting
src-tauri/src/llm/client.rs - Text Injection
src-tauri/src/injection/mod.rs
Local State
- Transcript And Dictionary Repositories
src-tauri/src/database/repositories/mod.rs - SQLite
src-tauri/src/database/connection.rs - Focused-App Detection
src-tauri/src/focus/mod.rs
Other components
- User
- Focused App
- Microphone
- Hugging Face
- Formatter Endpoint
Connections 31
- User → App Shell: navigates
- App Shell → Dashboard: routes to
- App Shell → Dictionary UI: routes to
- App Shell → Settings: routes to
- App Shell → Recording Pill: shows window
- Dashboard → Command API: requests history
- Dictionary UI → Command API: manages entries
- Settings → Command API: configures
- Recording Pill → Command API: resizes overlay
- App Shell → UI State: reads state
- App Shell → Command API: invokes
- User → Hotkey Handling: presses hotkey
- Hotkey Handling → Audio Capture: starts and stops
- Microphone → Audio Capture: supplies audio
- Audio Capture → Transcription Service: buffers audio
- Transcription Service → Audio Preparation: prepares samples
- Transcription Service → Streaming Decode: streams audio
- Streaming Decode → Local Model Engine: decodes passes
- Transcription Service → Local Model Engine: decodes tail
- Model Catalog And Download → Hugging Face: downloads models
- Transcription Service → Dictionary Correction: corrects text
- Transcription Service → Focused-App Detection: gets destination
- Transcription Service → Smart Formatting: formats optionally
- Smart Formatting → Formatter Endpoint: sends request
- Transcription Service → Text Injection: delivers text
- Injection Commands → Text Injection: dispatches injection
- Text Injection → Focused App: pastes text
- Transcription Service → Transcript And Dictionary Repositories: saves transcript
- Dashboard → Transcript And Dictionary Repositories: loads history
- Dictionary UI → Transcript And Dictionary Repositories: reads and writes
- Transcript And Dictionary Repositories → SQLite: queries and persists