The Big Picture
Raven is an Electron desktop app with three layers:Data Flow
When a user starts a recording:- Native capture grabs system audio + mic simultaneously (Swift on macOS, Rust on Windows)
- Echo cancellation removes speaker bleed from the mic stream
- Dual transcription sends clean mic and system audio to the transcription provider separately
- Transcript merge combines both streams with speaker labels (“You” / “Them”)
- AI service uses the transcript as context for responses
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).