尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
A GST DRC-01C notice tells a taxpayer that their claimed input tax credit does not match what suppliers reported. It does not tell them why. This prototype adds that missing layer.
Live demo: https://prototype-blue-three.vercel.app
Repository: https://github.com/argaur/gst-itc-mismatch-explained
Built for Build What Moves India, a hackathon by Varun Mayya backed by OpenAI. The brief: pick a real problem on an Indian public-service platform and fix the failing moment in the process, not just the screen.
• Kriti Kandhari Kapoor
• Gaurav Gupta檢視完整 README ↗A GST DRC-01C notice tells a taxpayer that their claimed input tax credit does not match what suppliers reported. It does not tell them why. This prototype adds that missing layer.
Live demo: https://prototype-blue-three.vercel.app Repository: https://github.com/argaur/gst-itc-mismatch-explained
Built for Build What Moves India, a hackathon by Varun Mayya backed by OpenAI. The brief: pick a real problem on an Indian public-service platform and fix the failing moment in the process, not just the screen.
A GST DRC-01C notice shows one number: the gap between input tax credit claimed in GSTR-3B and input tax credit available in GSTR-2B. The government portal gives the taxpayer that gap and a form to reply to it. It does not show which invoice or supplier record caused the gap.
Most recipients do not have a retained accountant or a paid reconciliation tool on hand when the notice arrives, and the reply window is fixed. A missed or wrong reply can block a later GSTR-1 filing.
It sits between the notice and the reply. It takes the same aggregate mismatch, traces it row by row against a purchase and claim record, and shows the taxpayer the exact evidence behind the number before they write anything.
Round 1 shipped the core flow:
exact_match, missing_in_2b, possible_duplicate, later_period_match).Round 2 added two things a mentor asked for directly:
The reconciliation math and the row classification are deterministic code, checked by tests. OpenAI only explains and drafts language around findings that code has already verified. It never invents a number.
Real: the reconciliation logic, the schema validation, the OpenAI call, the error handling, the deployed app.
Synthetic: the notice, the taxpayer, the source records, the amounts, and the IDs. No live GST system, GST API, PAN, Aadhaar, OTP, or payment data is used anywhere. The app discloses this on every screen: INDEPENDENT SYNTHETIC PROTOTYPE · NOT GSTN · NOT TAX ADVICE.
prototype/ the deployed app
src/domain/ deterministic reconciliation and risk logic
src/contracts/ frozen types for findings, evidence, and the explanation envelope
src/views/ the four-step citizen flow (notice, evidence, explanation, review)
api/ Vercel functions: explain.ts, explain-risk.ts, ask.ts, supplier-filing.ts
tests/ 80 tests covering domain logic, validators, and the API layer
research/ secondary research on the 10 platforms in the hackathon brief
memory/ project decision log and session history
PRD.md sealed product requirements for the DRC-01C problem and mechanism
IMPLEMENTATION_PLAN.md the agreed build plan and stage gates
cd prototype
npm install
npm run dev # local dev server
npm test # 80 tests
npm run build # type-check and production build
The OpenAI-backed endpoints (api/explain.ts, api/explain-risk.ts, api/ask.ts) need an OPENAI_API_KEY environment variable to call the live model. Every deterministic path (reconciliation, risk classification, evidence display) works without it.
The prototype/ directory is a standalone Vercel project (root directory set to prototype), deployed to production on every push to main.