Feature

The app you’re in
decides the format.

You don’t talk to your group chat the way you email your landlord. Velora reads which app is in front and switches its writing rules to match: terse in Slack, structured in Mail, verbatim in the terminal. No toggles to remember mid-thought.

The built-ins

Four defaults that cover most of a workday.

Message

Slack · Messages · WhatsApp

“are we still on for thursday i can move things around if not”

Are we still on for Thursday? I can move things around if not

Terse. No invented “Hey!” A short line keeps its missing full stop.

Email

Mail · Gmail · Outlook

“thanks for sending that over i read it last night separately we should talk about the pricing page”

Thanks for sending that over — I read it last night.

Separately, we should talk about the pricing page.

Paragraph breaks where the topic shifts. Never invents a sign-off you didn’t say.

Note

Notes · Notion · Obsidian

“first pull the logs second check the retry counter third file the ticket”

1. Pull the logs
2. Check the retry counter
3. File the ticket

Spoken ordinals become a numbered list. Plain prose stays prose.

Code

VS Code · Zed · Terminal

“git commit dash m fix the retry backoff”

git commit -m "fix the retry backoff"

Verbatim. Nothing capitalised, no trailing period, because a period breaks a shell command.

Make your own

Custom modes, without the spreadsheet feeling.

Native picker

Point at apps, not bundle IDs

Assign apps to a mode with a real multi-select picker with icons. An advanced field still accepts raw bundle IDs when you need one, matched case-insensitively.

No ambiguity

One app, one owner

An app can’t silently belong to two modes; Velora rejects the conflict instead of quietly picking a winner. Assigning a whole browser warns you that it overrides site-aware routing.

Visible truth

The HUD names your mode

A custom Slack mode called “Banter” shows up as Banter while you dictate. The pill never disagrees with what the engine is actually doing.

Plain files

Modes are JSON you own

Every mode lives as a readable JSON file in ~/.velora/modes: versionable, editable, portable. Built-ins are installed once and never overwritten behind your back.

The fine print

  • Per-mode shortcuts, paste policies, and tone controls are not there yet — the mode follows the app in front.
  • Velora reads the front tab’s address (through accessibility in Safari and Firefox, and a one-time Automation permission in Chrome, Brave, Edge, Arc and other Chromium browsers) and routes by site: Gmail and Google Docs, Notion, Linear, Slack’s web app and others each land in the right mode.
  • Per-site rules inside a browser are coarse today: assigning the whole browser to a mode overrides automatic site-aware routing, and Velora tells you so.

Free. Open source. Local.

Stop typing. Keep writing.

Already using Velora? A star is how the next Mac user finds it.