VoiceTask
VoiceTask turns a conversation about an idea into a build brief that a developer, agency, or coding assistant can use.
You speak or type. VoiceTask asks one focused question at a time, tracks which parts of the idea are clear, and creates a zip with the requirements, plan, tasks, checks, and handoff notes. Each requirement points back to the exact part of the interview it came from.
VoiceTask runs on your computer. It needs no account and saves each interview locally.
Start it
npm install
npm run dev
Open the printed Vite URL in Chrome or Edge. The first screen asks how you want to run it:
- Paste your own keys. An Anthropic key for the interview (console.anthropic.com) and an OpenAI key for speech-to-text (platform.openai.com). VoiceTask saves them to a local
.envfile and starts using them right away, without a restart. - Try the demo without keys. The whole flow runs on built-in sample answers, offline.
You can switch between the two at any time from the button in the top right of the home screen.
Two other ways to configure it, if you prefer the terminal:
npm run demo # always offline, ignores whatever .env selects
npm run setup # asks the same questions in the terminal and writes .env
You can also copy .env.example to .env and fill in the values yourself.
How a session works
- On first run, choose your keys or the offline demo.
- Give the idea a short name and choose the project folder.
- Click
Start talking, speak, then clickSend recording. You can type instead, or hold Space while you talk. - Answer one question at a time. The progress panel shows what is ready, in progress, and still to discuss.
- Select
I'm done, wrap it upwhen you have said enough. - Create the build brief and download the zip.
- Copy the handoff message and send both to whoever will build the project.
What the build brief contains
| File | Purpose |
|---|---|
SPEC.md |
Goals, users, requirements, limits, and source markers |
PLAN.md |
Technical approach, structure, and implementation decisions |
TASKS.md |
Ordered work items with verification commands |
VERIFICATION.md |
Checks that define when the project is finished |
HANDOFF.md |
The starting instructions for the person or coding assistant doing the work |
sources.json |
The interview text and timestamps referenced by source markers |
A source marker such as [S7] means the requirement came from interview segment S7. This makes it clear which decisions came from the user and which still need confirmation.
Local data and privacy
- VoiceTask has no accounts and no hosted sessions.
- Interview sessions are stored under
data/sessions/on this computer. - Generated files are written to the chosen project folder under
spec/. - The completed brief and transcript can be downloaded from the app.
- In real mode, audio is sent to OpenAI for transcription and interview text is sent to Anthropic for interview and file generation.
- API keys are read from environment variables or the local
.env. They are not written to sessions, generated files, or logs. - Keys entered in the app go to the same local
.env, which is gitignored. The app never sends a key back to the browser; the settings screen shows only the last four characters of a saved key.
Providers and models
| Purpose | Provider | Environment variables | Default model |
|---|---|---|---|
| Interview and file generation | Anthropic Messages API | ANTHROPIC_API_KEY, ANTHROPIC_MODEL |
claude-opus-4-8 |
| Speech-to-text | OpenAI audio transcriptions | OPENAI_API_KEY, STT_MODEL |
gpt-4o-mini-transcribe |
| Spoken questions | Browser speechSynthesis |
none | Installed browser voice |
claude-sonnet-4-6 is a lower-cost Anthropic alternative. gpt-4o-transcribe and whisper-1 are supported speech-to-text alternatives.
Development commands
npm run demo # start the full app with offline mock providers
npm run dev # start the app with the mode selected in .env
npm run typecheck # check TypeScript across shared, server, and client
npm test # run tests with mock providers and no network
npm run build # build the production client and server
npm run check # run typecheck, tests, and build
Product requirements and implementation decisions live in spec/. Conventions and commands are in CONTRIBUTING.md. The blocker format is in BLOCKED.md.