All posts

How does the assistant read a document?

Why we give documents to the assistant both section by section and as a knowledge base, how captions sync with the voice, and how preferences stick.

· 4 min read

There are two common ways to give a document to a voice assistant, and neither is enough on its own for a blind or low-vision user. In this post I explain how Hello Narra reads a document, how captions stay in sync with the voice, and how a request like "read slower" becomes permanent.

Two ways, two different needs

A user wants to do two different things with a document:

  1. Listen from start to finish. A letter or a contract, in order, without skipping anything.
  2. Ask something. "When is the payment due?", "Who is this from?" A short answer, without hearing the whole thing.

The most common way AI assistants work with documents is a "knowledge base" (RAG): the document is split into chunks, and the chunks most relevant to a question are handed to the assistant. That is great for the second need. It does not cover the first: the assistant only sees relevant chunks and cannot read the document completely and in order.

Putting the entire document into the assistant's instructions looks like another option. But for long documents it exceeds the model's context limit and makes every conversation slower and more expensive.

Our approach: both

When a document is uploaded, two things happen:

  • Section-by-section reading. The text is extracted and split at paragraph or sentence boundaries into sections of about 1,200 characters. When the assistant starts reading, it asks for section 1 through a tool, reads it word for word, then asks for section 2. When the user says "go back" or "go to section three", it uses the same tool to jump there. The order never breaks, and the length of the document doesn't matter.
  • Knowledge base. The same file is also added to the ElevenLabs knowledge base for questions. When the user asks something, the assistant first looks for the answer there; if unsure, it reads the relevant section and finds the answer in it.

We give the assistant one more explicit rule: never make up anything that isn't in the document; say so if you can't find it. For medical, legal or financial documents, relay the content as written and suggest consulting an expert when interpretation is needed.

How captions sync with the voice

For low-vision users, each word the assistant says is shown on screen while it is being spoken. This isn't guesswork. Along with the audio, ElevenLabs sends when each character starts and how long it lasts. The browser turns those timings into words and highlights each one exactly as that piece of audio starts playing.

When the user interrupts, the captions stop instantly too. If a connection doesn't send timings, captions fall back to a pace calculated from the speaking speed, so they are never left empty.

Captions are deliberately hidden from screen readers. Otherwise the screen reader would read the same text and two voices would overlap.

How "read slower" becomes permanent

Every user has their own assistant. When the user states a lasting preference during a conversation ("read numbers digit by digit", "don't be so formal"), the assistant saves it with a tool. The server adds it to the user's profile, regenerates the assistant's instructions and updates the assistant on ElevenLabs. A speed preference is written straight into the voice settings.

So the preference applies not only in that conversation but in every conversation after it. Users can see saved preferences in Settings and remove any of them.

The screen is set up by voice, too

In the first conversation the assistant asks how the user sees and changes the interface on the spot: a light theme for someone who can't see dark screens, large text and giant captions for someone who can't read small print, captions off for someone who doesn't use the screen. This also happens through a tool the assistant calls in the browser. The user never has to navigate a menu.

Why it matters

This design keeps the assistant from being a tool that "knows everything" but doesn't know the user. Documents are read completely and in order, questions get short answers, and the screen and the speaking style adapt to the person. All by voice, in a single conversation.