Upload a draft — the pipeline flags statements that need support and recommends real papers from live academic databases. Every suggestion is retrieval-grounded: the model only selects and ranks, it never invents a reference.
You may have seen chatbots invent plausible-looking papers. This tool closes that door by design: it searches nine scholarly databases — Semantic Scholar, OpenAlex, Crossref, arXiv and more — and the AI's only job is to choose and rank among what the search actually returned. Under the hood, that discipline is engineered: a deterministic pipeline, schema-validated model calls, per-source rate governance, resumable on-disk artifacts.
Recommendations come from live database searches, never from the AI's memory. Each one carries its DOI or arXiv link, so you're one click from the actual paper — and every score comes with a stated reason you can weigh for yourself.
Common knowledge, your own findings and pure derivations are explicitly off-limits, and each section has a flagging budget — citation-dense ones like Related Work get more headroom. Your draft comes back annotated, not carpeted.
For the technically curious: a deterministic S0→S5 workflow whose model calls are schema-validated with automatic retry (via agentmaker), nine search adapters behind one protocol, per-source throttles honouring each API's etiquette, and stage artifacts that make runs resumable, diffable and fully offline-testable.
No — not won't, can't. The AI never writes a citation; it returns index numbers into the list the search produced. A number outside the list is discarded by code, and an unscored candidate defaults to zero. Fabrication isn't discouraged — it's unrepresentable.
Courtesy, mostly. arXiv permits one request every three seconds; other databases meter by the second, and each waits in its own queue so it never delays the rest. Brute-force parallelism can't help — quotas are enforced server-side, so ten connections would just collect ten refusals. What I have done: merging a sentence's queries into one OR-request, which cuts the wait several-fold without losing a single result.
Only if scores share a scale — so all of a sentence's candidates are judged in a single look rather than one at a time, which would cost ~30× the calls and produce scores that drift between them. Every score also states its reason, so you can hold it against the abstract yourself.
Keyword search often won't — older papers speak yesterday's vocabulary. The snowballing step reads your best matches' reference lists and surfaces the paper they cite in common, matching identities across DOI and arXiv records so one classic isn't split into two half-counts. Live case: the original RAG paper, missed by three rounds of search, recovered and re-scored 10/10.
The run bends; it doesn't break. A failing source costs only its own results, a corrupted cache entry counts as a miss, and an error on one sentence can't discard the finished work of the others. You still get the full report from whatever answered.
Because it's built to be measured. A cutoff date — enforced at the API and re-checked locally — lets you replay history: strip a published paper's bibliography and count how much gets recovered. Snowballing ships off by default to keep that baseline clean, and every stage writes its output to disk, so any two runs can be diffed line by line.
Six need no key at all; Exa, CORE and Lens join automatically when a key is configured. The number on each pill is that source's enforced minimum gap between requests — a slow source queues itself, never the others, and a failing one costs only its own results.
The pipeline runs right in front of you — five stages, live progress, and a report you can take with you.
Try it with your draft