Skip to main content
This page gives contributors a bird’s-eye view of Raven’s architecture - enough to understand the codebase without diving into implementation details.

The Big Picture

Raven is an Electron desktop app with three layers:

Data Flow

When a user starts a recording:
  1. Native capture grabs system audio + mic simultaneously (Swift on macOS, Rust on Windows)
  2. Echo cancellation removes speaker bleed from the mic stream
  3. Dual transcription sends clean mic and system audio to the transcription provider separately
  4. Transcript merge combines both streams with speaker labels (“You” / “Them”)
  5. AI service uses the transcript as context for responses
In Raven Pro, the Recall SDK can replace native capture for supported meetings, and AssemblyAI can replace Deepgram as the transcription provider.

Key Subsystems

The Renderer

The UI is split into two windows: Both windows communicate with the main process through a single window.raven API exposed via the preload script.

The Native Layer

Audio capture and echo cancellation require native code: The native binaries are built during setup (see the macOS and Windows build guides).