DEV Community

Cover image for I built an open-source voice input layer that works across desktop apps
Tover Wu
Tover Wu

Posted on

I built an open-source voice input layer that works across desktop apps

I’m Tover, the solo developer behind OpenTypeless.

I started building it because I kept running into the same mismatch: voice tools were becoming smarter, but using them still meant leaving the app I was working in, opening another window, copying the result, and pasting it back.

I wanted voice input to feel like an input layer instead:

  1. Press a global shortcut
  2. Speak naturally
  3. Release the shortcut
  4. Get polished text directly in the app that already has focus

The project is now open source under the MIT license: github.com/tover0314-w/opentypeless

OpenTypeless desktop app dashboard

What OpenTypeless does

OpenTypeless runs on macOS, Windows, and Linux. It supports four related workflows:

  • Dictation: turn rough speech into clear text and insert it at the cursor
  • Selected-text editing: highlight text in any app, then rewrite, shorten, expand, or change its tone by voice
  • Translation: translate selected text into a switchable target language
  • Ask Anything: ask a one-shot voice question without opening a separate chat window

The latest release, v1.1.49, also adds active-app-aware writing.

The same spoken thought should not be formatted the same way everywhere. An email may need a greeting and complete paragraphs. A chat reply should be shorter. A document can be more structured. A technical tool should preserve code, identifiers, and concise wording.

OpenTypeless detects the active application locally and maps it to an internal category and writing style. The current website ships with 71 app profiles. Raw window titles and document contents are not sent as app context.

The same spoken update adapted for different desktop apps

Other parts I have added over time include:

  • multiple shortcuts for different workflows
  • 99-language support
  • multiple speech-to-text and OpenAI-compatible LLM providers
  • BYOK configuration
  • a local custom dictionary
  • correction rules
  • dictionary import and export
  • voice intent routing for English, Simplified Chinese, and Traditional Chinese

OpenTypeless local dictionary and correction rules

The AI API was not the hardest part

The difficult work has been the desktop “last mile.”

A voice input tool has to coordinate several fragile things at once:

  • global hotkeys
  • microphone permissions
  • accessibility permissions
  • app focus
  • selected-text capture
  • reliable text insertion
  • clipboard backup and restoration
  • timing differences across operating systems
  • failure recovery when one step is slow

A result can be linguistically perfect and still feel broken if it appears in the wrong window, replaces the wrong selection, or leaves the clipboard changed.

That has shaped the way I think about the product. Model quality matters, but trust is built through hundreds of small desktop behaviors that users should never have to notice.

Privacy boundaries

OpenTypeless is BYOK and supports multiple providers, so users can choose how speech recognition and text processing are handled.

The local app stores app mappings, dictionary entries, and correction rules. For app-aware writing, the configured LLM receives an internal app category and approved style metadata — not raw window titles or the contents of the document you are editing.

I want these boundaries to stay understandable. “AI-powered” should not become an excuse for silently collecting more context.

Honest limitations

This is still an indie project.

Windows builds may trigger SmartScreen because I do not yet have a code-signing certificate. Desktop permissions and text insertion can also behave differently across apps and operating systems, so I am still improving reliability and setup guidance.

I would rather state those limitations clearly than hide them behind polished launch language.

Why I open-sourced it

Voice input sits unusually close to a person’s operating system, microphone, clipboard, and writing. I think users should be able to inspect what the tool does, choose their own providers, report edge cases, and change the behavior when the defaults do not fit.

Open source also makes the project better. Many of the most useful fixes come from people trying it in apps and languages I do not use every day.

If this problem sounds familiar, I would genuinely value blunt feedback — especially about latency, insertion reliability, the privacy model, and whether app-aware polishing feels useful rather than over-engineered.

If you test it, please tell me which operating system and app you used. Those details are far more useful to me than a generic “looks good.”

Top comments (0)