DeBrief - a web based python backed transcription service with live captions as you record. Transcription runs in the background (even if you close the tab) and streams live, with AI summaries available once it's done.
  • Python 36.2%
  • JavaScript 35.7%
  • CSS 14.3%
  • HTML 13.1%
  • Batchfile 0.4%
  • Other 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
cblte 1528f0b6e6 style: drop Google Fonts, use system monospace everywhere
Replace Inter/JetBrains Mono CDN fonts with the browser's built-in
monospace stack (ui-monospace/Cascadia Code/Consolas/Segoe UI
Mono/Roboto Mono) so the frontend has zero external network calls.
Updates BOM.md to reflect the removed CDN dependency and refreshed
pip version after the audit fix.
2026-09-16 16:57:10 +02:00
.dockerignore Fix missing favicon in Docker image, harden .dockerignore 2026-09-16 15:38:39 +02:00
.gitignore Add live transcription UI, stats, and LLM-powered summarization 2026-09-15 16:14:57 +02:00
AGENTS.md Rename app from Meeting Recorder to DeBrief 2026-09-16 14:57:01 +02:00
app.js Make AI Summaries an explicit opt-in setting 2026-09-16 15:58:42 +02:00
ARCHITECTURE.md Add GPU-first transcription with automatic CPU fallback 2026-09-16 15:31:02 +02:00
BOM.md style: drop Google Fonts, use system monospace everywhere 2026-09-16 16:57:10 +02:00
CLAUDE.md Add project documentation for AI-agent continuity 2026-09-16 13:51:50 +02:00
docker-compose.yml Rename app from Meeting Recorder to DeBrief 2026-09-16 14:57:01 +02:00
Dockerfile Fix missing favicon in Docker image, harden .dockerignore 2026-09-16 15:38:39 +02:00
favicon.svg style: drop Google Fonts, use system monospace everywhere 2026-09-16 16:57:10 +02:00
index.html style: drop Google Fonts, use system monospace everywhere 2026-09-16 16:57:10 +02:00
MODELS.md Rename app from Meeting Recorder to DeBrief 2026-09-16 14:57:01 +02:00
README.md Add software bill of materials (BOM.md) 2026-09-16 16:44:33 +02:00
recorder-worklet.js Initial commit: meeting recorder with live transcription, stats, and Docker support 2026-09-15 15:05:14 +02:00
requirements.txt Initial commit: meeting recorder with live transcription, stats, and Docker support 2026-09-15 15:05:14 +02:00
run_server.bat Initial commit: meeting recorder with live transcription, stats, and Docker support 2026-09-15 15:05:14 +02:00
server.py Make AI Summaries an explicit opt-in setting 2026-09-16 15:58:42 +02:00
style.css style: drop Google Fonts, use system monospace everywhere 2026-09-16 16:57:10 +02:00
test_model.wav Initial commit: meeting recorder with live transcription, stats, and Docker support 2026-09-15 15:05:14 +02:00

DeBrief

A local, self-hosted meeting recorder that transcribes audio with Whisper — fully offline — and can optionally generate AI summaries, meeting notes, and translations from the finished transcript.

Record a meeting or upload an audio file. Transcription runs in the background (even if you close the tab), with live captions appearing as you record and the transcript streaming in as it's processed. Everything persists as plain files on disk — no database required.

Features

  • Record or upload — microphone recording (with pause/resume) or drag-and-drop file upload (WAV, MP3, M4A, OGG, FLAC)
  • Live captions while recording — provisional transcription appears within seconds, refined into an accurate final transcript afterward
  • Background transcription — jobs keep running even if you close the browser tab; progress streams live via Server-Sent Events
  • Local speech-to-text — faster-whisper (CTranslate2), four model sizes (base/small/medium/large), GPU-accelerated when available, automatic CPU fallback otherwise
  • Fully offline-capable — no internet access needed for transcription once models are downloaded; verified to work in a network-isolated Docker container
  • AI summaries (optional, off by default) — connect a local Ollama instance or any OpenAI-compatible API to generate a Summary, Meeting Notes, TL;DR, Translation, or full article rewrite from the transcript, streamed live with mid-generation cancellation
  • Export — Text (.txt), SRT, WebVTT, or structured JSON, with configurable timestamps
  • Docker-ready — self-contained image with models baked in, suitable for airgapped deployment

Quick Start

Requirements

  • Python 3.12
  • ffmpeg (bundled on Windows via bin/ffmpeg.exe; install via your package manager on Linux/macOS, e.g. apt install ffmpeg)
  • Whisper model files — see MODELS.md for how to download and where to place them (not included in this repo; too large for git)

Run locally

python -m venv venv
venv\Scripts\activate        # Windows
# source venv/bin/activate   # Linux/macOS

pip install -r requirements.txt
python server.py

Open http://localhost:8000.

Run with Docker (self-contained, offline-capable)

Models must already be downloaded into models/ct2/ (see MODELS.md) before building — the image bakes them in rather than downloading them at runtime.

docker compose up

or manually:

docker build -t debrief:latest .
docker run -p 8000:8000 debrief:latest

To move the image to an airgapped machine: docker save debrief:latest -o debrief.tar, transfer it, then docker load -i debrief.tar on the target machine.

Configuring AI Summaries

AI summaries are off by default. To turn them on: open Settings (gear icon, top right), enable "Enable AI Summaries," choose a provider, and fill in its connection details:

  • Ollama — base URL (e.g. http://localhost:11434 or a remote host) and model name
  • OpenAI-compatible — base URL, model name, and API key

Use Test Connection to verify before saving. The Summary tab stays visible but shows as muted with a hint until both the toggle is on and the provider fields are filled in.

Optional: Changelog Author Info

The in-app Changelog dialog can show a "Built by ..." footer. Set these in .env (gitignored, never committed):

AUTHOR_NAME=Your Name
AUTHOR_EMAIL=you@example.com

Project Documentation

This README covers getting started. For deeper technical documentation:

  • MODELS.md — downloading Whisper models and where to place them
  • ARCHITECTURE.md — full technical reference: every API endpoint, the job data model, the two SSE mechanisms, the LLM summarization pipeline, and known design decisions/gotchas
  • AGENTS.md — quick orientation and coding conventions, written for AI coding assistants picking up this project
  • BOM.md — software bill of materials: every third-party package, model, and external resource this project depends on, with licenses

Tech Stack

Python 3.12 + FastAPI/Uvicorn backend, no database (JSON files on disk); vanilla HTML/CSS/JS frontend (no framework, no build step). See ARCHITECTURE.md for the full breakdown.