{"by":"mowmiatlas","descendants":1,"id":47780234,"kids":[47780373],"score":2,"text":"I didn&#x27;t want to upload my own material to a third party cloud service, use mobile data for voice synthesis and kept running out of podcast queue on flights, so I spent a while trying to get Kokoro running on my iPhone.<p>LoudReader is what came out of it - an iOS app that reads essays, articles, and books aloud, fully on-device. No account, no network after install.<p>The model running once reading a sentence was the easy part. Making it not feel like a demo was the rest: streaming synthesis so playback starts before the sentence finishes, porting misaki to swift because I could only find python releases, thermal monitoring and strategy was a tough one as well. Runs well on iPhone 14 Pro(what I have) and newer. Tested on my mom&#x27;s iPhone 12 Pro and it chokes sometimes, so I ported KittenTTS as a lighter fallback for older devices. The whole project took around 2-3 months on the weekends with claude code and codex.<p>Smooth TTS was the hard part but the app around it grew larger than I expected with EPUB&#x2F;PDF import, Gutenberg browsing, a saved-articles queue, multi-week reading campaigns. Happy to dig into any of it in comments.<p>PDFs, especially academic papers and scanned docs, still annoy me. I built an OCR flow that handles regular documents, but scientific papers with two-column layouts, equations, and fine print are still messy. Curious if anyone here has shipped PDF extraction on mobile that actually handles this well.<p>This was my first time designing a user-facing product - I&#x27;m more of a deep-engineering person so any feedback is welcome too. I&#x27;ll post a write up on the biggest hurdles in the comments as well.<p>If you&#x27;ve ever tried to listen to something long on a plane, you get why this exists.","time":1776265860,"title":"Show HN: I built on-device TTS app because I run out of audiobooks on a flight","type":"story","url":"https://loudreader.io"}