Privacy-first, on-device conversation intelligence for real-time tactical guidance.
Latent is a React Native app that helps you during high-stakes conversations (interviews, sales calls, investor discussions, salary negotiations) by transcribing speech locally, detecting negotiation signals, and surfacing tactical suggestions in real time.
- Captures live microphone audio
- Transcribes speech on-device
- Detects persuasion/negotiation patterns
- Shows in-session tactical counter-strategies
- Stores session history locally for replay and analysis
No cloud inference is required for core runtime behavior.
Latent has been migrated to an SDK-independent local inference stack:
- STT:
whisper.rn(whisper.cpp) - LLM runtime:
llama.rn(llama.cpp)
- Whisper STT model:
ggml-base.en.bin - LLM model:
LFM2-350M-Q8_0.gguf
- Whisper context is initialized in
ModelService.tsxand injected intoSpeechService.ts. - Audio is chunked (5s), converted to WAV snapshots, and transcribed via Whisper context.
- Silence tokens are stripped and transcript text is forwarded into existing analysis engines.
- TTS model loading is intentionally out of the critical path for now (placeholder/TODO remains).
High-level flow:
SpeechService.ts- Live audio capture
- 5-second chunking
- WAV snapshot temp file creation
- Whisper transcription with domain prompt bias
SessionEngine.ts- Receives transcript chunks
- Runs classifier/analyzer pipeline
- Produces tactical detections and suggestions
ModelService.tsx- Downloads model files
- Initializes Whisper/Llama contexts
- Tracks model readiness/progress
- Local storage services
- Persist settings, sessions, and replay data
All existing analytical logic in src/ai/* remains algorithmic and local.
src/services/SpeechService.ts
On-device STT bridge usingwhisper.rn, chunking, transcript emission.src/services/ModelService.tsx
Model download/init lifecycle withwhisper.rn+llama.rn.src/services/SessionEngine.ts
Live orchestration and analysis pipeline.src/ai/*
Pattern/intent/scoring/replay engines.
- Inference runs on-device
- Audio is processed locally
- Transcripts/sessions are stored locally
- No mandatory cloud API for core session flow
- Node.js 18+
- React Native 0.83.1 toolchain
- Android Studio / Xcode setup per standard RN environment
- Physical device recommended for realistic audio + model performance
npm installcd ios
pod install
cd ..Then run:
npx react-native run-iosnpx react-native run-androidStart Metro:
npm start -- --reset-cache- Removed previous SDK package dependency lock-in
- Replaced STT runtime with
whisper.rn - Replaced LLM runtime with
llama.rn - Updated model lifecycle to direct file download/init flow
- Preserved app logic/UI/session behavior while modernizing runtime layer
Run:
cd ios && pod install- Ensure model download finished in app flow
- Confirm storage permissions/device storage availability
- Retry model load from session entry path
- Use a physical device
- Ensure no heavy background workloads
- Keep device thermals under control (charging + heat can throttle CPU)
- Reintroduce local TTS runtime backend
- Add richer model management (variants, switching)
- Improve multilingual STT support
- Expand LLM-powered tactical generation pathways
Internal/proprietary project context unless specified otherwise.