Yappy is an open-source macOS companion app for held-hotkey dictation. It shows a floating animated character that reacts to real microphone activity while you speak.
- Built with Swift, SwiftUI, and AppKit
- Works alongside push-to-talk dictation tools like Wispr Flow
- Uses live mic level for movement, not transcript access
The biggest text-field click bug was not primarily a speech-engine failure. The session was being torn down, or the next Fn press was being missed after focus changed.
The fix path now does three things:
- treats event-tap
Fnreleases as provisional instead of immediately authoritative - records pointer-down activity so click-adjacent releases can be confirmed more carefully
- briefly polls current system
Fnstate after a click so a missed post-clickFnpress can still start dictation
This keeps Yappy from losing the speaking/listening session just because focus changed into a text box.
For a more candid working note on how this was debugged and why it still needs refinement, see FN_RECOVERY_NOTES.md.
Yappy needs:
Input Monitoringto detect the global dictation hotkey reliablyMicrophoneto drive head and mouth motion from live voice input
See PRD/Yappy_PRD.md for the full product requirements document.