I used Claude Code and GSD to build the accessibility tool I’ve always wanted
Because of a severe mobility impairment—spinal muscular atrophy—I use a Mac for almost everything I do, and I have a particularly unique way of interacting with it. One of my biggest challenges—aside from typing—is the rather mundane act of scrolling.
I’m unable to manipulate a scroll wheel or perform a swiping gesture. That means the usual methods for scrolling on a mouse or trackpad are out. The method I do use is probably something you haven’t thought about in a long time—I click on and drag the scrollbar. In most instances, it’s not too bad. But it can be very annoying in cases where the scrollable area is very long or in newer apps that tend to hide the scrollbar when not in use.
For years now, I’ve been able to ease my scrolling burden with a fantastic browser extension called ScrollAnywhere. It works great on most web pages and I do use the web a lot. That said, there are a ton of places where it doesn’t work. Even in the web browser, it doesn’t work in reader mode and it doesn’t work in browser settings views and other built-in browser pages. And obviously it doesn’t work in other apps or in the operating system itself.
Several months after posting about my scrollbar woes, Ryan Ohs sent me an email with a delightful surprise. He had been learning about Apple’s Accessibility API and after reading my post he put together this quick and dirty drag and scroll program that worked at the operating system level. It was a cool experiment. And while I was grateful for the gesture, it didn’t turn out to be practically usable in my day-to-day workflow.
Time passed. I helplessly watched as app after app shipped with inaccessible scrollbars. I made do with a cumbersome workaround—macOS has a dwell action for scrolling. The way it works is when you enable dwelling, you hover your mouse over where you want to scroll and wait for a short delay. Some UI appears with arrows which you can then hover your mouse over to scroll the area in that direction. It’s slow and annoying but effective when needed.
In other cases where apps are built with customizable web technology—like Obsidian—I was able to write CSS styles to make scrollbars large and in charge.
Fast-forward to now. AI is everywhere. Many developers I follow are blogging or making videos about the moment they realized AI is a force to be reckoned with. Other developers I follow loathe the technology, citing ethical concerns over environmental impact and intellectual property theft. I have a ton of cognitive dissonance. It’s amazing and horrible all at the same time.
I would say that 90% of my current AI use is Copilot autocomplete in VS Code. This saves me a ton of time because I’m using an onscreen keyboard, pecking out code character by character. Yes, there is standard editor completion, especially when you’re using typed languages. But AI autocomplete goes far beyond, inferring what I want to do based on just a handful of characters. I can often complete an entire line or perhaps an entire code block after a half-dozen keystrokes in a fraction of the time it would have taken me to enter it manually.
The remaining 10% (I’m totally guesstimating here obviously) of my usage is queries I make to ChatGPT. This is usually stuff where I expect my query has one correct answer based on a consensus. Otherwise, I will turn to searching the web with Kagi. I’ve dabbled with things like Claude Code on small side projects, mostly as an AI dev assistant. I haven’t yet done what people call vibe coding.
... continue reading