Show HN: OpenBrief – Local-first video downloader/summarizer

Hacker News Top Tools

Summary

OpenBrief is an open-source desktop app that lets users download videos, transcribe audio, generate grounded summaries, and chat with media content, all running locally on their machine.

OpenBrief is basically a GUI for yt-dlp with some AI on top — paste a link, it downloads locally, and transcription and voice generation run with local AI on your machine. Summaries and chat over the transcript use an LLM, which is bring-your-own-key for now. It's open source and free.
Original Article
View Cached Full Text

Cached at: 05/26/26, 12:50 AM

tantara/openbrief

Source: https://github.com/tantara/openbrief

OpenBrief

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.

License: AGPL v3 Built with Tauri Platforms Stars

Watch the demo · Features · Model Support · Setup · Development · Roadmap

OpenBrief — Open Source YouTube Summarizer

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.

Features

  • 📥 Import anything — paste a video link or import a local audio/video file.
  • ✍️ Transcribe locally — extract captions or run on-device speech-to-text.
  • 📝 Grounded summaries — generate blog-style markdown briefs with timestamped takeaways.
  • 💬 Chat with media — ask questions against the summary or full transcript.
  • 🔊 Listen back — turn summaries into audio with text-to-speech.
  • 🔒 Open source & private — runs on your machine, free to use.

Build a searchable library from video links or local files, then extract transcripts and keep everything in one place.

Library view

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

Brief and chat view

Model Support

Model typeSupportedTODO
Speech to textWhisper, Parakeet, Qwen3-ASRNone
Text to speechSupertonic 3, Qwen3-TTSNone
Large language modelOpenAI GPT, Anthropic Claude, Google Gemini, OpenRouter DeepSeekLocal Gemma 4
Video embeddingNoneFrame and clip embeddings for semantic search

Repository Layout

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

Requirements

  • Node.js ^22.21.0
  • pnpm 11.0.9
  • Rust and Cargo
  • Tauri v2 platform prerequisites for your OS

Use the package manager declared in client/package.json.

Setup

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

Local Development

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.

Desktop App

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

Web And Shared Workspace

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.

Roadmap

  • Improve audio file support for transcription, summaries, playback, and exports.
  • Support more document and web source types, including PDFs, HTML pages, and other document formats.
  • Support Parakeet ASR.
  • Support Qwen3-ASR and Qwen3-ForcedAligner.
  • Support Supertonic 3 TTS.
  • Support local LLMs, including Gemma 4.
  • Add video embedding for frame and clip semantic search across the library.
  • Add voice cloning so summaries can be read aloud in a selected voice.
  • Share summaries through the web and mobile apps.
  • Support more artifact formats, including flashcards and other reusable study or publishing outputs.

Acknowledgements

OpenBrief builds on and takes inspiration from several projects:

License

OpenBrief is licensed under the GNU Affero General Public License v3.0.

Verification

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.

Similar Articles

@XAMTO_AI: Guys, this is something you absolutely need but haven't discovered yet! OmniGet - one-click paste link, grab media from YouTube, Twitter, TikTok, Reddit, Udemy across all platforms. Local desktop app, no ads, no tracking. Download is super smooth. Essential for content creators, researchers, offline users. No more...

X AI KOLs Timeline

OmniGet is a free, open-source desktop app that downloads media from YouTube, TikTok, Udemy, and over 1,800 other sites without needing a terminal. It combines video, audio, course, and music downloading into one easy-to-use local application.