diff --git a/PRODUCT.md b/PRODUCT.md index 141ecd4..b762060 100644 --- a/PRODUCT.md +++ b/PRODUCT.md @@ -4,6 +4,23 @@ Whisper Web — on-device speech-to-text. A browser-first transcription app powe running through [Transformers.js](https://github.com/huggingface/transformers) (`@huggingface/transformers`). (Moved here from the original `docs/CLAUDE.md` §1.) +## Audience + +**Primary: non-technical people** who want Whisper transcription without reading docs or setting up +any ML tooling themselves. **Also: technical people**, who must be able to do what they want and need +with it — the same control they'd have running Whisper on their own device. + +What that means for the UI and its copy: +- **Works with zero knowledge.** Defaults are good enough to just drop a file or press record and get a + transcript. No step should require knowing what a backend, dtype, or quantization is. +- **Plain language first.** Labels, statuses, and errors say what is happening and what to do next in + everyday words ("Downloading the model (~44 MB, one time)", not "Fetching ONNX weights"). +- **Control is there, not in the way.** Technical choices (model size/variant, backend, language, task, + timestamps, export formats, storage) stay available and honest, but visually secondary — never + hidden behind a "simple mode" that removes them, and never required. +- **Technical truth on demand.** Where a technical term is the real answer (WebGPU, WASM, model ids), + show it alongside the plain description rather than replacing it. + ## Users and what they get **Anonymous users (no login) can:** @@ -36,5 +53,3 @@ running through [Transformers.js](https://github.com/huggingface/transformers) ( Arbitrary Hub model ids, OAuth providers, multi-user transcript storage, whisper.cpp server backend, i18n of the UI. - -TODO(maintainer): confirm target audience and tone of voice for UI copy — not recorded anywhere.