What is real and what is pretend
This is a student prototype. Here is exactly where the line is.
| Real in this prototype | Pretend |
|---|---|
| The whole journey, start to finish | Aadhaar number, the code on the phone, the PPO lookup |
| Taking the photo and checking its quality | Matching your face against the government database |
| The plain-language explanation when something needs fixing (live OpenAI call) | The pension office system that gives the result |
| The check on your photo before it is sent (live OpenAI call) | The message to your phone (written to a visible outbox instead) |
| Spoken guidance in every language here, including the ones no phone has a voice for | Bank and post-office links |
| The status state machine and its audit log |
See the messages we would have sent
In real life this goes to
| What do you need to do? | In real life this goes to | The real form is |
|---|---|---|
| Old-age pension | nsap.nic.in | NSAP application form |
| Widow pension | nsap.nic.in | NSAP application form |
| Disability pension | nsap.nic.in | NSAP application form |
| Pension from your PF | unifiedportal-mem.epfindia.gov.in | Form 10D |
| Government service pension | bhavishya.nic.in | Form 6-A |
| Put money aside now for a pension at 60 | npscra.nsdl.co.in | APY subscriber registration form |
| Free grain every month | nsap.nic.in | NSAP application form |
| Take over a pension after a death | pensionersportal.gov.in | Form 14 |
| Money after a death in the family | nsap.nic.in | NSAP application form |
| Prove you are alive | jeevanpramaan.gov.in | — |
| Move your pension to another bank | cpao.nic.in | Pension transfer request |
| Extra pension after 80 | pensionersportal.gov.in | — |
| Get back the part of your pension you sold | cpao.nic.in | Restoration request |
| My pension has not come | pgportal.gov.in / CPENGRAMS | — |
How this would work at real scale
Where it plugs in. This is a front end. In production it would call the existing Jeevan Pramaan and UIDAI face-match services through an authorised pension-agency integration — the government stays the system of record. Nothing here duplicates a government database.
What we would never store. Aadhaar numbers, fingerprint and face data, and photos are all transient. The photo goes to the matching service and is discarded; only the resulting reference number and status persist.
The AI is advisory only. It never decides an outcome. It only explains an outcome the government system already returned, and warns about a photo before it is sent. A wrong AI guess costs one retake, never a pension.
Falling back to humans. Every dead end routes to a phone number and a list of nearby help centres. Digital-first must not mean digital-only.
Scale. Roughly one crore submissions a year, heavily concentrated in November and December. That is a queue problem, not a compute problem — the async job model used here is the shape of the answer. Staggering reminders by PPO series would flatten the peak.
Accessibility as infrastructure. Eleven languages here, and the twelfth is a data file: one row in the registry and a dictionary that may start out half-written, because every string falls back rather than breaking. Twenty-two scheduled languages is a content problem, not a rebuild.
For the technically curious
Next.js 15 App Router, TypeScript, Tailwind v4. The mock pension office is a state machine with an audit log, behind real HTTP route handlers, backed by an in-memory Map — in production a Postgres table and a job queue. The OpenAI model gpt-4o-mini is called only from the server, only for the two jobs above, and every call has a hardcoded fallback so the app works with the key removed.