cd /news/ai-tools/receipts-i-built-a-local-ai-verifier… · home › topics › ai-tools › article
[ARTICLE · art-145086] src=dev.to ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

Receipts: I Built a Local AI Verifier for My Friend's Project Reports

A developer built Receipts, an open-source CLI tool that verifies claims in project documentation by running Google's Gemma locally through Ollama and cross-checking README, configuration, results, and dataset files. The tool labels each claim VERIFIED, CONFLICT, AMBIGUOUS, or UNVERIFIABLE with provenance, deliberately keeping the LLM out of the final judgment so deterministic Python code does the verification, and ships with an 85-test suite. The developer says the hardest part was defining exactly what the model is allowed to do, framing the design as "AI extracts. Deterministic code verifies.

by read2 min views2 publishedOct 5, 2026

My friend was working on project documentation where the README, configuration, results, and datasets could easily drift apart.

Instead of manually checking every number and configuration value, Receipts provides a quick, auditable report showing which claims are supported and which need attention.

Project folders can contain coursework, datasets, configuration files, and other information that shouldn't automatically be uploaded to a cloud AI provider.

Receipts uses Gemma locally through Ollama, so:

Most importantly:

The AI is not the final authority.

Verdict Meaning
VERIFIED Evidence supports the claim.
CONFLICT Evidence contradicts the claim.
AMBIGUOUS Multiple plausible pieces of evidence exist.
UNVERIFIABLE Suitable evidence could not be found.

Each result keeps provenance so the user can understand where the claim came from and what evidence was used.

Receipts does not execute project code, notebooks, or scripts while inspecting a project.

Receipts generates a self-contained HTML verification report containing:

The controlled demo contains examples of all four verdict types:

VERIFIED · CONFLICT · AMBIGUOUS · UNVERIFIABLE

GitHub: https://github.com/sm4006/Receipts The CLI generates a self-contained report.html file containing the verification results and provenance.

I used GitHub Copilot as a coding agent throughout development.

I worked from a written specification, implemented the system incrementally, reviewed each stage, added regression tests, and performed adversarial testing before moving to the next stage.

The main lesson from building this was that adding an LLM isn't enough.

You have to define exactly what the model is allowed to do.

For Receipts, that boundary is simple: That makes the result easier to test, audit, and trust.

Final test suite covered: Result: 85 tests → OK

The boundary between probabilistic AI and deterministic Python.

So:

AI → understand

Python → verify

Because when a project says:

"Our model achieved 94.2% accuracy."

I want the project to have the receipts — the evidence behind it.

Hardest part: deciding what the LLM was allowed to do.

Receipts was built for students/researchers who want a second check before submission.

Point it at the folder.

It checks.

If it can’t prove something, it says so. Receipts directly qualifies for the Hacktoberfest $100 partner categories:

Both categories emphasize open-source AI and Copilot-assisted development, which were central to how Receipts was built.

Extensions:

Principle stays the same:

AI extracts. Deterministic code verifies.

── more in #ai-tools 4 stories · sorted by recency
── more on @receipts 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/receipts-i-built-a-l…] indexed:0 read:2min 2026-10-05 · —