Voice-first dev orchestration

"Hey VIDA,"
run the backlog while you review.

VIDA is a voice-first orchestrator for small and medium dev teams. Say what you want, and it turns your tracker's issues into parallel Claude Code tasks, each in an isolated git worktree. It lines up the finished work for review, lands it on dev when you say so, and only promotes to main when a person says to.

Early development. It runs on your own machine, with your own keys.

The VIDA HUD talk view: a spoken question, a two-sentence spoken reply, and an aside listing three tasks on screen
Talk viewA short spoken answer, with the detail in an aside on screen: the list, the ids, the numbers. Reminders sit under the conversation.

Why VIDA

Coding agents are fast. Keeping track of them is the job.

Once five tasks are running at once, the bottleneck is you: which ones finished, which ones you have read, what is safe to merge, and what you promised to look at. VIDA holds that state so you do not have to, and puts the decisions only you can make in front of you.

Talk to steer, look to read

Spoken answers are a few sentences with the answer first. The list, the diff, the ids and the numbers go on screen, so you are never read a function.

Nothing lands by itself

A finished task is done, not merged. It waits on its own branch until somebody reads it, and main moves only when a person says promote.

Parallel without collisions

Every task is a Claude Code session in its own git worktree and branch, rebased onto the latest dev before it says it is done.

It comes back to you

"I'll look into that" is a promise written to disk. When the work finishes, VIDA tells you, even if that means speaking first.

Guardrails that are not opinions

Self-landing refuses any change touching auth, secrets, crypto, CI or tool policy, by path. The autopilot screens issues before it starts them.

Your state, not the model's

Memory, integrations, policy and history live outside the model, which is one adapter behind a seam. Tokens never enter the conversation.

How it fits your flow

It joins the tools your team already uses.

You keep your tracker, your repositories and your coding agent. VIDA sits on top of them and connects them up: issue to task, task to branch, branch to review, review to dev, and dev to main.

Linear

Read the backlog, start a task from an issue key, move the issue as the work moves, file new issues. Read and write are separate consents; nothing is ever deleted.

git and GitHub

A dev branch where everything lands, main that only receives, --no-ff merges you can revert, and pushes of dev to your GitHub remotes: never forced, and VIDA never holds a credential.

Claude Code

Background tasks run on the Claude Code CLI you already use, with its own sign-in and model. Pick a model per task or as a standing choice.

SynthKit plans

Bigger changes as signed, frozen SynthKit plans: designed in rounds, signed with your SSH key in the HUD, run in dependency waves under a budget cap.

Calendar

What is on, free time, deadlines. Changing the calendar is a separate grant from reading it, and the tools only exist once you give it.

The HUD

One screen for the conversation, reminders, running tasks and their live feeds, what is waiting on you, plan cards, the graph view and the review tab.

The workflow

From a sentence to main, with a person at every gate that matters.

Six steps, the same every time. The workflow page goes through each one in detail.

  1. 01

    Say it

    Hold space and talk, or switch on always listening and say "VIDA". You get a short spoken answer, and anything worth reading goes on screen.

    "VIDA, pick up the three export bugs in Linear."

  2. 02

    From the tracker

    A task can start from an issue key. The issue becomes the brief, moves to in progress when the task starts, and to done when its work lands.

    "Start LED-142, LED-147 and LED-151."

  3. 03

    Parallel tasks

    Each task is a Claude Code session in a git worktree and branch of its own, so several run side by side without touching each other or your checkout.

    "How are those going?"

  4. 04

    Review

    Finished is not merged. Done-and-unmerged work waits under "needs review", longest-waiting first, until somebody reads it.

    "Walk me through the retry change."

  5. 05

    Land on dev

    Everything lands on a dev branch, as one --no-ff merge per task. Merge as it stands, or put it through a merge queue that rebases, builds and tests it first.

    "Land the retry fix."

  6. 06

    Promote, when you say

    Main only ever receives. It moves for one reason: a person said, out loud, to promote. So main is always a commit someone looked at.

    "What's waiting to go to main? ... OK, promote it."

Screens

One HUD for everything in flight.

The conversation, the work running behind it, and the plans and diffs you need to read before anything lands.

The background panel: three tasks under a needs-review heading, two running with a live feed of what each agent is doing
Background tasksFinished, unmerged work gathered under "needs review", longest-waiting first, above the tasks still running and their live feeds.
A SynthKit plan card: signed, executing, with its tasks grouped into four dependency waves
Plan cardA signed SynthKit plan on its card: the budget, and each task grouped by dependency wave with its state, from landed to running to pending.
The plan graph view: briefs as cards, dependency edges between them, coloured by module
Graph viewThe whole plan as one graph: each brief, what it depends on and which modules it changes, before anything runs.
The review tab: a task picker, a file picker, and one file shown whole with the lines the task wrote highlighted
ReviewA finished task read file by file, each file whole with the lines it changed lit up, stepping hunk to hunk. Landing it stays a thing you say.

In use

What a day with VIDA sounds like.

What you say, what VIDA says back, and what she puts on screen. More on the use casespage.

Three bugs, three tasks, one sentence

  1. you

    VIDA, pick up the three CSV export bugs in the Billing project.

  2. vida

    Starting three tasks now. Each has its own worktree, and the issues are in progress. The rest is on screen.

    LED-142 Export drops rows after a page break vida/led-142-export-pagesLED-147 Retry exhausts on 429 from the bank vida/led-147-retry-429LED-151 Currency column ignores locale vida/led-151-currency-localemodel: Claude Code default · 3 running · base: dev
  3. you

    How are those going?

  4. vida

    Two are done and waiting for review. The locale one is still writing tests.

Work the backlog overnight

  1. you

    Work through the Billing backlog tonight. Five tasks at most, two at a time.

  2. vida

    Armed, and nothing has started yet. Seven issues are startable and four are held. Say go when the list looks right.

    next: LED-163 Empty state for the payouts table (small) LED-158 Paginate the audit log endpoint (small)held: LED-160 security: rotates API tokens LED-171 a decision: pick a PDF library LED-174 external: needs a sandbox account at the bank LED-166 too big: reads as a new component
  3. you

    Go.

  4. vida

    Going. It stops by itself after three landings so you can read them.

"What's waiting on me?"

  1. you

    What's waiting on me?

  2. vida

    Three branches to review, and one plan to sign. The retry fix has waited longest, about five hours.

    AWAITING REVIEW - 3 finished, unmerged and not in the merge queue: >> "Retry exhausts on 429" (led-147) on vida/led-147-retry-429, 5 hours ago, 4 file(s) >> "Export drops rows" (led-142) on vida/led-142-export-pages, 2 hours ago, 2 file(s) "Empty payouts state" (led-163) on vida/led-163-payouts-empty, 6 minutes ago, 3 file(s)SIGN-OFF - plan invoice-export: current, no open discoveries

Read it, then land it

  1. you

    Walk me through the retry change.

  2. vida

    It adds backoff with jitter for 429s and caps retries at five. Four files, all in the bank client. The review tab has it open.

    review: led-147 · src/bank/client.ts · change 1 of 6
  3. you

    Looks right. Land it.

  4. vida

    Landed on dev as one merge. LED-147 is done in Linear.

    merge 4e1c9a2 Merge vida/led-147-retry-429 (--no-ff) into dev

Health check, filed as issues

  1. you

    Run a health check on the Ledgerline repos and file anything serious.

  2. vida

    Done. Two high findings are filed in the Repo Health project. One looks like a live token in a test fixture.

    ledgerline-api high secrets.tokens test/fixtures/bank.json:12 sk_l… (40 chars) -> LED-180ledgerline-web high loss.unpushed branch feature/dark-mode, 9 commits, 23 days -> LED-181ledgerline-web low hygiene.readme no setup section (not filed)read only: no fetch, no hooks, no installs

Sign it, price it, run it

  1. you

    Is the invoice export plan ready?

  2. vida

    Yes. It is current with no open discoveries, so it needs your signature. The Sign box is on its card; I cannot sign for you.

  3. you

    Signed. I've put forty dollars in and pressed Execute.

  4. vida

    The dry run priced it at about twenty-six dollars. Confirm on the card and it starts.

    invoice-export · 7 tasks in 3 waves · estimate $26.40 of $40.00 cap
  5. you

    How far has it got?

  6. vida

    Wave one has landed. Two of wave two are running, and nothing needs you.

A reminder with a deadline

  1. you

    Remind me to renew the staging certificate before the thirtieth.

  2. vida

    Noted, due by the thirtieth.

    reminder: renew the staging certificate · due by 30 Oct
  3. you

    Done the certificate.

  4. vida

    Cleared.

"Why did that fail?"

  1. you

    Why did the task status check fail just now?

  2. vida

    The status tool threw on a task record with no state yet. It has happened three times today, and it is logged as an issue.

    [issue] (i-k3n2) The task status tool threw instead of reporting the task in dev__task_status · seen 3 times, first 09:12, last 14:22 expected: the task's current state got: TypeError: Cannot read properties of undefined (reading 'state')
  3. you

    Start a task to fix it.

  4. vida

    Started, with the issue as the brief.

Coming soon

Where it is going.

Today VIDA is one developer's assistant on one workstation. These are next, and none of them is built yet.

coming soon

Teams on one install

Today a VIDA install is one developer's assistant on their own machine. Shared installs, with several people and their own sign-ins, are next.

coming soon

Remote deployment

Running VIDA on a server your team reaches, rather than on a workstation. The datastore is already behind a driver interface built for a remote backend.

coming soon

More trackers

Linear is the only tracker today. It sits behind a tracker interface that is built to take others.

coming soon

A desktop app

A tray app with a global hotkey, so push to talk works from any window, and local streaming speech recognition.

coming soon

Plans drafted by the autopilot

Today the autopilot works tracker issues, and SynthKit plans are drafted in design rounds you start. Drafting plans unattended comes later.

Say what you want. Read what changed. Decide what ships.