Live demo
Clinical Evidence Navigator
Ask a clinical question. It builds a PubMed query, runs it, pulls the abstracts, checks ClinicalTrials.gov, and only then writes an answer — citing nothing it did not retrieve.
Access code
This tool makes live calls to a paid model, so it runs behind a code. If you were sent here for a demo, you have one.
For educational use only. Not a substitute for clinical judgment, and not medical advice.
How it works
Retrieval first, then the model
The order matters more than anything else here. Ask a language model to recall a PMID and it will produce one — correctly formatted, plausible, and frequently pointing at a paper that has nothing to do with the question. The identifier looks right, so nobody checks it. That failure mode is the entire reason this tool is built the way it is.
1 · Plan
The model turns a plain-English question into a PubMed boolean using MeSH terms and field tags, plus a ClinicalTrials.gov keyword search. This is the one step where it works from its own knowledge — and the only thing it produces is a query.
2 · Retrieve
The server calls NCBI E-utilities and the ClinicalTrials.gov v2 API directly. Real titles, journals, years, publication types and full abstracts come back.
3 · Synthesise
Those records — and nothing else — go to Claude, with instructions to cite only supplied identifiers and to report conflicting findings as conflicting rather than picking a winner.
4 · Verify
Every PMID and NCT number in the answer is checked against what was actually retrieved. Anything that does not match is rewritten as "unverified" before it reaches the browser, and the count is shown. A prompt is a request; this is the enforcement.
Step 4 is the part worth stealing. Every retrieval system eventually meets a model that cites something it was not given, and the fix is never a better prompt — it is a check the model cannot talk its way past. The same pattern applies to any tool that has to be right about identifiers: order numbers, claim IDs, part numbers, account references.
Built on Next.js with no retrieval framework and no vendor SDK — two public APIs and the Anthropic Messages endpoint, called directly. The whole site ships three npm packages. See the rest of the work →
Need something that has to be right?
Most AI tooling fails quietly — it returns something plausible and nobody checks. If you have a process where being confidently wrong is expensive, that is the kind of problem worth talking about.