
From a submitted manuscript to what you actually ship: PMC-ready JATS, structured references, production figures, optional AI copy editing, and a typeset proof on your journal’s page design — then a package to deposit or hand back to OJS.
This site is static on Cloudflare Pages. Production lives on app — so a busy or redeployed server never takes the front door with it.
What the manuscript gives you
<!-- Word, flattened to text --> Survival improved markedly in the treated cohort.³ Similar gains were reported in 2019.⁷ References 3. Ahmadi R, et al. Outcomes after adjuvant therapy. Arch Breast Cancer. 2019;6(2):41-8.
What Colophon emits
<p>Survival improved markedly in the treated cohort.<xref ref-type="bibr" rid="B3">3</xref> …</p> <ref id="B3"><element-citation publication-type="journal"> <article-title>Outcomes after adjuvant therapy</article-title> <pub-id pub-id-type="doi">10.32...
Measured, not asserted
We ran a published issue — fifteen research articles — end to end, then validated the output with the National Library of Medicine’s own style checker rather than our own opinion of correctness.
15/15
articles passing PMC’s style checker with zero errors
653
cross-references resolved, none left dangling
0
lines of final XML written by a language model
100%
of bibliographic references linked — the commercial baseline linked none
The work it does
01
Headings, sections, tables, captions, funding, ethics and affiliations from the manuscript’s own structure — not a flattened guess.
02
Typed, structured, checked against Crossref and PubMed. In-text markers — including superscripts — link back to the entry they name.
03
Multi-panel plates as fig-group, production files per panel, captions that stay with their object.
04
Tracked suggestions when the issue buys editing. Accept or refuse; unfinished editing cannot ship into typeset or package.
05
Journal template and house colour once; every proof follows them. Paginated PDF from the same reviewed record as the XML — then accept pages from the proof.
06
PMC stylesheets offline; DTD on request. A checker that could not run reports unknown — never a pass. Download the ZIP or return the galley.
How you connect
The web app, the OJS plugin, and the HTTP API all reach the same services — upload, pipeline, package — so a rule fixed once protects every path.
Web
Drop a DOCX, choose journal and issue, watch the stages. Blockers stay on the page; Resume continues the same run. Built for operators who want the workbench without a chat thread as the main UI.
OJS
Connect the journal once (pairing — no key-pasting as the happy path). From copyediting, send the manuscript; Colophon returns the finished package to the production file stage and can attach the galley on publish. Status and credits stay visible in the OJS panel.
API
Programmatic create: manuscript plus optional JATS <front> metadata in one call. Idempotent submissions, status polling, the same pipeline Convert uses. For hosts that already automate intake — or that will.
How it behaves
Generation is rule-based from reviewed metadata. No language model writes production XML — so the same record always yields the same package, and a defect is reproducible rather than probabilistic.
Once an operator approves a field, a reference or an asset, it is canonical until a person changes it again. Every stored value records where it came from, and a less-trusted source cannot quietly overwrite a better one.
Extraction, cleanup and copy-editing arrive as pending proposals with a visible diff. Accepting is an act, not a default — and edits that invent a number, a citation or an identifier refuse themselves outright.
Manuscripts are permission-controlled per journal and per role. Nothing is published, deposited or sent anywhere without someone deciding that it should be.
If you already know what a correct package looks like — JATS, proof PDF, and the checks in between — you should be able to produce one, inspect it, and deposit it the same afternoon. From Convert, from OJS, or from your own automation.