Skip to content
Back to work

01 — Case study

galdr

A cross-platform desktop app for converting, transcribing, and editing media — without ever touching a terminal.

2026 · Tauri 2 · Rust · React · TypeScript · FFmpeg · whisper.cpp

The problem

FFmpeg is extraordinarily powerful but famously hostile. Command-line flags are easy to get wrong, batch operations are tedious to script, and there's no way to preview the result before committing to a render. The GUIs that exist are either abandoned, cross-platform-incompatible, or trying to be a full NLE.

What I built

Galdr wraps FFmpeg (and whisper.cpp for transcription) in a rune-themed, monochrome desktop GUI. Drop files in, pick a preset or build a custom pipeline, see the exact FFmpeg command being generated in real time, and run batch jobs in parallel. The whole thing ships as a single signed installer with an in-app auto-updater.

How

  • Tauri 2 shell with a Rust core — native performance, tiny binary, no Electron.
  • FFmpeg and whisper.cpp bundled as native binaries across Windows, macOS, and Linux.
  • Background job queue with PID-scoped cancellation — kill one render without nuking the batch.
  • Live command builder that mirrors the exact FFmpeg arguments, so you always know what runs.
  • A timeline editor ("Forge") with undo/redo and crash-recovery — edit video without losing work.
  • Signed in-app auto-updater and cross-platform installers (NSIS / .app / .deb).

Result

A real, signed, auto-updating desktop app — the kind of thing most web developers never ship.

What I learned

Bundling native binaries across three operating systems is a packaging nightmare, but it's a nightmare worth solving exactly once. Once the pipeline works, "ship to every platform" becomes a button, not a project.

Stack

  • Tauri 2
  • Rust
  • React
  • TypeScript
  • FFmpeg
  • whisper.cpp