Why I built a €9.99/mo Speechify alternative for Mac
A founder note about scope, pricing, and the gesture I wanted my Mac to have.
I'd been a Speechify subscriber for about a year. I used it for the obvious thing: long articles I wanted to hear instead of read on the train, papers I'd glance at while making coffee, the occasional book chapter. It's a good product. The voices are remarkable. The team has clearly put years into making the experience smooth across iPhone, iPad, web, and Mac.
And yet I almost never reached for it on my Mac.
I'd notice the pattern most evenings. I'd be reading something — a Stratechery post, a long arXiv abstract, the latest Pieter Levels rant — and I'd think, "I want to hear this." Then I'd remember: that means I have to copy the URL, switch to Speechify, paste it, wait for it to import, click play. Or open the browser extension, which opens a new tab, which loads the reader, which… by then I'd already finished reading the thing.
The friction was small. But "small friction times every paragraph I encounter" turns into "I open the app once a week."
The thing I actually wanted
What I wanted was a gesture. Select the text. Press a key. Hear it. Stop hearing it. That's the entire interaction surface I needed.
I didn't want a library. I had a library — every article on the internet was already a library. I didn't want a "save for later" queue, because I had pinboard tabs, Reader Mode, Instapaper, and twelve other places things go to die. I didn't want sync to my iPhone, because when I read on my iPhone, I read; when I read on my Mac, I want to hear it.
The product I wanted was not "Speechify, smaller." It was "the gesture, with no app around it."
I poked at macOS's built-in Speak Selection (System Settings → Accessibility → Spoken Content). It does, in fact, give you a system-wide TTS hotkey. The voices are even the same ones Speechify licenses — Apple's premium neural voices, downloadable for free, run entirely on the Mac's Neural Engine.
But the user experience is rough. The default hotkey is Option+Esc, which is a two-handed reach you fumble half the time. Playback glitches in Safari and Slack — selections come back partial, and the synthesizer stops mid-sentence. Switching voices means a trip to System Settings. There are no mid-reading controls. It's a feature Apple ships and does not love.
Then I had a small, embarrassing realization: the voices are already on my Mac. The synthesizer is already on my Mac. The only thing missing is a gesture and a UI that knows what it's doing.
The first prototype
The first version of Aloud was 200 lines of Swift. A menu bar app. A double-tap-Shift listener using CGEvent.tapCreate. A call to AVSpeechSynthesizer with the currently selected text, fetched via the Accessibility API.
The hardest part wasn't the speech. It was the gesture. Detecting "the user pressed Shift twice in 250 milliseconds, deliberately, and not as part of normal typing" turns out to be a fiddly state machine. The first version triggered any time someone typed a sentence with two capital letters in it. The second version had a delay so long that you started doubting whether you'd actually pressed it. The third version was right.
I used it for two weeks. I never opened Speechify in those two weeks.
Why €9.99/mo, not free, not $20
The pricing question came down to three constraints:
- I wanted to make it sustainable. A free app I'm responsible for becomes a free app I stop maintaining. Subscribers fund updates, voice library curation, server costs for sign-in, and the occasional weekend I spend fixing a bug instead of doing something else.
- I didn't want to compete on price with Apple's free Speak Selection. The thing that justifies the cost is the polish — the gesture, the menu bar UI, the reliable behavior in Safari and Slack. If you're happy with the free option, you should use it. I write that sentence on the Mac hotkey page on purpose.
- I wanted to be meaningfully cheaper than Speechify. €9.99/mo is roughly $10.80, against Speechify's $11.58/mo equivalent. It's not a price war. It's a signal: this is a smaller product doing one thing.
I considered a one-time purchase. I rejected it because I want to keep shipping voice library updates, settings improvements, and the occasional new feature for years — and one-time purchases pin you to a version. €9.99/mo lets me do continuous work without inventing artificial "Pro" tiers.
The one piece of friction I couldn't remove
macOS requires Accessibility permission for any app that reads text from other apps. There's no way around this — it's the right design — but it's the only friction point I couldn't engineer out of onboarding.
The first version of the app handled this badly: a wall of text explaining what Accessibility is, why we need it, and a "Open Settings" button. People bounced.
The version people use now does three things differently:
- The first time you press Shift-Shift, the app shows a single tooltip near the menu bar icon: "Grant Accessibility once →". One click takes you to the right pane in Settings, with the toggle row already focused.
- The app actively waits for the toggle. Once you flip it, the tooltip disappears and the next Shift-Shift just works. No restart, no second prompt.
- The app explains, in two short sentences, exactly what it does with the permission: "Reads the text you've highlighted when you press the hotkey. Nothing else." Then a link to the privacy page for anyone who wants the long version.
This sounds small. But onboarding conversion went from ~40% to ~85% with that change. It's the single highest-leverage piece of work in the entire app.
What I learned about distribution
Distribution for a Mac utility built by one person in 2026 is harder than the technical work. There is no algorithmic path to discovery. Search is the most reliable channel, which means SEO matters a lot more than I'd have admitted a year ago. (You're reading proof of that — this page exists because the founder-story angle is good for both Google and Hacker News.)
The thing that actually moves users, though, is word of mouth. People who use Aloud daily tell other Mac users about it the way you tell a friend about a good keyboard shortcut: "wait, you don't have this?" That's the kind of distribution that compounds. The marketing job is just to make sure people who'd love the product can find it the first time.
What's next
The roadmap is small on purpose:
- Voice expansion — more languages, including good German, French, Spanish and Italian voices. macOS already ships these; Aloud just needs to surface them well.
- Per-app overrides — different voice in Slack vs. in Safari. People asked for this in the first week.
- Reading-position memory — pick up where you left off in a long article if you double-tap Shift after pausing.
- An iPad version — eventually. The hardest piece (system-wide gesture without an Accessibility-equivalent permission) is a real obstacle on iPad. Solving it cleanly will take time.
That's it. There's no plan for a document library, a web reader, an Android version, or an "AI summarization" feature. Aloud reads what you've selected. That's the product.
If you've read this far
You can email me. I'm hannes.hennerbichler@gmail.com — I read every message and answer most of them within a day. Bug reports, feature ideas, "this is the same product I've been wanting to build for two years," "I cancelled Speechify and used my refund for this" — all of it lands in the same inbox.
If you want the practical version of this story, here are the related pages:
- Aloud — the homepage
- The best Speechify alternative for Mac in 2026
- Speechify vs NaturalReader vs Aloud
- How to set up a text-to-speech hotkey on Mac
- How to cancel Speechify (if you're switching)
Hannes — Vienna, April 2026