Speech-to-text on the Web Speech API: prefixed-constructor detection, interim vs settled transcripts, a continuous mode that re-arms itself after the engine's silence timeout yet always stops on stop(), and errors split into benign / recoverable / blocked.
npx shadcn@latest add @zyeon/use-speech-recognitionZyeon UI limits how often it can be asked, and useSpeechRecognition hasn't had its turn. Its source will show here once it has.