Quick-adding tasks with your voice

· bombay

bombayproductivitytoolsuxvoice-input

Most task managers make you navigate to a project, click "new task", type it, tag it, and file it. By the time you've done all that, the thought is half-gone.

Bombay's quick-add is designed around a different principle: capture first, organise later — or let the system organise for you.

How it works

Press t (or F1) anywhere in the dashboard. A dialog appears with two steps:

  1. Pick a project — type to filter, arrow keys to navigate, Enter to select. Your three most recent projects appear at the top, so repeat tasks land in the right place with one keystroke.
  2. Describe the task — type or speak. Press Enter (or click Add) and you're done.

The whole flow takes under three seconds for a task you've been thinking about. No menus, no dropdowns, no categories to choose from.

graph LR
    A["Press t / F1"] --> B["Pick project"]
    B --> C["Type or speak"]
    C --> D["Enter → task created"]

Voice input

Click the microphone icon (or press v when the input is empty) and start talking. Bombay uses the browser's built-in Web Speech API — no cloud transcription service, no API key, no extra dependency.

The implementation is lightweight: a useSpeechInput composable that wraps webkitSpeechRecognition, set to continuous and interimResults mode with British English (en-GB). Interim results appear as you speak, so you can see what's being transcribed in real time. When you stop, the final transcript sits in the input field ready to submit or edit.

Voice is particularly useful for tasks that come to you while your hands are busy — cooking, walking, commuting. You can also paste screenshots (Cmd+V) for visual tasks like "fix this layout".

Why not a global inbox?

Tools like Todoist and Things 3 use a global inbox as the default capture destination. You dump everything in, then drag items to projects later.

That works — but it creates a second job: triage. Your inbox fills up, and now you have to spend 20 minutes sorting tasks before you can start working. It's the digital equivalent of sorting post before you can sit down.

Bombay takes a different approach. When you quick-add a task, you pick the project at capture time. The project picker makes this fast enough (recent projects at the top, type-to-filter) that it doesn't slow you down. The result: tasks arrive pre-filed, and there's no triage step.

Feature Todoist Things 3 Bombay
Quick-add shortcut Ctrl+Space (global) Ctrl+Space (global) t / F1 (in dashboard)
Global hotkey Yes Yes (macOS) Ctrl+Opt+T (macOS, via Tauri)
Voice input Via Ramble integration No Built-in (Web Speech API)
Natural language dates Yes Basic No (tasks are freeform)
Default destination Inbox (triage later) Inbox (triage later) Project (filed at capture)
Image attachments Via description No Paste with Cmd+V

The global hotkey

Outside the dashboard, you can press Ctrl+Opt+T from any app to open the quick-add dialog in the Bombay window. This is handled by Tauri's global shortcut system, so it works even when the dashboard is hidden in the system tray.

The idea is the same as Todoist's global shortcut or Things' Quick Entry — wherever you are, one keystroke brings up the capture surface.

What happens after capture

Once a task lands in a project's .in/ directory, Bombay's pipeline takes over:

  1. Auto-refinement — the task gets investigated for scope, affected files, and implementation details
  2. Interactive refinement — you review and sharpen the task
  3. Autonomous implementation — Claude Code picks up refined tasks and creates commits

The quick-add input is the front door to this pipeline. The less friction at the front door, the more ideas make it through.

What's next

I'm exploring content-based routing — where typing a task like "fix the sparkline gap in Bombay" would automatically suggest the right project based on keywords, recent activity, and file paths. That would make the project-picking step optional for most tasks, getting even closer to the "just say it and forget it" ideal.


Have questions or feedback? Find me on LinkedIn or GitHub.

Partially written by a human