MicJot 0.2.0
Released 2026-10-17.
Quality release focused on three complaints: lost speech, text that never appeared, and output that read like a raw transcript.
Speech is no longer lost
- The microphone stays open for 30 s after each dictation, so the next one starts instantly, and 250 ms of audio from before the key press is included. Previously every recording lost its first 100–250 ms, and a Bluetooth headset switching into mic mode could lose the whole dictation.
- The bar shows a dim "connecting" waveform until the microphone is actually delivering sound, and the start chime plays at that moment instead of on key press.
- Every dropped recording now says why (too short, mic never live, no speech, discarded as noise).
Text always lands
- Pasting is verified: MicJot reads the field back and, if ⌘V didn't change it, writes the text through Accessibility instead. If both fail, the text stays on the clipboard and a notice says so.
- If you switched apps while MicJot was transcribing, it returns to the app you spoke into first.
- The clipboard is restored only after the paste was seen (or after 1 s for apps that can't be read), fixing pastes of stale clipboard contents in slow Electron apps.
Writing reads like typing
- Smart formatting without AI: "one plus one equals two" → "1 + 1 = 2", "four hundred and fifty dollars" → "$450", "two thirty pm" → "2:30 PM", "ram at example dot com" → "[email protected]", spoken punctuation and "new line", percentages, degrees, phone-number digit strings.
- The AI prompt now asks for the same conventions, so results match with or without a key.
Reliability
- Transcription and AI cleanup have timeouts; the app can no longer stay stuck "processing".
- Recognition tuned by autoresearch (see
bench/): 40% fewer word errors, no invented text on silence.
Verified by a tester–fixer loop
Ten rounds of an automated tester and fixer (qa/program.md, records in qa/rounds/) found and fixed 13 blockers and 63 majors before release: wrong numbers from summed number words ("flight two seven five" → 14), prices read as years ("nineteen ninety nine dollars" → $1999), amounts read as clock times, lost words from punctuation commands, double insertion when a selection was replaced, Escape dropping waiting speech, timeouts that did not scale with the recording. 1,664 distinct dictations were probed; the final state keeps every earlier result stable, inserts no digit that was not spoken, and deletes no spoken word (a safety test covers all 514 golden inputs). Remaining edge cases: docs/KNOWN-LIMITATIONS.md.
Project
- Source on GitHub (private) with tagged versions;
qa/tester–fixer loop andqa/run-checks.shrelease gate (unit tests, release build, screen snapshots, recognition benchmark, real paste self-test);docs/PRODUCTION-READINESS.mdroadmap.