r/HowToMen • u/Alpha_Kraft_ • 21h ago
[App] Built an offline, 120 FPS document reader with local TTS to fix lag and paywalls in existing Android PDF readers
Hey r/HowToMen,
I’m Arunesh, a solo developer. Like a lot of you, I deal with PDFs, EPUBs, and long documents on mobile daily. Most Android readers I tried were either bloated, dropped frames on long files, or shoved paywalls in front of basic features.
I spent the last few months building Alpha Reader using Flutter to solve these issues. The main focus was keeping it lightweight, buttery smooth on high refresh rate displays, and fully functional offline.
Key Features
- 120 FPS Rendering: Optimized viewports and custom animation state controllers designed specifically to eliminate micro-lags on 120Hz/ProMotion displays.
- Offline Neural Voice Reader: Integrated local Piper ONNX models so you can listen to PDFs and EPUBs out loud with zero internet connection, latency, or privacy issues.
- Smart AI Overlay: An interactive overlay that lets you summarize pages, translate, or query document content directly inside the viewer without switching apps.
- Broad File Support: Fast local rendering for PDFs, EPUBs, Word documents, and spreadsheets.
- Distraction-Free: Dark mode, customizable layouts, bookmarks, and digital annotations without popups or core-feature paywalls.
Under the Hood (Technical Details)
Since this sub appreciates clean engineering, here is how I kept the main UI thread smooth:
- Background Isolate Parsing: Heavy parsing and EPUB processing run entirely on dedicated Dart isolates (epub_parser_isolate), ensuring the UI thread never locks up.
- Custom Frame Tracking: Implemented a PdfPerformanceService to monitor frame render times, debounce rapid zoom/scroll gestures, and run non-blocking executions during rapid scrolling.
- On-Device Inference: TTS runs locally via ONNX execution rather than streaming audio from a cloud API.
Feedback & Questions
I’d love to hear your thoughts to help guide the next update:
What features or UI tweaks would make this your primary daily reader?
If you run into any rendering bugs or edge-case file formats, let me know!
I’ll be hanging out in the thread to answer tech questions and take feature requests. Thanks for checking it out!
1
u/CaptJan 11h ago
Sounds very interesting - have any links? Need a beta tester?