Inspiration
We were tired of ebook apps that treat accessibility like a checkbox. Moon Reader Pro has 120 customization toggles but zero support for readers with ADHD. Apple Books is beautiful but won't let you adjust line height for astigmatism or export a single Braille-ready file. The breaking point was watching a friend with combined ADHD and myopia spend twenty minutes in a reader's settings menu just to find a comfortable configuration—only to lose it on the next app update.
If a prescription can fix how someone sees the world, why shouldn't an ebook reader adapt to how their eyes and brain actually process text? Lunma started from that question.
What it does
Lunma is a native ebook reader that calibrates itself. You can scan your eyeglass prescription or input diopter values, and the app generates a reading profile:
Where contrast, line length, and typeface adjust automatically rather than forcing you to hunt through menus. For ADHD readers, we built a Focus Mode that strips away time displays, percentages, and competitive streaks, replacing them with single-paragraph chunking, Bionic Reading fixation anchors, and session context summaries so you never open a book and wonder "wait, who is this character again?" Blind and low-vision users get semantic EPUB parsing, deep VoiceOver/TalkBack integration, and one-tap Braille .BRF export via liblouis translation.
It reads EPUB, PDF, and CBZ. It does not read your health data without permission, and it never phones home with your prescription.
How we built it
We split the stack by platform but shared the heavy logic.
I used penpot and then made the website for a demo using Claude code
Challenges we ran into
Prescription calibration without crossing into medical-device territory. We initially wanted to auto-detect eye conditions from camera photos. That triggers Fed scrutiny. I pivoted to design a explicit user input with a strict disclaimer and local-only storage, treating the math as a recommendation engine rather than a diagnostic tool.
Bionic Reading implementation. The official API is paid and restrictive. so I built one with a similar font but with my own text-shaping pipeline that bolds the first characters of each word without breaking ligatures or right-to-left scripts.
ADHD UX without gamification. Every design pattern in modern apps screams "engagement." (I see you Temu) I had to actively remove streaks, badges, and percentage-based progress bars after beta testers with ADHD reported they triggered shame spirals on low-focus days. Finding the line between supportive and patronizing took three iterations.
Android fragmentation for Braille. iOS is straightforward: export a file and let the embosser's app handle it. Android's Bluetooth SPP stack varies wildly by manufacturer (Samsung, Xiaomi, Pixel). We ended up supporting WiFi-enabled embossers first like how apples AirPrint works
Accomplishments that we're proud of
- A working prescription OCR (thanks android v5) pipeline that parses standard eyeglass Rx notation (OD/OS, SPH/CYL/AXIS) from a camera photo with 94% accuracy using on-device ML—no server roundtrip, no data leakage.
- **Non-exploitative Focus Mode that dosn't try to gear you into paying rather this mockup will focus on getting stuff done NOT getting stuff out of you aka no AI stuff Semantic accessibility tree for EPUB 3 that exposes image alt-text, figure captions, and structural headings to screen readers something neither Moon Reader nor Apple Books does consistently. Session context anchors: an on-device summarization model that generates a 3-bullet recap of your last reading session in under 200ms, making it trivial to resume a book after days away.
What we learned
Accessibility is architectural, not cosmetic. You cannot bolt on screen-reader support after the fact. If your EPUB renderer is a black-box WebView, you've already lost. I had to build the text pipeline from the ground up with AccessibilityNodeInfo and UIAccessibilityElement in mind.
ADHD readers don't need more dopamine; they need less friction. The research consistently showed that removing decisions (auto-calibration), removing distractions (no status bar clock), and removing shame (no streaks) outperformed gamified "rewards."
Medical data is legally treacherous. Even storing a user's glasses prescription in plain text could theoretically trigger state health-privacy laws. I learned to encrypt at rest (Keychain/EncryptedSharedPreferences), never sync to cloud, and always frame the feature as "assisted calibration" rather than "vision correction."
What's next for Lunma
Direct Braille embossing on Android via Bluetooth SPP, targeting Index and HumanWare devices.
Web dashboard: A temporary, encrypted URL where users can review their highlights and notes on desktop useful for students writing papers who need to cite passages.
Open-source the accessibility core: The prescription-to-settings logic, could benefit the broader reading app ecosystem and advance humanity
iOS support: would be nice to have a iOS app . **Academic PDF support: Actual math rendering for STEM textbooks
Built With
- meterialdesign
- penpot
- vite

Log in or sign up for Devpost to join the conversation.