Inspiration

India runs hundreds of welfare schemes, yet the people they are meant for often cannot find out which ones they qualify for. The criteria sit in long government documents, in formal language, and a family can miss out simply because nobody told them. At the same time, the officers who run these schemes work from scattered records, where the same person can be enrolled twice under slightly different spellings. I wanted one clear view: which schemes exist, who is enrolled, and — in plain language — why a person does or does not qualify.

What it does

YojanaSetu is a privacy-conscious data-intelligence platform for government-scheme delivery in Uttarakhand, built solo on 10 November 2026.

  • Scheme registry: 9 schemes (8 real national schemes plus one clearly labelled representative state scheme), searchable by name and category, with benefit details and eligibility criteria.
  • Beneficiary lookup: search by ID, name or district and see one holistic view of a person's scheme participation, with each enrolment citing its source department and record.
  • Duplicate detection: deterministic matching on name, date of birth, district and family reference, with a confidence score and per-field evidence, so the same person enrolled twice can be spotted.
  • Eligibility trace: pick a person and a scheme to see a rule-by-rule PASS / FAIL / UNKNOWN trace, each rule citing its source — so anyone can see exactly which condition was met or missed, in plain language.
  • Officer dashboard: totals across the demo data (22 people, 25 enrolments, 9 schemes, 13 districts), enrolments by district and scheme, and duplicate statistics.
  • 3D district map: a CSS-3D map of all 13 Uttarakhand districts, where block height shows enrolment volume; clicking a district filters the dashboard.

How I built it

Python 3 standard library only — no pip installs, no CDN, no external assets, no secrets and no environment variables. The core (scheme data, governance logic, duplicate matching and eligibility rules) is plain Python served over WSGI, with a Vercel serverless adapter for the live deployment and an HTML, CSS and JavaScript front end. Tests cover duplicate matching (exact, near-miss, same-name-different-date-of-birth, no match), eligibility traces and the dashboard totals.

Challenges I ran into

Turning scheme criteria into rules a computer can trace without losing the human meaning: every rule needed a source citation so a FAIL is explainable rather than a black box. I also had to design for privacy from the start — the demo uses only synthetic, fictional people, so no real citizen data is ever handled.

Accomplishments that I'm proud of

An end-to-end flow from "who is this person?" to "which schemes, and why?" with every eligibility answer traceable to its rule and source, plus duplicate detection that shows its evidence instead of just a score.

What I learned

That explainability matters as much as accuracy in welfare technology: a person who is told they do not qualify deserves to know which rule failed and where it came from. I also learned to be careful with data provenance — scheme figures here are a curated snapshot of widely published headline criteria, not an official source.

What's next for YojanaSetu

Pulling scheme criteria from official sources so figures stay current, adding consent-based identity checks for real deployment, and expanding the registry beyond the 9 demo schemes.

Important: all people, IDs and enrolments in the demo are fictional and invented for demonstration. Scheme figures are a curated snapshot of published headline criteria and are NOT an official source — verify current criteria at myscheme.gov.in. One scheme, "Hill Transport Support", is labelled REPRESENTATIVE and was invented to show how a state scheme plugs into the same governance layer. Never use this demo for a real eligibility decision.

Built With

Share this project:

Updates

Submission history