Skip to main content
Raven is an Electron desktop app. It captures microphone and system audio, cancels echo on your machine, transcribes You and Them on two parallel streams, and answers from the live transcript. You bring your own API keys. This product has no Raven account, no hosted backend, and no cloud session sync. Capture, echo cancellation, SQLite history, and document RAG run locally. Audio goes to Deepgram or AssemblyAI. Assist prompts go to Anthropic or OpenAI.

Get Raven

Download

Prebuilt installers for Windows 10/11 (x64) and macOS 12+ (Apple Silicon). Enter API keys on first launch.

Build from source

Clone the repo and compile native capture + AEC yourself. Intel Macs need this path.
macOS installers are signed + notarized - just double-click to open (macOS shows the usual “downloaded from the Internet” prompt once). Windows OSS builds are unsigned, so SmartScreen may warn - choose More info → Run anyway. Raven updates itself in-app and only offers a build when the published version is newer than yours.

Features

Dual-stream capture

Mic + system audio. macOS: ScreenCaptureKit + CoreAudio. Windows: WASAPI loopback + capture (Rust/NAPI). Live recording uses the OS default devices.

Echo cancellation

GStreamer WebRTC AEC3 (webrtcechoprobe / webrtcdsp), then a residual echo gate so leftover speaker bleed does not land in You.

Real-time transcription

Two STT streams. Deepgram nova-3 and/or AssemblyAI u3-rt-pro. Auto-routing prefers AssemblyAI for English, Spanish, French, German, Portuguese, and Italian when that key is present.

AI assistance

Anthropic or OpenAI from the overlay - Assist, recap, follow-up, custom prompts. Optional screenshot via desktopCapturer.

Stealth overlay

Electron setContentProtection so the overlay and dashboard are omitted from typical screen-share APIs. Not a guarantee against every capture tool.

RAG (per mode)

Upload .txt, .md, .pdf, or .docx. Embedded on-device with MiniLM. Chunks stay in SQLite and are injected into Assist.

Session context

During a recording, Assist keeps recent turns and may compress older context in RAM. There is no cross-meeting user-memory profile.

Sessions

Saved locally in SQLite with title, summary, transcript, and recap. Insights use your LLM key. Incognito skips persistence.

Ask your meetings

Chat with one meeting or across your whole history. On-device retrieval, your model, streamed answers with cited sources.

Post-call recap

Action items, a one-click follow-up email, talk ratio, and Markdown / PDF export - all from your own key.

Meeting auto-start

Detect a Zoom, Meet, Teams, or Webex meeting and offer to start recording. No bot ever joins.

How it works

1

Start a session

Overlay record button or Cmd/Ctrl + Shift + Space. Incognito, if on, will not write the session to SQLite.
2

Native capture

System audio and microphone are captured together. macOS needs Microphone and Screen Recording. Windows uses the default devices.
3

Echo cancellation

System PCM is the AEC reference. Mic PCM goes through GStreamer, then ResidualEchoGate drops leftover speaker echo before You STT.
4

Transcription

Two connections: mic → You, system → Them. Engine pick is Settings sttProvider plus language. AssemblyAI can fall back to Deepgram.
5

Assist

Cmd/Ctrl + Enter builds a prompt from the mode brief, RAG chunks, session memory, transcript tail, and an optional screenshot, then streams from your LLM.

Platform support

Keyboard shortcuts

These match registerGlobalHotkeys in the app. On Windows use Ctrl instead of Cmd.
Recording used to be Cmd+R and clear used to be Cmd+Shift+R. Those stole browser refresh globally, so they were changed.

Next steps

Recording

Capture, AEC, and STT routing.

AI & RAG

Assist, modes, and local documents.

Ask & recap

Chat with your meetings, action items, follow-up email, export.

Build from source

Native dependencies and npm run dev.

Architecture

How the processes and natives fit together.