Hour-long voice notes don't fit in an email, so I stopped sending them
Email Me does one thing: it sends a note to your own inbox. For years, a voice note was simply an audio file attached to that email. And that worked fine, until people started asking me to record meetings and lectures π
Email Me does one thing: it sends a note to your own inbox. For years, a voice note was simply an audio file attached to that email. And that worked fine, until people started asking me to record meetings and lectures π
The 25 MB wall
Most email providers cap attachments at around 25 MB, and some of them strip or bounce big ones. An hour of speech at the app's old "high" setting (AAC mono at 22 kHz) is about 22 MB. That's already at the limit before any other attachment. On top of that, the recorder had a hard 5-minute cap in AVAudioRecorder, on both iPhone and Apple Watch.
A bigger attachment wasn't the answer. The real fix was to separate the audio from the email.
Audio as an asset, email as a notification
So I changed the rule: a recording is a durable file on the server, and the email just tells you about it.
- The app uploads the audio to the server and gets back a URL. The link can be password-protected.
- The email carries that link and the transcript, instead of the file.
- Recordings also stay on the device, in a Core Data library with a full player: waveform, scrubbing and 0.75β2Γ speed.
- The Apple Watch uploads through a background
URLSession, so a long recording still arrives after you lower your wrist.
Two transcription engines
The transcripts come from two places:
-
On-device, live:
SpeechAnalyzeron iOS 26, andSFSpeechRecognizeron older versions, so you see the words while you record. - Server-side, final: Whisper produces the transcript that goes into the email. Hour-long recordings usually finish in about 30 seconds.
Funny enough, the trickiest bugs were about language, not audio. The transcript language you pick in the settings had to match on iPhone, Apple Watch and CarPlay. Now the Watch gets the language from the iPhone automatically, so a setting you chose months ago still applies.
What I'd tell my past self
- Treat email as a notification channel, never as storage.
- Give long-running work its own background path from day one, especially on watchOS.
- Put the transcription result in the email itself. When something fails, users can tell you about it instead of guessing.
Email Me is on version 7.15 now, ten years after version 1.0. Still going πͺ
Get Email Me on the App Store β
Website: emailmeapp.net
Thanks for reading! If you've dealt with long audio on iOS, I'd love to hear how you solved it. Drop a comment π
The personal story behind this app, and why I built it in the first place, is on my newsletter: manuelescrig.substack.com.
Manuel
Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes β full credit and traffic to the original publisher.
