Skip to content
Virasathome

Proof

Do not take our word for any of this

Every project says it is fast, accessible and tested. Below is each thing we claim, next to the command that would prove us wrong. Nothing on this page needs our permission to check, and the audit writes down failures as readily as passes.

What we claimHow you check it
The prototype works, deployed, with no sign up.Open the app and press one button. Open
The source is public, MIT licensed, with the full history.github.com/usv240/virasat Open
The tests pass, and not just on the author's machine.GitHub Actions runs lint, the writing rules, types, tests and a production build on every push. Open
The picks the right claim route.npm test
No page has a serious or critical accessibility problem, in either theme.npm run audit
The site is fast on the real deployment, not only on a laptop.npm run audit, which runs Lighthouse three times and publishes the range rather than the best run.
One family costs a measurable amount of AI, and we publish the figure.npm run measure:cost, which runs the app's own extractor and debate and rewrites the token counts.
The AI reads the sample documents correctly, and the Challenger finds planted problems.npm run eval
The claim rules are readable, versioned data, not opinions buried in code.GET /api/v1/rules, or read src/lib/rules.ts. Open
Every number about comes from a named public source.Each one links to the document it came from. Open
The last audit run is written down, including anything that failed.docs/AUDIT-REPORT.md in the repository, rewritten by every run. Open

One command runs the lot: npm run audit. It writes docs/AUDIT-REPORT.md with the date, the commit it tested and anything that did not pass.

Unit economics

One family costs about ₹36.44 of AI

Saying a thing will scale is easy. Here is the arithmetic instead. A family in the model is Sunita's: three documents photographed, one tax statement read, three claim routes decided and reviewed. Most of that journey costs nothing per family, because most of it runs in ordinary code. AI is used only where it has to be: reading a photograph, and arguing about a route.

StepTimesCostWhy
Reading a photographed document3₹4.07Mostly the image itself. The system prompt is , so it is paid for once and read back cheaply after that.
Reading the tax statement (AIS)1NothingA table parser in code, not an AI call. No , no per-family cost, and the same input always gives the same rows.
Deciding the claim route3NothingThe is a versioned file, not a model. This is the part that must never be creative, so it never asks an AI.
The AI Review checking the route3₹28.96Three calls. The Supporter and Challenger run at the same time, then the Referee reads both.
Building the claim pack3Nothingpdf-lib fills fields from the 's answer. Templates, not generation, so the wording cannot drift.
One family, end to end₹33.04That run had a warm prompt cache. A family arriving on their own is a cache miss, which the same script measured at ₹36.44, so ₹36.44 is the figure we publish everywhere. Against an average of ₹38,700 returned per family at Gujarat's camps, that is about 1,062 rupees recovered for every rupee of AI spent.

Prices from Anthropic published prices, checked 2026-09-21. Converted at 88 rupees to the dollar. Token counts are measured, last on 2026-09-21. Run npm run measure:cost to replace them with what the API actually reports.

What happens at ten million families

The answer is not this number multiplied out, because the same work can be routed differently once volume is the constraint. These are levers that exist today, not plans.

₹36.44

As built today

Every AI step runs on the most capable model, live, while the family waits.

₹18.22

Overnight reconciliation moved to the Batch API

Work that nobody is waiting on costs half as much.

₹11.92

The debate moved to a smaller model, reading left on the largest

The is 84 percent of the cost, and a smaller model caught the same 3 of 3 planted problems. Reading a faded passbook stays on the largest model, where the same test showed a smaller one drops from 12 of 12 fields to 10 of 12. Measured by npm run eval, not assumed.

Put it at national scale. At the lowest figure above, serving 1 crore families costs about 12 crore rupees of AI in total, to move ₹1.84 lakh crore back to the people it belongs to. The compute is not what makes this hard. Reaching the families is, which is why the plan below is about service centres rather than servers.

Measured

What the tests actually found

TestCasesResult
Rule engine: correct route24 scenarios across 5 institutions24 of 24
AIS parser: rows found3 synthetic statements13 of 13 rows
Dividend list parser: real published lists3 company lists, 1263 pages, downloaded at check time and never stored46,282 rows parsed, search finds 100 percent of a 1128 row sample
Claim pack builds5 institutions5 of 5
Accessibility (axe, WCAG 2.2 AA)11 pages, light and dark0 serious or critical
Lighthouse, landing page, live deployment2 profiles, 3 runs eachDesktop 99 to 100, mobile 90 or better
Document reading: institution, number, holder, nominee3 sample documents, 12 fields12 of 12
Debate: Challenger finds the planted problem3 scenarios with a known problem3 of 3 (a single reviewer found 3 of 3)

The full notes, including the known limits, are on the Transparency page.

Limits

What we are not claiming

A judge who finds one overstatement stops believing the rest of the page. So here are the limits, written down by us rather than found by you.

  • We have not connected to any bank, insurer or government system. Every claim is submitted by the family through the official portal, as it is today.
  • The unpaid-dividend index in the prototype is sample data shaped like the real lists, not a republished copy of them.
  • improves transparency and catches planted problems in our tests. It is not a guarantee of correctness, and it never overrides the .
  • We have for five institutions. Everything else routes to a needs-review path rather than guessing.
  • Hindi and English only so far.