TL;DR — I built Captionly, a

subtitle generator that runs Whisper inside the browser using

@huggingface/transformers (WebGPU when available, WASM as fallback).

Files never leave the device. Here's how the pieces fit together and

the gotchas that took me longest to figure out.