What it does
RECALL is the productized version of the archive work: upload documents, get an answering surface over them that cites its sources. Scanned PDFs go through vision-based OCR rather than being silently skipped, embeddings are generated with Nomic, retrieval runs against Qdrant, and answers stream token by token over SSE.
It carries the unglamorous parts too, Supabase auth, Stripe metered billing, per-tenant isolation, because those are what separate a demo from something a business can actually put a contract behind.
In the code
// Citations are emitted as their own SSE event as soon as retrieval
// resolves, before the first answer token. The client can render the
// sources while the prose is still arriving, and if generation fails
// mid-stream the user still has the documents.
controller.enqueue(sse('sources', { passages }));
for await (const delta of completion) {
controller.enqueue(sse('token', { text: delta }));
}
Illustrative shape. Sending sources first is a deliberate ordering: it makes the evidence the primary artifact and the generated summary the secondary one.
How this differs from the ordinary version
Scanned documents are the normal case
Most document-QA tools quietly fail on a scan, returning nothing useful because there is no text layer. In the industries this serves, legal, municipal, industrial QA, the scan is the document. Vision OCR is on the main path, not a premium add-on.
Sources arrive before the answer
Retrieval results stream ahead of generation, so the user sees which documents are being used before reading a word of summary. It changes the reading posture from trusting to checking.
In the field
A customs broker or a QA department
Cross-border manufacturing runs on paper: certificates of origin, material certs, inspection reports, IMMEX filings. Most of it arrives as a scan. Being able to ask a question across three years of it and get an answer that points at the specific certificate is worth more than any amount of summarization.
Questions
- What happens with a low-quality scan?
- OCR confidence travels with each passage and is surfaced rather than hidden, so a poor read is visible in the citation instead of being smoothed into confident prose.