SandFly Scripts
Small, sharp fixes for apps that already exist — written for SandFly, the screen reader the apps on this site were built around.
I made these for my workflow — made for me first. If they help you, awesome. If not, have your AI of choice cook something up for you.
Not everything needs its own app. Sometimes the app already exists and does its job — it just doesn't handle accessibility the way I'd like it to. A script is how you fix that without rebuilding the app: a little set of instructions that tells SandFly how to behave inside somebody else's app. A jump key where there wasn't one. Swipes that skip the sections that trap you. Actions you can cycle through instead of hunting for buttons.
How it works: one address, then pick your scripts
SandFly doesn't take scripts one link at a time. Instead, you add one source address — a single address that points at a collection of scripts. SandFly reads the collection, shows you what's in it, and you browse the list and install the scripts you want. One address, added once; after that, it's just picking.
Here is the address for this collection. It's shown as plain text, so you can read through it letter by letter if you want to — and there's a button under it that copies it for you, because writing out a long address by hand (in Braille, especially) can really suck:
github.com/jharris171185/sandfly-scripts
Add that as a source in SandFly, and the six scripts below are yours to pick from. Don't have SandFly yet? Download SandFly — that link always fetches the latest stable release, and the home page's “A word about SandFly” section explains the setup I use.
The scripts
Six scripts, all built for my own daily use. The statuses are honest — a couple are finished and verified, one is still earning its keep, and one hasn't had its on-device test yet. Each one also lives in the source above, which is where you install it from.
Facebook Actions and Skip
Swipe up or down on a post to cycle its actions — Like, Comment, Share, and the rest — then double-tap to run the one you picked. SandFly+J, or a two-finger swipe right, skips the trapping sections (Stories, Reels, People You May Know) and lands on the next post.
Status: Final — in daily use.
Phone Actions and Switch
iOS VoiceOver-style list actions for Google Phone and Contacts: swipe right or left to move entry to entry without landing on the buttons inside each entry, swipe down or up to cycle an entry's actions, double-tap to run one. A three-finger swipe switches between Recents and Contacts.
Status: Final — in daily use.
Thunderbird Keys and Actions
Desktop-style keyboard shortcuts for Thunderbird — Ctrl+N for a new message, Ctrl+R to reply, SandFly+J between headers and body, SandFly+Enter to send — plus iOS-style actions on the message list: swipe between messages, cycle their actions, double-tap to run one.
Status: Final — verified.
Play Protect Install
For the Play Protect scan prompt that appears when you install apps from outside the Play Store: press Alt+I and the script chooses “Install without scanning” for you, then puts focus in the PIN field so you can finish by keyboard. Only use it for installs you already trust — it's a keyboard shortcut, not a way to dodge the check.
Status: Final — verified.
Jump and Send
One jump key for browsing and chat. SandFly+J jumps past toolbars to the content in Chrome and YouTube; in Muse, Gemini, ChatGPT, Google Messages, and Facebook Messenger it jumps between the message box and the most recent message, and SandFly+Enter sends.
Status: In daily use — coverage varies by app.
WaveSmith Swipes
For WaveSmith, the audio editor on this site. While audio plays and the waveform has focus: swipe left rewinds, swipe right fast-forwards, swipe up zooms in.
Status: Untested — shared as-is. If you try it, support@powerhouseapps.net would genuinely like to hear how it went.
Design, keys, and testing by Justin Harris — and the same terms as the apps: made for me first, shared because they might help, kept up on my schedule, no promises and no warranty. They're shared exactly as they are.