
Interject
Interject is a push-to-talk dictation tool: hold a hotkey, speak, and the transcribed text is typed into whatever application currently has focus, running a local Whisper-family speech model on-device with nothing sent over the network.
Live at interject.liminallayers.com
Problem & approach
Typing to coding harnesses and LLMs felt slow and unintuitive. The want was a voice mode like talking to a language model, but self-hosted: no external API cost and no audio leaving the machine. It also couldn't be tied to one app: hotkey, speak, and the text lands wherever the cursor is, whether that's a terminal, an email, or notes.
A hotkey-triggered dictation daemon runs faster-whisper locally on CPU, int8 and tuned for low latency, so voice never leaves the machine and there is no API cost. The decision that made "works in anything" actually true was decoupling transcription from injection.
Challenges
Problem
X11 vs Wayland and application focus.
Solution
Typing directly into whatever holds the cursor's focus is unstable on Wayland, so the daemon writes to the clipboard first and pastes rather than injecting keystrokes.
Problem
The overlay landing off-screen on Linux.
Solution
Queries the primary monitor's geometry as the service starts, instead of assuming one.
Stack
- Whisper
- Python
- Tkinter
Demonstrates
- CPU-based inference
- Designs for graceful degradation
- Operating as a background service, not a script
- Latency considerations