• Projects
  • Contact

vidm

Browser-based tool that reformats landscape video into captioned short-form portrait video — entirely client-side.

GitHubWebsite
sveltekitffmpeg-wasmwhisper-cpptailwindcss

A browser-based tool that reformats landscape video into short-form portrait video (9:16, also 1:1/4:5/16:9) with auto-generated captions — via center-crop or blur-padded fill, with a live preview before export.

Runs entirely client-side: ffmpeg.wasm handles the video work and a self-hosted, WASM-compiled whisper.cpp handles transcription. No video is ever uploaded to a server.

Status

  • Reformat: done — upload a video, reformat, preview, download. Playback speed control (0.5x–2x), plus compression via a quality preset, target file size, custom CRF, or none.
  • Auto-captions: partial — transcription runs client-side with no third-party API, captions are editable per-segment with a read-only transcript view and .srt export. They are not yet burned into the exported video — that’s separate FFmpeg filter work, not started.
  • Caption styling & burn-in: not started.
  • Offline PWA: not started — no service worker yet, so the app does not currently work offline.
  • UI: built on shadcn-svelte + Tailwind v4, with a manual dark/light theme toggle that defaults to system preference and persists.

Auth and cross-device sync (a separate Go backend) are reserved for a later phase and aren’t built.