Christopher Toth
I’m a blind software developer who’s spent ~15 years building tools the accessibility community relies on. I made NVDA Remote, Qwitter, Chicken Nugget, and QRead, and I run mongoose.world, a MOO. These days I work across audio and speech, formal reasoning, and AI tooling.
A few things I believe
- Accessibility is engineering, not charity. Blind people are users. Don’t build a separate “accessible version” off in a ghetto; make the defaults right, so it’s harder to be inaccessible than accessible.
- Public means public. The open web shouldn’t make you prove you’re not a dog to read a page.
- Words have meanings. When every scrape is “theft” and every moderation call is “censorship,” the words stop working, and then the real thing happens and everyone’s too tired to notice.
- The work is noticing a problem is a problem, and then actually solving it, with code. If you don’t have that second part, you’re not done.
What I’m thinking about
The exciting thing about AI isn’t speed. It’s that the people who were locked out can finally build their own software. There are maybe a dozen blind programmers; now any blind person can prompt their way to the accessibility mod that would never have been written otherwise. I rebuilt an FPS I hadn’t been able to play since I played it with my dad, him driving and me shooting. Multiply that by every small community the default software was never built for. I also think this is the most important and most dangerous thing happening, and I try to hold both at once.
Things I’ve made
Accessibility
- NVDA Remote — remote screen-reader access for NVDA, used across the blind community
- QRead — accessible ebook reader
- QCast — accessible, full-featured podcast player
- QFeed — accessible RSS feed reader
- QSeek — instant lookups (definitions, translations, stock quotes) from a single hotkey
- Qwitter and Chicken Nugget — accessible Twitter clients (retired)
Audio and speech
- claudio — audio feedback for AI coding agents
- Qlatt — explainable WebAudio Klatt formant synthesizer with a declarative TTS frontend
- cacophony — TypeScript WebAudio library with built-in caching
AI and developer tooling
- ward — session-aware guard for AI coding agents
- cel2js — CEL (Common Expression Language) to JavaScript transpiler
- barn — a MOO server written in Go (powers mongoose.world)
Formal reasoning and languages
- argumentation — formal argumentation frameworks (Dung, ASPIC+, bipolar)
- belief-set — propositional belief revision (AGM, Spohn ranking, IC merging)
- doxa — subjective logic (opinions, evidence, fusion)
- gunray — defeasible Datalog
- lola-go — the RTLola runtime-monitoring language, in Go