Citation checking desk for manuscripts and AI-assisted drafts

By General Input

Check every reference in a draft against the official record of published research, and see exactly which ones are wrong before it goes out the door.

Integrations

  • Crossref
  • OpenAlex
  • Google Docs

Type

App

Categories

  • Operations

I want a bibliography checking desk I open before anything goes out the door, especially drafts written with AI help. Build it as an app with three surfaces: a check screen where I start a new check, a verdict table for the document I am currently checking, and a history list of everything I have checked before.

The check screen takes input two ways. I can paste a raw reference list straight into a text box, or I can paste a Google Doc link or document ID and have the app pull the manuscript text with Google Docs Get Document. When it pulls a document, find the reference or bibliography section and extract the entries from there, and also pick up any in-text citations that never made it into the list. Show me the parsed references and let me correct or delete any that the parser split badly before I run the check.

Parse each reference into structured fields: authors, title, year, container such as the journal or book or publisher, volume, issue, pages, and the DOI if one is present. Keep the raw string exactly as written, because every later comparison is against what the draft actually claims.

Resolve each reference against Crossref. If the reference carries a DOI, look it up with Get Work by DOI, and use Check Work Exists when I am re-running a long list and only need to know which DOIs resolve at all. If the reference has no DOI, use Search Works with the whole bibliographic string as the query and take the top candidates. If a DOI does not resolve in Crossref, call Get Work Registration Agency on it, because a DOI that belongs to DataCite or another agency is a real DOI that Crossref simply does not hold, and that is a very different finding from a DOI that exists nowhere.

When Crossref has no match, fall back to OpenAlex before making any judgement. Use OpenAlex Search Works on the title and author string, and Get Work when there is a DOI or another identifier to resolve directly. OpenAlex covers preprints, datasets, theses and books that were never registered with Crossref, so this fallback is what stops the app from flagging a legitimate arXiv preprint or an older book as fabricated.

Give every reference one of three verdicts. Verified means a canonical record was found and the key fields agree with the draft. Mismatched means a record was found but something in the draft is wrong: the year, an author who is not on the paper, a different journal, or a title attached to a DOI that belongs to another work. Unverified means no confident match was found in either catalog. Word that third verdict as unverified and never as fabricated or fake. The app reports what the catalogs can confirm, and the absence of a record is not proof of invention.

Matching must be conservative, because a near miss presented as verified is worse than no answer at all. Require a confidence threshold on fuzzy title and author matching before the app claims a match. When the best candidate sits below that threshold, show the reference as unverified with the candidate listed as a possible match rather than silently accepting it, and show the confidence score on every matched row.

The verdict table lists every reference with its verdict, the matched title and a short reason. Sort mismatches to the top by default, then unverified, then verified, because mismatches are exactly the ones people skim past. Show a count for each verdict above the table, and let me filter by verdict and search the list.

Clicking a row opens a side by side comparison: what the draft claims in one column and the canonical record in the other, field by field, with every differing field highlighted. Say which catalog the record came from and link out to the DOI. When the DOI turns out to belong to another registration agency, say so in plain words on this screen.

Give me a copyable cleaned reference list built from the canonical metadata for every reference that resolved, in a consistent style, with one button to copy the whole thing. Leave the unverified entries in the list but mark them clearly so I know they were not confirmed.

Keep a history of every document checked, with the document name or source, when it was checked, and the verdict counts. Let me reopen any past check and see the full table and the comparisons again. Persist the checks and their results so the history survives across sessions.

The people using this are researchers, students, editors, publishers, and legal and healthcare writers, so keep the language plain and the claims careful. The three failure modes worth catching are an entirely invented paper, a real title attached to a fabricated DOI, and a real article credited to authors who never wrote it. The comparison view should make each of those obvious without the reader knowing anything about how the lookups work.

Related prompts

Explore more prompts
A searchable RFP answer library your bid team drafts fromRun your weekly Lever pipeline review and decide in the appLinkedIn creator sourcing and vetting workbench for B2BTurn outbound replies into objection themes you can fixVessel due diligence desk for pre-fixture screeningTurn any influencer campaign into a client-ready reportJob search command center with live listings and pay contextOffer desk that prices one role against the live marketTrack which pages and brands win your buyers' questionsBenchmark your Instagram account against rival brands