01
Verify, don't trust, citations
The model cites passages and verbatim quotes; the server finds each quote in the document before the interface is allowed to call it verified.
AI product · rebuild of my own v1
A document assistant you can check.
Upload a contract, paper, policy or report. Margin summarises it, answers questions, pulls out key facts and compares documents, and every claim comes with a quote that is verified and highlighted on the real page in one click.
1The problem
AI summaries of contracts and reports sound confident, but you can’t tell which parts are true.
2My role
Product direction, UX and UI, retrieval and evaluation design. Built with Claude Code under my direction.
3Outcome
Live. 46 of 47 answers correct, 6 of 7 unanswerable questions refused, and every cited quote verified.

01
AI summaries of contracts and reports sound confident, but you can't tell which parts are true.
Version 1 was one endpoint that sent a PDF's text to a model: no chunking, no retrieval, no citations, no interface.
Who it's for
People who have to act on long documents (contracts, policies, papers) and need to point at the sentence an answer came from.
02
Status, honestly
Desk research and a v1 audit. No usability testing yet; a study plan is in the case study.
03 · User flow




04
01
The model cites passages and verbatim quotes; the server finds each quote in the document before the interface is allowed to call it verified.
02
Every claim is marked stated (the document says it) or interpretation, and every quote verified, approximate or not found.
03
When 27 of 28 claims verify, the screen says so in an amber banner and flags the one it couldn't find in red.
04
Questions are answered only from the document. When it has no answer, Margin says so, and shows which passages it searched.
05
Real screens from the live product.





06
On upload
On request
On upload · step 1
Type & limits
File type from bytes, size and page limits, path-safe storage.
07
01
Stated or interpretation
Every claim says whether the document states it or the model inferred it.
02
Three-level quote check
Verified (word for word), approximate, or not found, shown on each claim.
03
Refusal by design
Questions the document can't answer get “the document doesn't say”, with the passages searched.
04
End-to-end eval
The real Ask pipeline run over 47 answerable and 7 unanswerable questions, failures written up.
08
From the README's retrieval table. Dense search alone is as good or better than hybrid except at hit@6; hybrid is kept for identifier-heavy queries. A small regression suite, not a benchmark.
09
The one wrong answer
It inferred “at least twelve months” from a termination clause instead of the stated 24-month term. Written up, not hidden.
Free-tier latency
p50 1.9 s but p95 14.5 s on the free tier, so caching and a waking notice matter.
Scanned PDFs
No OCR yet: scanned files are detected and explained rather than read badly.
10
46 / 47
Answers containing every expected fact
6 / 7
Unanswerable questions correctly refused
100%
Cited quotes verified in the source
1.0
Right page in the top 6 results (hit@6)
A small synthetic set written by the person who built the pipeline: evidence that grounding holds, not a benchmark. The one wrong answer and the failed refusal are described in the README.
11
Built with Claude Code under my direction: I set the product direction and requirements, and reviewed the design, code and evaluations.
Next project
FITFLOW AI →
Every lead followed up. Every client kept.