Open-source · self-hostable · AI optional

Record once.
Understand forever.

BriefRelay is a modular meeting (and media) capture stack: ingest audio/video, produce a diarised transcript, turn it into actions + decisions, and ship it to the places your team actually works, with governance, storage choice, and an actual record-only mode.

No dark patterns. No "we recorded your meeting to help you" surprises. You decide what gets captured, where it lives, and which modules are allowed to run.

Why BriefRelay exists

BriefRelay started as a late-night habit: record something useful, then spend too long trying to make sense of it later. I kept stitching together tools like Whisper/WhisperX with small scripts that watched folders and pushed files from one step to the next. It worked, but only in the way a homemade rig "works".

The thing I wanted was simple: a pipeline that stays flexible. Drop an .mp4 in and let it become a diarised transcript. Or drop a transcript in directly and have the next stage treat it exactly the same, with no special cases and no "wrong door". That non-mutually-exclusive flow is basically the founding idea.

There’s also a selfish reason: I’m not great at distinguishing voices. When you’re processing podcasts with recurring hosts, getting consistent speaker labels across episodes via voiceprints is a quality-of-life upgrade, and I haven’t seen it done well outside of deep integrations (where the platform already knows who joined the call). That doesn’t help when multiple people speak through one participant, or when you’re starting from raw audio.

BriefRelay is me trying to turn that scrappy set of scripts into a tool that’s actually pleasant to run: open-source, self-hostable by default, and honest about what it does. It’s early stages. The aim right now is getting the architecture right, then earning the polish.

Feature set (intended)

Everything is modular: turn off what you don’t want. Lock down what you do.

Capture modes

  • Record-only (store raw media + metadata, nothing else)
  • Calendar-driven rules: which meetings, which calendars, which participants
  • Bot-join “attendee mode” (optional, when policy allows)
  • Local desktop capture: system audio + mic + optional screen
  • In-room capture (device mic), optional multi-mic diarisation
  • Retroactive uploads: drag-and-drop or bulk import
  • Watch folders (local or mounted) for drop-in automation

Storage & governance

  • Storage backend as a first-class setting (local, S3-compatible, SharePoint, plugins)
  • Per-folder retention rules and export controls
  • RBAC roles: admin, manager, recorder, editor, viewer
  • Audit log of access and exports
  • Optional “API disabled” posture for high-security deployments

Transcription

  • Pluggable engines: Whisper local, whisper.cpp, WhisperX, external providers
  • Defaults per folder + per-meeting overrides
  • Language detection + multilingual support
  • Glossary / preferred spelling rules

Diarisation & speaker identity

  • Diarisation with timestamps (speaker turns, overlaps where possible)
  • Speaker labels editable (rename / merge / split)
  • Voiceprint continuity: map recurring speakers across recordings
  • Self-introduction detection to seed names (e.g. “Hi, I’m …”)
  • Confidence + “needs review” flags

Summaries, actions, decisions

  • Summary styles: short, long, executive, bullet brief
  • Extract action items, owners, due dates (with approval workflow)
  • Decisions, risks, follow-ups, open questions
  • Prompt templates per scenario (sales call, retro, incident, 1:1)

Search & cross-meeting insight

  • Full-text transcript search
  • Semantic search over transcripts + summaries (optional)
  • Filters: attendee, folder, tag, date range, speaker
  • Speaker-centric views: “show every meeting with X”

Distribution & integrations

  • Email recaps (immediate or after review/approval)
  • Slack / Teams posting (channel + thread per meeting)
  • Task tools: Jira / GitHub Issues / Linear / Asana
  • CRM: link to contacts/deals, push notes, suggest follow-ups

Exports & artefacts

  • Export: TXT, SRT/VTT, JSON, DOCX/PDF
  • Capture optional meeting chat (when integrations allow)
  • Slide/screen-share detection and keyframe strip
  • Highlights/bookmarks against timeline

How it works

Composable stages. Drop files in. Get structured output out.

1) Ingest

Bring your own capture: upload, watch-folder, calendar rules, bot-join, or local screen/audio capture.

2) Normalise

Media and metadata become a single “meeting object” in storage, with a stable ID and audit trail.

3) Process (optional)

Transcription, diarisation, voiceprints, summaries, embeddings — each can be enabled/disabled per policy.

4) Distribute

Send recaps, create tasks, post to channels, and keep a single source of truth for review and governance.

Non-mutually exclusive pipeline

If you already have a transcript, you shouldn’t have to “re-run capture”. Drop it into the same meeting folder and the next stage picks it up. If you only have audio/video, BriefRelay can produce the transcript first — and everything downstream stays identical.

Comparison (high level)

A quick, opinionated view of what most tools optimise for vs what BriefRelay is trying to do.

Product Self-host AI-off mode Local capture (no integration) Pluggable storage Voiceprint continuity
BriefRelay (target) Yes Yes Yes Yes Yes
Otter.ai No No Sometimes No Limited
Fireflies.ai No No Sometimes No Limited
Fathom No No Sometimes No No
tl;dv No No Sometimes No No
Tactiq (transcript-first) No Partial Yes No No
Teams + Copilot / Recap No No No No Integration-based

Notes: “Sometimes” varies by plan and capture mode. “Integration-based” means the platform knows the participant identity because it owns the meeting context, not because it can robustly resolve voices from raw audio.

BriefRelay is a concept in active development. Expect rough edges, missing bits, and sharp corners. If you need a polished SaaS today, this probably isn’t it - yet.