Hello Narra: A voice assistant that reads your documents the way you want
Why I built it, why the interface looks unusual, and the standards behind every design decision.
· 6 min read
Hello Narra is a personal, voice-first document reader I built for blind and low-vision users. You upload a bill, an official letter or a medicine leaflet. The assistant reads it in the tone and pace you prefer, answers your questions about it, and adapts to you with every piece of feedback.
Why I built it
Vision loss is far more common than most people think. According to the World Health Organization, at least 2.2 billion people worldwide have a near or distance vision impairment [1]. In Türkiye, TurkStat's Population and Housing Survey found that 1.4% of people aged 3 and over, about 1,039,000 people, have difficulty seeing. That figure counts people who report "a lot of difficulty" or "cannot see at all" even with glasses or contact lenses [2].
Most of the documents these people deal with every day are still designed for sighted readers: small print, low contrast, busy layouts. Screen readers close much of that gap. But they speak to everyone the same way, and they don't "understand" the document. One person wants a slower pace, another wants a pause after every paragraph, and a third just wants to ask, "When is this due?"
My idea was simple: everyone should have their own reading companion that knows them. The assistant remembers each user's preferences and shapes itself around them over time.
This project was built with a grant from ElevenLabs. The assistant's voice is powered by ElevenLabs voice technology.
Why the UI looks the way it does
At first glance the interface may look unusual: black text on a yellow background, very large type and oversized buttons. That is deliberate. For someone who cannot see the screen, the UI should almost disappear. For someone with some sight, it should be as legible as possible. I based each decision on a standard or on published research.
| Decision | In the app | Grounded in |
|---|---|---|
| High contrast | All 5 themes target at least 7:1 contrast (in practice between 16.7:1 and 21:1) | WCAG 1.4.6 (AAA): the 7:1 ratio was chosen to compensate for the contrast-sensitivity loss of roughly 20/80 visual acuity [3] |
| Never relying on colour alone | States are also shown with text, icons, bold or underline; a navy-and-yellow theme avoids red and green entirely | WCAG 1.4.1 Use of Color [4] |
| A legible typeface | Atkinson Hyperlegible | Designed by the Braille Institute for low-vision readers, with letterforms drawn to keep look-alike characters distinct [5] |
| Large text, no sideways scrolling | 4 text sizes (20, 26, 34 and 44 px base); the whole UI scales in rem | WCAG 1.4.10 Reflow (AA): no horizontal scrolling at 320 px width [6] |
| Large touch targets | Buttons are at least 3rem, about 54 px even at the smallest phone setting | WCAG 2.5.5 Target Size (AAA) asks for 44×44 px and lists low-vision users among those who benefit [7] |
| Respecting system settings | Opens in a dark theme if the device is in dark mode; switches to system colours in Windows High Contrast mode | Not asking users again for a choice they already made in their OS |
What I built
One-screen account and voice onboarding. Sign-up is a single screen with email and password, followed by one "Create my assistant" button. In the first conversation the assistant asks whether you use the screen at all, whether dark or light screens are easier for you, and whether you can read small text. It changes the interface on the spot based on your answers. The same options are also available in the Settings dialog.
A style that fits you. Say "read slower", "don't be so formal" or "read numbers digit by digit", and the assistant saves it as a lasting preference and keeps to it in future conversations.
Reading and Q&A. You can upload PDF, DOCX, TXT and MD files, or simply drop a file anywhere on the page. The assistant can read a document from start to finish, word for word. You can move around it by saying "go back" or "jump to section three". If you don't want to hear the whole thing, ask "Who is this letter from?" or "When is this due?" and get a short, direct answer.
Captions synced to the voice. For low-vision users, what the assistant says appears on screen word by word. There are three modes: a large strip at the bottom, a "giant caption" mode where each word fills the screen, and off for users who do not use the screen.
Screen reader and braille support. Captions are hidden from screen readers so two voices never overlap. Users can choose to also send the assistant's replies to their screen reader. This is not a niche feature: in WebAIM's survey of 1,539 screen reader users, 38% use braille alongside their screen reader [8]. It also helps users who are hard of hearing.
Type instead of talk. A text field lets users who cannot or prefer not to speak take part. Microphone errors are explained in the user's language, with the option to continue by typing.
Two languages. The interface and the assistant work in Turkish or English. Switching the language also switches the language the assistant speaks.
Keyboard shortcuts. Alt+Shift+K starts or ends the conversation, Alt+Shift+M mutes the microphone, and Alt+Shift+Y opens the upload dialog. None of them clash with screen reader keys.
How I tested it
I ran axe-core against every theme with WCAG 2.2 AA, AAA and best-practice rules and found no violations. I tested keyboard order, reflow on phones, High Contrast mode and shortcuts with Puppeteer. The whole journey, from sign-up to reading a document, is tested end to end on the live site.
To be clear, automated tests do not replace testing with real screen readers and real users. According to WebAIM, the most used desktop screen readers are NVDA (65.6%), JAWS (60.5%) and VoiceOver (43.9%) [8]. Testing with those three, and with blind and low-vision users, is my most important next step.
What's next
- OCR or a vision model for scanned documents and photos.
- Usability sessions with blind and low-vision users on NVDA, JAWS and VoiceOver.
- More languages beyond Turkish and English.
Sources
- World Health Organization, Blindness and vision impairment (fact sheet, 10 February 2026).
- Republic of Türkiye Ministry of Family and Social Services, Statistical Bulletin on Persons with Disabilities and Older Persons, October 2023 (in Turkish), Table 1.2.2. Underlying data: TurkStat, Population and Housing Survey 2011.
- W3C, Understanding SC 1.4.6: Contrast (Enhanced).
- W3C, Understanding SC 1.4.1: Use of Color.
- Braille Institute, Atkinson Hyperlegible Font.
- W3C, Understanding SC 1.4.10: Reflow.
- W3C, Understanding SC 2.5.5: Target Size (Enhanced).
- WebAIM, Screen Reader User Survey #10 Results (December 2023 – January 2024).