rag
nodejavascript.com

Ask any document

Paste an article, a diary, a resume or a set of terms — anything long. Then ask it questions. The answer quotes the document, and beside it you get the dates, places, people and images it actually rests on, so you can check it instead of trusting it.

1

Give it something to read

Paste it, or drop a .txt, .md, .csv, .html or .pdf file anywhere on this box. Text copied straight out of a web page is fine — the tags come off for you, and a PDF is read for you.

Nothing pasted yet.

How it works

Four steps, in the order the data moves through them. Each one is there because of something that went wrong without it.

1 · It reads the shape of the document

  • A heading only starts a new entry when the line beneath it ends in a full stop. Without that rule a set of terms — short standalone lines — becomes one empty entry per line and most of the text disappears.
  • A date is claimed only when the day, the month and the year were all written. March 2026 is a month, not a day, and 06/03/2026 is left alone because it reads two ways.
  • Dates written without a year are carried forward, and the answer says the year was worked out rather than written.

2 · It searches two ways at once

  • By meaning — every note is embedded, so a question phrased differently still finds it.
  • By word — a real keyword index over the notes, so an exact name or date is never missed.
  • The two rankings are fused by rank, not by score, because the two scores have no common scale. A note found by both is the strongest signal there is.

3 · The numbers are counted in code

  • Asked how many entries mentioned something, an early version answered “7” — it had counted the eight notes it could see. A model cannot count, so it is not asked to.
  • Every figure shown is computed over the whole document and handed over as a fact the model is forbidden to recompute.
  • The places, people, amounts and images beside an answer are all found by the program too — they are a check on the answer, not part of it.

4 · It refuses two different ways

  • Nothing matched at all — refused by the search itself, in milliseconds, without calling a model. That refusal is a fact about the document.
  • The subject is there but the detail is not — the model refuses, helped by a code-computed fact that a name appears nowhere in the document. That fact is only ever asserted for a proper noun, never for a common word.

What this is, and what it is not

It is

  • A way to ask a long document a question and get an answer you can check.
  • Honest about what it does not know — refusals are a feature, and they are cheap.
  • Built so that every claim in an answer can be traced to the note it came from.

It is not

  • A place for anything confidential. Your document is sent to a model provider to answer each question. It is deleted on expiry or on request, but it does leave this machine — so use the local build if the text is private.
  • An oracle. It answers about the document in front of it and nothing else. It has no knowledge of the world and will not supply any.
  • A lawyer, a doctor or an accountant. If you paste a contract, it will tell you what the contract says, not whether you should sign it.

Privacy

Your document is held on the server so your next question can reach it, and it is deleted automatically. Press “Delete this document now” and it is gone immediately — the entries, the notes, the embeddings and the file itself, in one transaction.

To answer a question, the notes that matched are sent to the model provider along with the question. Nothing else is sent — not the whole document, and not the parts that did not match. The document and the questions are never written to the log; only sizes and timings are.

This is a prototype

There is no account, no analytics and no tracking of any kind on this page. There is deliberately no cookie. If that changes, this paragraph will say so before anything loads.