Projects
Open-source tools I have built: an accessible terminal, NVDA add-ons that sharpen everyday screen reader workflows, and infrastructure for testing accessible software automatically.
Acter
An accessible terminal for screen reader users. Its default mode is conversational: you type a command in an edit field and the result lands in a reviewable buffer where each command is a heading, so you navigate your session history the way you navigate a web page. Short output is read automatically, longer output is announced, and a single keystroke switches to full terminal emulation for ncurses programs such as nano. Written in Rust with Tauri 2, Windows first. In active development.
View acter on GitHub
EnhancedFindDialog for NVDA
Implements search improvements for NVDA, including search history, regular expression search, search wrapping per profile, case sensitivity, and contextual search information.
View EnhancedFindDialog on GitHub
EnhancedDictionaries for NVDA
Brings profile-specific speech dictionary capabilities to NVDA. Allows dictionary entries and regular expression substitutions to trigger conditionally based on the active application profile.
View EnhancedDictionaries on GitHub
Timer for NVDA
Brings flexible timer and stopwatch functionalities directly into NVDA, complete with progress monitoring, custom audio alarms, and easy-to-use settings dialogs.
View TimerForNVDA on GitHub
CustomAppModulesMapper for NVDA
Allows users to dynamically associate applications with existing NVDA app modules (or detach them completely) without writing any Python code.
View CustomAppModulesMapper on GitHub
screen-readers-mcp
A Model Context Protocol (MCP) server that lets AI agents drive screen readers like NVDA: sending keyboard gestures, reading spoken and brailled output back, and running automated functional tests of screen reader add-ons.
View screen-readers-mcp on GitHub