Roadmap¶
YazSes is a fully-offline, hold-to-talk voice dictation daemon for Linux, macOS, and Windows — no cloud, no account, nothing leaves your machine. The current stable release is v2.15.1, published on PyPI, GitHub Releases, Snap, and the APT repository.
This page is two things at once: an honest status report, and a statement of where we are going. If you only read one thing, read the pictures.
The destination¶
The keyboard is a 150-year-old constraint, not a law of nature. YazSes exists to make it optional — to become the private layer between you and your computer that hears you, understands you, and acts for you, entirely on your own hardware. Not a cloud assistant that rents you access to your own words: an instrument you own, that gets better the more it learns about you, and that never tells anyone what it learned.
The finished shape has three faculties, wrapped in two promises:
mindmap
root((YazSes))
Perceive
Voice through Whisper and Parakeet
Gaze knows where you look
Muscle signals for silent input
Meetings and recordings
Understand
Your personal vocabulary
Dictation or command intent
Who said what
Your languages mixed freely
Act
Type into any app
Command the desktop
Write the meeting minutes
Recall your own words
Trust
Offline always
Encrypted on device
Off by default
Everywhere
Linux macOS Windows
Android next
Every package manager The eras¶
Each era is a promise kept before the next one starts. Foundation is shipped. Perception is shipping now. Understanding is the active frontier. Recall is the reason the project exists.
timeline
title From dictation tool to keyboard-optional computing
section Foundation — shipped
v0.x to v1.4 : Hold-to-talk dictation that just works : Linux, macOS and Windows : Encrypted on-device learning loop
section Perception — shipping now
v2.x : Meeting Mode with speaker diarization : Second STT engine (Parakeet TDT) : Gaze deixis and EMG activation : Sotto-voce command channel
section Understanding — next
v2.15+ : Settings GUI (no terminal needed) : Offline command mode over selected text : Vocabulary biasing in every engine : Android dictation keyboard
section Recall — the horizon
v3 : Spoken recall over everything you ever dictated : Ambient scribe you control : A computer you talk with, that stays yours flowchart LR
F["🏗️ Foundation<br><em>a tool that works</em>"] --> P["👁️ Perception<br><em>it hears and sees well</em>"]
P --> U["🧠 Understanding<br><em>it knows what you mean</em>"]
U --> R["💬 Recall<br><em>it remembers for you</em>"]
style F stroke-width:1px
style P stroke-width:3px
style U stroke-dasharray: 5 5
style R stroke-dasharray: 2 4 (solid = shipped · bold = in progress · dashed = ahead)
Working milestones — where you can join¶
Every open issue belongs to exactly one milestone, and every milestone is an outcome, not a bucket. Pick the one that sounds like you:
| Milestone | The promise | Flavour |
|---|---|---|
| Settings GUI — click, not config | Configure everything from a window and a tray icon | Desktop / Python / Qt |
| Install anywhere | One command on every distro and OS — you own a channel | Packaging |
| Hear better — speech intelligence | Accuracy measured, not asserted: benchmarks, denoising, new engines | Speech / ML |
| Voice control — beyond dictation | Git, files, windows, and symbols — commanded, not typed | Systems / HCI |
| Welcome mat | The first hour is easy, the first contribution is likely | Docs / testing / no-code |
| M0–M3 — Android | An offline dictation keyboard in your pocket, designed in the open | Mobile / Kotlin |
Start at the pinned contributor guide, or — for research-shaped work — at Students, researchers & industry.
Three principles that never move¶
- Offline first. Transcription runs on your CPU. No telemetry, no network dependency for dictation, ever. The one designed cloud-escalation path stays deliberately unbuilt so this promise is never quietly weakened.
- Off by default. The stable dictation path is small and predictable. The large catalogue of capabilities is opt-in:
yazses features enable <name>, thenyazses restart. An upgrade never changes behaviour you didn't ask for. - Honest about what exists.
yazses featuresdistinguishes what is wired and working from what is designed-but-planned, and refuses to pretend otherwise. This roadmap follows the same rule.
Shipped¶
| Version | Date | Headline |
|---|---|---|
| v0.1.x | — | Linux-only foundation: hold-to-talk hotkey, text injection, systemd lifecycle, offline faster-whisper transcription. |
| v0.2.0 | 2026-05-08 | Cross-platform: macOS and Windows support, tray icon, and installers for all three platforms (.dmg, .exe, .deb). |
| v0.3.0 | 2026-05-15 | SSH/remote voice forwarding, streaming transcription, voice command grammar, offline disfluency filter, accessibility enrollment wizard. |
| v0.4.x | 2026-05-17 | Offline small-language-model intent routing, editor (LSP) context injection, EMG/BLE silent-speech input, and a GGUF model manager. |
| v0.5.x | 2026-05-29 | Opt-in, local, encrypted self-improvement loop (yazses tune / mark-wrong / corpus) plus the voice-activity overlay. All off by default. |
| v0.6.0 | 2026-06-19 | Prosody Ink (pauses → paragraphs, emphasis → bold), endpoint pre-warm, and re-record ("Punch-In") wiring. |
| v0.7.0 | 2026-06-19 | Held-out validation for the learning loop — every tuning proposal is checked against data it wasn't derived from. |
| v0.8.0 | 2026-06-19 | Dysfluency-Friendly Mode — an opt-in pass that cleans stuttered/dysarthric speech out of the final text. |
| v0.9.0 | 2026-06-19 | CLI quality of life: yazses update, a friendlier help system, Tab completion. |
| v1.0.0 | 2026-06-19 | First stable release of the Python app: fully-offline dictation for Linux/macOS/Windows with a deep, off-by-default feature set. |
| v1.1.0 | 2026-06-19 | Enriched yazses doctor (version, daemon status, model, config summary, --mic check) and reliable spoken-name recognition. |
| v1.2.0 | 2026-06-20 | CLI usability without hand-editing TOML: yazses features / vocab / hotkey, a dedicated command key, and no more duplicate daemons. |
| v1.3.0 | 2026-06-23 | Voice-activity overlay on by default (PySide6 promoted to a base dependency). |
| v1.3.x | 2026-07-01 | Wayland injection reliability: type-everywhere via ydotool, a flood guard for Ubuntu 26+ compositors, and longer maximum recordings. |
| v1.4.x | 2026-07-01 | Opt-in voice punctuation, a selectable injection backend, and cross-platform CI green again. |
| v2.12.0 | 2026-07-31 | First stable v2: Meeting Mode (hands-free capture → speaker-labelled transcript + minutes), offline recording import with diarization (yazses transcribe), Glance-Type on X11, mic-change guard, system tray, "no text target" guard. |
| v2.13.0 | 2026-08-07 | The reliability release: config self-repair, yazses autostart enable for pipx/uv installs, self-retuning VAD gate, supervised tray, yazses verify end-to-end proof. |
| v2.14.0 | 2026-08-07 | The perception release: Parakeet TDT second STT engine, gaze deixis with real confidence, sotto-voce command channel, EMG activation seam, honest feature registry. |
| v2.15.1 | 2026-08-07 | Patch: dictation stops deleting the verb err (contract 4.0.0 → 5.0.0), and the mypy gate goes 73 errors → 0, surfacing a latent yazses update crash. Current stable release. |
| v2.15.0 | 2026-08-07 | The honesty release: dictation stops deleting real words (contract 1.1.0 → 4.0.0), doctor stops giving snap users advice that cannot work, install.sh pins and checksums its bootstrap, property-based fuzz tests over the text pipeline. First release to ship all three desktop installers (.deb, .dmg, .exe). |
Future work¶
The items below are planned directions. We distinguish clearly between what is designed but deliberately not built yet and what is speculative.
Designed, but explicitly deferred:
- Cloud escalation for transcription. Fully designed with strict guardrails — and not implemented, so the "nothing leaves your machine" default is never quietly weakened. Offline remains the only path.
- Personal speech adapters (LoRA). On-device fine-tuning that adapts the model to your voice — including atypical speech (dysarthria, ALS, Parkinson's) — gated on a measured accuracy win on held-out data. Prompt-level personalization from your own corpus already ships.
- Per-language model auto-switching and code-switch dictation. The routing layers exist; the language-specific and code-switch models are the deferred part.
Hardware- or model-gated (designed, waiting on the missing piece):
- Silent-speech input (sEMG). The activation seam ships today; it comes alive when the wristband hardware is present.
- Vision-based screen commanding. Gaze targeting ships on X11; deeper pure-vision commanding depends on platform support that is not universal yet.
Speculative / research directions:
- Spoken recall — semantic retrieval (RAG) over your personal dictation corpus, fully offline. This is the Recall era's core bet.
- Deeper multi-step task chaining over long sessions.
When research directions ship, they follow the same rule as everything else: off by default, opt-in, on-device.
Known limitations¶
- CPU transcription latency. Whisper runs on your CPU (int8). First model load takes roughly 10–30 seconds, and larger models trade latency for accuracy. Choose a model to suit your machine.
- English-tuned by default. The default configuration targets English (
small.en/base.en). Other languages work; per-language auto-switching and code-switch support are still in progress. - Desktop-only, today. An Android app is in design — see the mobile programme for the architecture and how to help. iOS follows Android for a platform reason explained there.
- Some capabilities need optional extras or hardware. Diarization, gaze, EMG, neural denoise and others stay dormant until you install their extras and enable them.
- Linux packaging caveat. Install via the APT script or
pipxfor hold-to-talk dictation. The strictly-confined snap cannot read the keyboard device, so the snap only serves the offline file-transcription use case.
Requesting features and reporting bugs¶
Feedback drives what gets built next. To report a bug or request a feature, open a GitHub issue — or run:
It prints the author, version, project links, and where to report issues. yazses doctor also ends with a contact footer, so if you hit a problem you always know where to go.