shadcn.io is not affiliated with official shadcn/ui
Voice First Prompt AI Block for Solid
A prompt box built around a large record button that plays a sample voice note, fills a typed transcript word by word, lets you correct it, and shows how the words got there.
Installation
Overview
Put speaking first and typing second, with this voice prompt for Solid with Ark UI. A large Record Button sits in the middle of the box and counts the elapsed time as its label; pressed, it starts a sample voice note, a Waveform Text moves under it and a typed transcript fills word by word over about four seconds, then stops by itself, or press it again to stop early. The transcript lands in a Textarea you can correct, and the request preview says how the input got there: "Voice note 0:04, 14 words, edited: no". A Voice and Type Toggle Group in the header swaps the button for a plain field. The Shine Button sends, the only colored control. No microphone is used and nothing is recorded: the words are typed in advance, and the page says so under the title. It's built from Record Button, Waveform Text, Textarea, Toggle Group, Shine Button and Guides, with a CSS entrance only. For hands-free notes, mobile assistants and any app that starts with a voice.
FAQ
Does it use my microphone, and what stays local?
No. The page never asks for the microphone and records nothing; the "voice note" is a fixed sentence the block reveals one word at a time. The elapsed time and the word count are worked out from how many words have appeared. Send only builds the request. To make it real, ask for the microphone when the button is pressed, stream the audio to your speech-to-text service, and append the words it returns to the transcript.
What does edited mean in the preview?
The block compares the text in the field with the transcript it played. If you change a word, the preview reads "edited: yes"; put it back and it reads "edited: no". In Type mode the preview says "Typed" with the word count instead.
What if I stop early or switch to Type while it plays?
Stopping keeps the words that had arrived and the status line says how many. Switching to Type ends the note the same way and leaves the text for you to edit. Press the button again for a new note, which clears the transcript first.
What about reduced motion?
With the reduced-motion setting on, the transcript arrives whole when you press the button instead of word by word, and the wave stands still. The status line says the same thing in words.
Is it accessible?
The button is named for what it does ("Start sample voice note", then "Stop sample voice note") and carries the elapsed time; the transcript is a labelled field, read-only only while the note plays, and the status line announces the start, the end and the word count. The wave is decoration and hidden from screen readers.