Solo Developer
Desktop Autocorrect
Cross-platform system-wide desktop autocorrect — phone-style typo correction in any app, with offline dictionaries, learning, and a multi-phase Rust migration path. Side project in progress.

88+
Automated tests
4 of 7
MVP phases complete
Win / Mac / Linux
Platforms
Challenge
Desktop operating systems lack built-in, phone-style autocorrect that works everywhere you type — Notepad, browsers, IDEs, and chat apps. The goal is a privacy-first, offline utility that catches typos at word boundaries without sending keystrokes to the cloud or correcting passwords and secure fields.
Solution Architecture
- Global input capture — low-level keyboard hooks with platform abstraction (Windows, macOS, Linux)
- Correction pipeline — buffer → policy check → spell engine → inject or suggest → learn
- Spell engine — dictionary lookup, Levenshtein edit distance, word-frequency ranking, built-in typo rules
- Smart policy — skips URLs, emails, file paths, camelCase/snake_case, and password/secure fields
- SQLite learning — user dictionary, self-correction memory, reject/undo tracking
- Windows optimization — native Win32 Edit control replacement for Notepad/WordPad (avoids fragile backspace injection)
- MVP UI — CustomTkinter dashboard, system tray controls, hotkeys (toggle, undo, manual suggest, emergency stop)
- Future path (in progress) — Rust core engine (
autocorrect-core), Tauri 2 shell, native OS text services (TSF/IBus)
flowchart LR
Keys[Keystrokes] --> Hook[Platform Hook]
Hook --> Buffer[Word Buffer]
Buffer --> Policy[Policy Engine]
Policy --> Spell[Spell Check]
Spell --> Act[Inject or Suggest]
Act --> Learn[(SQLite Learning)]
Tray[Tray / Dashboard] --> Config[Config and Modes]
Results
- Shipped working Python MVP: global hooks, auto/suggest/off modes, per-app profiles, and distributable Windows
.exevia PyInstaller - Built 88+ automated tests covering spell engine, policy, learning, and Windows edit injection
- Documented architecture, security threat model, and 7-phase roadmap in dedicated
docs/folder - Phases 5–7 scaffolded: Rust core crate, Tauri 2 shell, native OS integration stubs, optional local AI ranker
Timeline
| Phase | Focus | Status | |-------|-------|--------| | 1 | Global hook, word buffer, dictionary autocorrect, tray, config | Complete | | 2 | Suggestion overlay, suggest/auto/off modes, undo hotkey | Complete | | 3 | Secure-field skip, URL/email/path exclusions, ring-buffer logging | Complete | | 4 | SQLite learning, locale dictionaries (en, es) | Complete | | 5 | Rust core + Tauri UI | In progress | | 6 | Native OS text services (TSF, IBus) | Planned | | 7 | Optional local AI ranking | Planned |