Turn videos and audio into clear, listenable briefings.
Import a video or audio file, extract its transcript, generate a grounded summary, and chat with the content — all on your desktop.
Watch the demo · Features · Model Support · Setup · Development · Roadmap
OpenBrief is a pnpm/Turborepo workspace centered on a Tauri v2 desktop app. It supports importing local media or video URLs, downloading media through bundled tools, transcribing audio, generating grounded summaries, chatting with media context, organizing playlists, and exporting reusable notes.
Build a searchable library from video links or local files, then extract transcripts and keep everything in one place.

Open any item to read the transcript, generate a grounded summary, and chat with the media context side by side.

| Model type | Supported | TODO |
|---|---|---|
| Speech to text | Whisper, Parakeet, Qwen3-ASR | None |
| Text to speech | Supertonic 3, Qwen3-TTS | None |
| Large language model | OpenAI GPT, Anthropic Claude, Google Gemini, OpenRouter DeepSeek | Local Gemma 4 |
| Video embedding | None | Frame and clip embeddings for semantic search |
client/
apps/
tauri/ Main OpenBrief desktop app
src/ React renderer, feature UI, domain logic, services, hooks, i18n
src-tauri/ Tauri v2 Rust boundary, commands, helper sidecar, packaging
scripts/ Helper-sidecar and media-tool preparation scripts
nextjs/ Web app and download/YouTube routes
tanstack-start/ TanStack Start app shell
expo/ React Native app shell
workers/ Worker entry points
packages/
api/ Shared API routing
auth/ Authentication integration
db/ Database schema and access
ui/ Shared UI components
validators/ Shared validation helpers
tooling/
eslint/ Shared ESLint config
github/ GitHub setup helpers
prettier/ Shared Prettier config
tailwind/ Shared Tailwind config
typescript/ Shared TypeScript config
AGENTS.md Repository development guidance
DESIGN.md Product and UI direction
^22.21.011.0.9Use the package manager declared in client/package.json.
Install dependencies from the workspace root:
cd client
pnpm install
If pnpm reports ignored native build scripts on a fresh machine, run pnpm approve-builds, approve the listed native/tooling packages, then rerun pnpm install.
Create local environment values when needed:
cp .env.example .env
Use two terminals from client/ when working on both the web app and desktop app:
pnpm dev:next
The Next.js app runs at http://localhost:3000.
pnpm dev:tauri
The Tauri dev command builds the helper sidecar, starts the desktop renderer through Vite at http://localhost:1420, compiles the Rust app, and launches the desktop window.
Run the Tauri desktop app:
cd client
pnpm dev:tauri
Run only the renderer during frontend work:
cd client/apps/tauri
pnpm dev
Build frontend assets:
cd client/apps/tauri
pnpm build
Build or refresh bundled helper/media assets:
cd client/apps/tauri
pnpm setup:dev-sidecars
pnpm prepare:media-assets
Useful desktop checks:
cd client/apps/tauri
pnpm test:run
pnpm typecheck
cd src-tauri && cargo check
Run the Next.js app:
cd client
pnpm dev:next
Run all workspace dev tasks through Turbo:
cd client
pnpm dev
Common workspace checks:
cd client
pnpm typecheck
pnpm lint
pnpm build
Database and auth helpers:
cd client
pnpm db:push
pnpm db:studio
pnpm auth:generate
Use pnpm --filter <workspace> <script> or pnpm -F <workspace> <script> for a single app or package.
OpenBrief builds on and takes inspiration from several projects:
OpenBrief is licensed under the GNU Affero General Public License v3.0.
Run the smallest check that proves the change, then widen as needed:
cd client/apps/tauri && pnpm test:run <pattern>
cd client/apps/tauri && pnpm typecheck
cd client/apps/tauri/src-tauri && cargo check
cd client && pnpm --filter @acme/nextjs typecheck
git diff --check
For packaging, run the relevant Tauri build on the target platform before making release claims.
79 commits
TypeScript
81.4%
Rust
14.6%
JavaScript
1.5%
Python
1.4%
Turn videos and audio into clear, listenable briefings.
Import a video or audio file, extract its transcript, generate a grounded summary, and chat with the content — all on your desktop.
Watch the demo · Features · Model Support · Setup · Development · Roadmap
OpenBrief is a pnpm/Turborepo workspace centered on a Tauri v2 desktop app. It supports importing local media or video URLs, downloading media through bundled tools, transcribing audio, generating grounded summaries, chatting with media context, organizing playlists, and exporting reusable notes.
Build a searchable library from video links or local files, then extract transcripts and keep everything in one place.

Open any item to read the transcript, generate a grounded summary, and chat with the media context side by side.

| Model type | Supported | TODO |
|---|---|---|
| Speech to text | Whisper, Parakeet, Qwen3-ASR | None |
| Text to speech | Supertonic 3, Qwen3-TTS | None |
| Large language model | OpenAI GPT, Anthropic Claude, Google Gemini, OpenRouter DeepSeek | Local Gemma 4 |
| Video embedding | None | Frame and clip embeddings for semantic search |
client/
apps/
tauri/ Main OpenBrief desktop app
src/ React renderer, feature UI, domain logic, services, hooks, i18n
src-tauri/ Tauri v2 Rust boundary, commands, helper sidecar, packaging
scripts/ Helper-sidecar and media-tool preparation scripts
nextjs/ Web app and download/YouTube routes
tanstack-start/ TanStack Start app shell
expo/ React Native app shell
workers/ Worker entry points
packages/
api/ Shared API routing
auth/ Authentication integration
db/ Database schema and access
ui/ Shared UI components
validators/ Shared validation helpers
tooling/
eslint/ Shared ESLint config
github/ GitHub setup helpers
prettier/ Shared Prettier config
tailwind/ Shared Tailwind config
typescript/ Shared TypeScript config
AGENTS.md Repository development guidance
DESIGN.md Product and UI direction
^22.21.011.0.9Use the package manager declared in client/package.json.
Install dependencies from the workspace root:
cd client
pnpm install
If pnpm reports ignored native build scripts on a fresh machine, run pnpm approve-builds, approve the listed native/tooling packages, then rerun pnpm install.
Create local environment values when needed:
cp .env.example .env
Use two terminals from client/ when working on both the web app and desktop app:
pnpm dev:next
The Next.js app runs at http://localhost:3000.
pnpm dev:tauri
The Tauri dev command builds the helper sidecar, starts the desktop renderer through Vite at http://localhost:1420, compiles the Rust app, and launches the desktop window.
Run the Tauri desktop app:
cd client
pnpm dev:tauri
Run only the renderer during frontend work:
cd client/apps/tauri
pnpm dev
Build frontend assets:
cd client/apps/tauri
pnpm build
Build or refresh bundled helper/media assets:
cd client/apps/tauri
pnpm setup:dev-sidecars
pnpm prepare:media-assets
Useful desktop checks:
cd client/apps/tauri
pnpm test:run
pnpm typecheck
cd src-tauri && cargo check
Run the Next.js app:
cd client
pnpm dev:next
Run all workspace dev tasks through Turbo:
cd client
pnpm dev
Common workspace checks:
cd client
pnpm typecheck
pnpm lint
pnpm build
Database and auth helpers:
cd client
pnpm db:push
pnpm db:studio
pnpm auth:generate
Use pnpm --filter <workspace> <script> or pnpm -F <workspace> <script> for a single app or package.
OpenBrief builds on and takes inspiration from several projects:
OpenBrief is licensed under the GNU Affero General Public License v3.0.
Run the smallest check that proves the change, then widen as needed:
cd client/apps/tauri && pnpm test:run <pattern>
cd client/apps/tauri && pnpm typecheck
cd client/apps/tauri/src-tauri && cargo check
cd client && pnpm --filter @acme/nextjs typecheck
git diff --check
For packaging, run the relevant Tauri build on the target platform before making release claims.
79 commits
TypeScript
81.4%
Rust
14.6%
JavaScript
1.5%
Python
1.4%