After more than two decades of typing code, my fingers have had enough. The arthritis that comes with years of hammering away at keyboards has made every keystroke a reminder of time spent in front of screens. But that's only half the story. The other half involves something I've dealt with my entire life: dyslexia.
When I sat down to create Speakeasy, I wasn't just building another voice-to-text app. I was solving problems that have followed me through my entire career as a developer, and drawing on memories from a very different chapter of my life.
The Royal Navy Days
Before I wrote my first line of code, I served in the Royal Navy. It was there that I first encountered the term that would, decades later, inspire the name of this application.
"Stand easy" - a naval command meaning a short break from duties, a moment to relax and speak freely among shipmates.
During , the formality dropped away. You could speak freely, share stories, and just be yourself. It was permission to communicate without the usual constraints. When I was thinking about what to call this app, that memory came flooding back.
- a play on words. Speak, easy. Like stand easy, but for your voice. Permission to communicate naturally, without worrying about every "um" and "uh", without the struggle of typing, without the anxiety of making spelling mistakes that my dyslexic brain seems determined to produce.
Living with Dyslexia
Dyslexia is often misunderstood. It's not about intelligence - it's about how your brain processes written language. For me, it means that what I think and what ends up on screen are often two very different things. Letters swap places. Words that sound right look wrong. And spell-checkers, bless them, can only do so much when you've typed something so far from the intended word that even algorithms give up.
The irony isn't lost on me: I've spent my career writing code - a discipline that demands precision in every character - while my brain seems wired to rearrange characters at will. Every pull request, every email, every bit of documentation has required extra effort, extra checking, extra time.
Voice-to-text technology promised a solution, but existing tools always fell short. They would capture my words accurately enough, but they'd also capture every verbal stumble. The "ums" and "uhs" that are natural in speech became embarrassing in text. And the transcription would often need so much editing that I might as well have typed it in the first place.
When Fingers Start to Fail
Then came the arthritis. Years of coding - the constant typing, the repetitive stress, the late nights pushing through one more feature - eventually presented the bill. My fingers began to protest. What was once effortless became painful. What was painful became difficult. What was difficult started to feel impossible.
I found myself in a frustrating position: my mind was still sharp, still full of ideas and solutions, but the physical interface between brain and computer was failing. I needed a new way to work.
Building Speakeasy with Claude Code
The solution came from an unexpected direction. I'd been experimenting with Claude Code, Anthropic's AI-powered coding assistant, and I realised something: if AI could help me write code, could it also help me build the tool I needed?
What followed was an intense few months of development. Working with Claude Code was like pair programming with the most patient, knowledgeable colleague imaginable. I would describe what I wanted to achieve, and together we'd work through the implementation. When my fingers tired, I could dictate my intentions. When my dyslexia made my written instructions unclear, Claude would ask clarifying questions rather than just giving up.
The Stack We Built
- Swift and SwiftUI for a native macOS experience that feels right at home on Apple Silicon
- Python and FastAPI for a robust backend that handles the heavy lifting
- OpenAI Whisper for accurate speech-to-text transcription
- Claude for intelligent text cleanup that preserves meaning while polishing prose
- Docker to make deployment straightforward
The architecture emerged organically. We'd implement a feature, test it, refine it, and move on. When something didn't work, we'd debug together. When I had a half-formed idea about how something should behave, Claude would help me think it through and often suggest improvements I hadn't considered.
The Features That Matter
Every feature in Speakeasy exists because I needed it. The filler word removal? That's because my verbal thinking process is full of "ums" and "likes" that I don't want in my written communication. The grammar correction? That catches the mistakes my dyslexia creates before anyone else sees them. The UK English spelling? Because I'm British, and "colour" should have a 'u' in it.
The Coding Mode came later, born from the realisation that if I was going to speak instead of type, I might as well be able to control my entire development workflow with my voice. Now I can say "test" and watch my test suite run, say "commit" and have Claude generate a sensible commit message, say "bugs" and get an AI-powered code review.
The app launcher feature - being able to say "Xcode" or "Slack" or "Terminal" and have that application come to the front - seems simple, but it's surprisingly liberating. It's one less thing my fingers need to do.
Why It's macOS Only (For Now)
Some have asked why Speakeasy is macOS-only. The honest answer is that I'm a Mac user, and I built what I needed. The tight integration with macOS - the menu bar app, the keyboard monitoring, the accessibility features, the native look and feel - all of that comes from building specifically for this platform.
Windows support isn't off the table. If there's enough demand, I'll consider it. But for now, I wanted to build one thing and build it well, rather than spread myself thin across platforms.
The Pay-What-You-Think Model
When it came to pricing, I decided on something unconventional: pay what you think it's worth. The minimum is zero. The recommended price is $9.99. You decide.
This isn't just a marketing gimmick. It's an acknowledgment that value is subjective. For someone who types all day and has no issues with it, Speakeasy might be a nice convenience. For someone like me - with dyslexia and arthritis and a need to communicate clearly - it's transformative. I trust users to recognise where they fall on that spectrum and pay accordingly.
What I Learned
Building Speakeasy taught me several things:
- AI-assisted development is real and practical. Working with Claude Code wasn't a gimmick or a crutch - it was genuinely productive collaboration. I built more in a few months than I could have in a year on my own, and the code quality was better for it.
- Accessibility is personal. The features that make Speakeasy accessible to me - voice input, intelligent text correction, reduced typing - might seem like conveniences to others, but they're necessities for some of us. Building for accessibility benefits everyone.
- Simple ideas can have complex implementations. "Speak and have it typed" sounds simple. Making it work seamlessly, accurately, and intelligently took thousands of lines of code and countless iterations.
- The best tools solve real problems. I didn't build Speakeasy because I thought there was a market gap. I built it because I needed it. That's usually how the best tools come to be.
Looking Forward
Speakeasy is done, but it's not finished. I have a list of features I want to add, improvements I want to make, and ideas I want to explore. Local processing for those who want to keep everything on-device. More language support. Better integration with development workflows. The Coding Mode is just the beginning of what voice-controlled development could look like.
But for now, I'm using Speakeasy every day. This blog post? Dictated, cleaned up by Claude, and posted. My code commits? Spoken into existence. My emails? No longer a source of anxiety about spelling mistakes.
For the first time in years, communication feels easy. I can speak freely, and Speakeasy handles the rest.
Just like stand easy, but for my voice.