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 claim | How 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.
| Step | Times | Cost | Why |
|---|---|---|---|
| Reading a photographed document | 3 | ₹4.07 | Mostly the image itself. The system prompt is , so it is paid for once and read back cheaply after that. |
| Reading the tax statement (AIS) | 1 | Nothing | A 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 route | 3 | Nothing | The 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 route | 3 | ₹28.96 | Three calls. The Supporter and Challenger run at the same time, then the Referee reads both. |
| Building the claim pack | 3 | Nothing | pdf-lib fills fields from the 's answer. Templates, not generation, so the wording cannot drift. |
| One family, end to end | ₹33.04 | That 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
| Test | Cases | Result |
|---|---|---|
| Rule engine: correct route | 24 scenarios across 5 institutions | 24 of 24 |
| AIS parser: rows found | 3 synthetic statements | 13 of 13 rows |
| Dividend list parser: real published lists | 3 company lists, 1263 pages, downloaded at check time and never stored | 46,282 rows parsed, search finds 100 percent of a 1128 row sample |
| Claim pack builds | 5 institutions | 5 of 5 |
| Accessibility (axe, WCAG 2.2 AA) | 11 pages, light and dark | 0 serious or critical |
| Lighthouse, landing page, live deployment | 2 profiles, 3 runs each | Desktop 99 to 100, mobile 90 or better |
| Document reading: institution, number, holder, nominee | 3 sample documents, 12 fields | 12 of 12 |
| Debate: Challenger finds the planted problem | 3 scenarios with a known problem | 3 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.