Notice, Explained:
the evidence behind the number.
A GST notice tells a taxpayer that their credit does not match. It does not say why. This prototype shows which rows caused the gap, before the taxpayer writes a reply.
The short
version.
At a glance
| Role | Built with Kriti Kandhari Kapoor. We shared every role. |
| When | Aug 24 to 28, 2026: five days from the narrowed brief to a live prototype. Round 2 followed. |
| Built for | Build What Moves India, a hackathon by Varun Mayya backed by OpenAI. The platform is the GST portal. |
| What shipped | A tool that traces a GST DRC-01C mismatch row by row, explains the findings with a grounded OpenAI call, and drafts a review-only reply. |
| Result | Top 250, rank 64 of 13,694 applications. 80 tests on logic, validators and the API layer. |
| Limit | Synthetic data only. Not GSTN. Not tax advice. |
| See it | Live prototype ↗ Source ↗ |
What I built
OverviewBuilt with Kriti Kandhari Kapoor, from my cohort, for Build What Moves India, a hackathon by Varun Mayya backed by OpenAI. We shared every role. We built it in five days and placed in the Top 250: rank 64 of 13,694 applications.
One number,
no reason.
01 · ProblemA GST DRC-01C notice shows the gap between the input tax credit a taxpayer claimed and what their suppliers reported. The portal gives the gap and a form to reply. It does not show which invoice or supplier record caused it.
Most recipients have no accountant or reconciliation tool on hand when the notice arrives. The reply window is fixed, and a wrong reply can block a later filing.
Between the notice
and the reply.
02 · Flow- Show the notice and the total difference.
- Reconcile row by row in plain code. Each row is labelled: exact match, missing in 2B, possible duplicate, or later-period match.
- Explain the findings. The model only explains what the code has already checked, and cites the rows.
- Draft a review-only reply the taxpayer can copy, print or discard.
A second round added a risk screen for supplier-filed bills the taxpayer must act on, and a question box in Hindi or English that answers by citing real row IDs.
What is real,
what is synthetic.
03 · Honesty| Real | Synthetic |
|---|---|
| Reconciliation logic and schema checks | The notice and the taxpayer |
| The OpenAI call, run server-side with a strict output schema | Source records, amounts and IDs |
| Error handling and the deployed app | Everything a citizen would enter |
Not GSTN. Not tax advice. No live GST system, API, PAN, Aadhaar, OTP or payment data is used. The app says this on every screen.
Five days,
ten portals.
04 · Timeline- Aug 24. The brief narrowed to 10 government platforms. We researched all ten.
- Aug 25. We picked the Cyber Crime portal and CPGRAMS.
- Aug 27. We switched to the GST DRC-01C notice and locked the problem.
- Aug 28. We approved the final flow, built it, deployed it and submitted. That is five days from the narrowed brief to a live prototype.
- Round 2. The Top 250 got a week of mentorship. We added the risk screen and the question box, and resubmitted.
Kriti Kandhari Kapoor and I shared every role, from research to build. The submission window ran to Aug 29. We shipped on Aug 28.
What came
of it.
05 · ResultThe prototype shipped and is live. It placed in the Top 250. It runs on synthetic data. No real taxpayer has used it, and I make no claim about accuracy on real notices.
The design choice I would keep: code decides, the model explains. That kept the numbers checkable and kept the model away from anything it could invent.