DEV Community

PariSh KhAn
PariSh KhAn

Posted on Fully Autonomous

I built a caption editor that keeps video processing in the browser

I’m the maker of Karaoke Captions, a browser editor for animated, word-by-word video captions. Its main design constraint is simple: the source video stays on your device for transcription and rendering.

Here is the workflow and the browser technology behind it.

From a clip to a captioned MP4

  1. Open the editor and select a video.
  2. Generate a transcript locally, or import an existing SRT file.
  3. Review the words and timing, then choose and adjust a caption style.
  4. Export a captioned MP4, or download SRT/VTT subtitles.

There are 100+ caption styles, and I continue to expand the library. You can browse the styles before opening the editor.

Examples of animated caption styles in Karaoke Captions

What runs locally

The editing interface uses React and TypeScript, with Remotion Player for the live preview. Speech recognition uses Whisper through Transformers.js in a Web Worker, with WebGPU or WebAssembly depending on the available execution path. MP4 export uses WebCodecs.

That division lets the interface remain interactive while transcription work runs separately. It also means there is no server-side video upload step for the local transcription and rendering workflow. The browser still needs to download the application and speech model initially; “on device” does not mean the first visit needs no network connection.

Once the app and model have loaded, the local captioning workflow can work offline. This is particularly useful when a clip should stay on the creator’s machine.

The tradeoffs

Moving work into the browser moves its hardware requirements there too. Transcription and export speed depend on the device, browser support and clip. I recommend desktop Chrome or Edge for MP4 export. I’m not claiming a universal speed advantage over hosted transcription.

The initial model download is another visible cost. A hosted tool can hide model setup behind its servers; a local tool asks the user’s device to do that setup. That tradeoff needs to be clear before someone starts.

Recognition also needs a human review. Names, background noise and overlapping speech can produce mistakes. Being able to edit the transcript and timing is part of the workflow, not an optional final polish.

Free and paid features

Classic and Lyrics styles support unlimited watermark-free MP4/SRT/VTT exports without an account. Other styles and creative tools are available to try; free exports using Pro features can have a small watermark, and Pro removes it. The app is proprietary and freemium.

If you build browser media tools, I’d be interested in your experience with model-download UX and device limits. If you make videos, does keeping your clips local make the initial download worthwhile?

Try Karaoke Captions.

Top comments (0)