Typilot independently converged on the same trigger UX as OpenCues: typed prefixes like fix: or gen: directly in any text field, plus system-wide ghost-text autocomplete and hold-to-talk dictation, all on local models via Ollama.
What Typilot does well
A clean local-only privacy story: Whisper for speech, Ollama for text, nothing leaves the machine, one-time purchase.
Where Typilot struggles
Local-only is its pitch and its ceiling: quality is bounded by the small models a consumer machine runs, with no option to route a hard rewrite to a frontier model. Injection is keystroke-level, so results are typed insertions with no span model or revert, and the product is closed source, so none of the mechanics can be audited or extended.
By the numbers
Two steps to a result (a gen: prefix plus its trigger key) against OpenCues' one, zero end-lag on both, and Typilot's ghost text applies in one Tab. After landing, its insertions are the app's undo problem; OpenCues edits stay revertable per word. Equal steps, unequal range: Typilot's two steps run a local prompt, where the one _ spans fills, transforms, live data, and settings across ten providers. Counts and sequences in the full comparison.
How OpenCues differs
Provider freedom and openness. OpenCues supports local Ollama too, but also ten cloud providers and your existing Claude or ChatGPT subscription, routable per surface. It is Apache-2.0 open source where Typilot is closed, and its trigger is a richer grammar: stateful blanks for live data, in-place transforms, settings control and cued alternatives, across terminals, coding agents and Chrome.
Typilot works in native Windows apps, which OpenCues integrations do not reach: they cover terminals, coding agents and Chrome.
OpenCues is also extensible by design: cues and blanks are markdown files you write yourself, and blanks can bind shell scripts or runtime classes, all under an open standard anyone can implement. See write your own cue and write your own blank.
Related: Full comparison · Ollama vs cloud · Typilot