profileShare

rasmusjy / voicetask

Read-only snapshot

No repository description.

main default branch 105 files Expires Sep 13, 2026, 9:06 AM
README.md 4,491 bytes

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 .env file 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

  1. On first run, choose your keys or the offline demo.
  2. Give the idea a short name and choose the project folder.
  3. Click Start talking, speak, then click Send recording. You can type instead, or hold Space while you talk.
  4. Answer one question at a time. The progress panel shows what is ready, in progress, and still to discuss.
  5. Select I'm done, wrap it up when you have said enough.
  6. Create the build brief and download the zip.
  7. 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.