Play the video in the post belowchoxos/jev-reviewer on GitHub
- Stars
- 33
- Forks
- 6
- Language
- JavaScript
- License
- MIT
- Last push
- 19 Sep 2026
Post on X
- Views
- 23,851
- Likes
- 244
- Reposts
- 31
Read from GitHub and X on . Counts change daily.
Reported by the author
- Input price
- $0.042/M tok
PRICE_PER_M_INPUT_TOKENS_USD = 0.042
github.com
Jev Reviewer runs in Chrome alongside a trial report and its supplements, protocol, analysis plan or data tables. A reviewer asks for what their extraction form needs, things like inclusion criteria for age, baseline age, how many participants were randomized, or who funded the study, by voice, by typing, with a question file, or with a built-in template such as RoB 2, ROBINS-I, QUADAS-2 or TIDieR. It accepts PDF, Word, Excel, PowerPoint, OpenDocument, RTF, saved web pages, CSV, TSV, plain text and Markdown, and nothing leaves the browser: everything is stored locally rather than uploaded to a server.
Jev never generates text. For each question it points at a line id in the source document, and code copies the exact quote out of the file rather than letting the model paraphrase it. Every answer in the extraction table comes with its file, page, paragraph, row or slide, highlighted in place, so a reviewer checks the quote against the source before ticking it off. The tool runs on jev-1.13.0. A project’s studies can be imported from a reference manager (EndNote, Zotero, Mendeley) or a database export like PubMed or Covidence, its questions answered across every study at once, and the results exported one row per study or one row per quote.
It runs at jevreviewer.xera.ac or the GitHub Pages mirror, with no API key or install.
How it uses Jev
export const MODEL = "jev-1.13.0"; // pinned: aliases move on release; thresholds below were tuned on this version
export const PRICE_PER_M_INPUT_TOKENS_USD = 0.042; // output tokens are free
export const TYPESAFE_URL = "https://api.typesafe.ai/v1/systemone";
// Relay used by static copies of the app, such as GitHub Pages: the TypeSafe API does not accept
// requests from browser pages, so they go through server.js running on jevreviewer.xera.ac.
export const DEFAULT_RELAY = "https://jevreviewer.xera.ac";