Three phones and three days.
That is the most useful thing anyone could contribute right now, and it is not code. This project has six locked architecture decisions and no application code at all.
- Android hardware
- The acceptance gate needs three device classes — Pixel-like, Samsung-class, Xiaomi-class. The person building this has one phone, so a Pixel, a Samsung and a Xiaomi on hand for a few days is worth more than any other contribution available right now.
- Disagree with a decision
- The architecture decision records are the project’s real product so far, and they are meant to be argued with. If one is wrong, opening an issue against the reasoning is a real contribution — especially if you can say what breaks.
- Write a provider
-
The
SpeechProvidercontract is documented and there is a shared test suite for capability honesty. V1 ships two adapters, both written by the project: a fake one for tests and a sherpa-onnx one. A third — whisper.cpp, or a cloud engine — arrives as a pull request, not a plugin. - Report what a phone does
- Overlay permission behaves differently across vendors and Android versions, and nobody has tested this on anything but one device. Real failure reports about the bubble on your handset are worth having.
- Read it and tell someone
- If the concept is new to you, the hardest part of this project is whether anyone other than the author can follow the reasoning. A confused reader finding a confusing document is a bug report.
Thirty runs, no exceptions.
Before a release can claim to ship, every one of these has to start, record, transcribe, clean, insert and recover cleanly — on three device classes, ten scenarios each.
short chat long paragraph names and jargon
numbers self-correction lists
noisy room weak connection no connection
multiple languages
The honest caveat: this gate is aspirational until the hardware exists. And the V1 default model has not been benchmarked on a real device yet, so the threshold it was chosen against has nothing to measure yet either. Both are named rather than quietly redefined to fit what is to hand.
From ROADMAP.md
The order of work.
- Gradle project skeletonNothing builds until this exists. The CI workflow is green today only because it checks for a wrapper and skips.
- Android shell, onboarding, permission healthThe permissions screen this site’s honesty rule came from.
- Floating bubbleOverlay window, tap/hold/drag/cancel, across rotation and keyboard resize.
- Audio capture and VADWhere a dictation starts and stops being sound.
- FakeProvider pipeline, then sherpa-onnxThe whole loop runs without a real engine first, so the engine is the last variable.
- Refinement, insertion, historyThe eight stages, the three-step inserter, and recovery that resurfaces with a retry.
- Router, dictionary, snippets, stylesFull parity, not a demo-thin slice.
- Public releaseCI, signed APK, and this site — after the acceptance gate, not before.