Inspiration

A report can read convincingly while its numbers disagree with the data behind it. Denominator explores a review workflow that connects numerical claims to explicit calculations and source rows, while leaving interpretation and corrections to a person.

What it does

Denominator checks numerical claims in a report draft against one CSV. NVIDIA Nemotron identifies claims and proposes typed calculation plans. A deterministic Python engine validates those plans, computes results, and shows row evidence. A reviewer resolves ambiguous wording and approves individual corrections. Export changes approved numbers only; replacing the CSV clears approvals and recalculates without another model call.

How it is built: NVIDIA and Nebius

The live model is NVIDIA Nemotron 3 Super (nvidia/nemotron-3-super-120b-a12b), served by Nebius Token Factory. It proposes exact claim spans and calculation plans; it does not execute code or approve edits. Python performs supported count, distinct, sum, and ratio calculations. The app serves a browser-based review workflow through a Python API.

Live mode sends draft text, CSV column names and types, and limited short category labels to Nebius. CSV rows are not sent to the model. A failed model call is shown as a failure, rather than silently replaced by prepared checks.

Challenges and lessons

A numerical claim can depend on an unstated denominator, filter, or meaning of a category. Correct arithmetic cannot resolve that ambiguity. The design separates model proposals, deterministic computation, row evidence, and human approval so reviewers can inspect the assumptions before accepting a correction. Model variability and exact text spans also make validation essential.

Demo and testing instructions

Open https://denominator.billymrx.com/ — no login is required. The public demo uses fictional data with planted mistakes; uploads are disabled. Choose “Check the sample report with Nemotron” for a live model call when available, or “Use prepared checks instead (no model call)” for the labelled prepared workflow. Inspect “How this was calculated,” review the row evidence, resolve ambiguous wording, approve selected corrections, and export the corrected draft. Live output may vary.

The 1 minute 49 second video opens with a recorded live model call. The later review/export walkthrough uses clearly labelled prepared checks. It is not one uninterrupted live call.

For local testing, follow the public repository README: install Python 3.12+ and uv, run uv sync --frozen, then uv run uvicorn denominator.api:app --host 127.0.0.1 --port 8000. Open http://127.0.0.1:8000/. Local mode supports a .md or .txt draft and one .csv file. Set your own Nebius Token Factory key as documented to enable model extraction. Offline tests can be run with uv run pytest; this submission does not claim an independently verified test pass or measured model accuracy.

Limitations and next steps

This is a hackathon prototype, not a factual certification service. A match means agreement with the supplied rows, not that those rows are true. It handles one CSV and a limited set of calculations. Live model output may vary, and ambiguous claims require human judgment. The public demo is synthetic-only. Local mode is single-user, must remain on loopback, and keeps one in-memory audit that disappears on restart. No measured accuracy, time savings, superiority, or real-world validation is claimed. Further evaluation would need broader datasets and explicitly defined review criteria.

Built With

Share this project:

Updates

Submission history