Inspiration

Rajan is 42 years old. He lays bricks in Chennai for ₹9,000 a month. He has an Aadhaar card, a ration card, a basic Android phone, and two children under five. His mother is elderly.

He qualifies for Ayushman Bharat PM-JAY (₹5,00,000 free hospitalisation per year), the Tamil Nadu CM Health Insurance Scheme, the Universal Immunisation Programme for his children, and the National Programme for Healthcare of the Elderly for his mother.

He has never heard of any of them.

India runs 400+ government health schemes covering hospitalisation, maternity, disability, dialysis, and elderly care. The Ayushman Bharat scheme alone insures 500 million people — at zero cost. Yet utilisation sits below 20%. A 2023 NITI Aayog report found the single largest barrier: eligible citizens simply do not know these schemes exist.

Government portals are in English. They require navigating complex eligibility trees. They were not built for a first-generation smartphone user whose primary language is Tamil or Odia.

SchemeSaathi was built for Rajan.


What it does

SchemeSaathi is a Progressive Web App that acts as a personal health scheme advisor.

A user answers a few simple questions — by voice or text, in their own language — about their state, income, family size, and health needs. In seconds they receive a personalised list of every government scheme they likely qualify for, explained in plain language, ranked by urgency, with step-by-step application instructions.

  • ✅ 32 central + state health schemes across all 28 states and 8 UTs
  • ✅ 12 Indian languages — Hindi, Tamil, Telugu, Kannada, Bengali, Marathi, Odia, Gujarati, Malayalam, Punjabi, Assamese, Urdu (RTL)
  • ✅ Voice input via Web Speech API — accessible for low-literacy users
  • ✅ 100% offline after first load — works with zero mobile data
  • ✅ Runs on any smartphone from 2015 onward
  • ✅ No app store install needed — it's a PWA
  • ✅ WhatsApp share to forward results to family in their language

How I built it

SchemeSaathi uses a 5-step AI grounding pipeline:

Step 1 — Local Eligibility Filter A hand-curated schemes.js database with structured eligibility rules (income ceiling, age range, gender, state, category) runs entirely on-device. Instant. Free. No API call needed for the first cut.

Step 2 — Microsoft Work IQ Grounding The filtered scheme list and user profile are sent to the Microsoft Graph Search API, which retrieves relevant official government policy documents. This grounds the AI response against real source documents and reduces hallucination risk.

Step 3 — Claude AI Reasoning Grounded context is passed to claude-sonnet-4-20250514. Claude ranks schemes by urgency, explains each in the user's chosen language in plain terms, and generates a document checklist for application.

Step 4 — Results UI Scheme cards with urgency badges, benefit amounts, document checklists, and a follow-up question interface.

Step 5 — Offline Fallback If the API is unavailable, a service worker serves cached results from i18n.js. The app never crashes and never shows a blank screen.

Zero NPM dependencies. Zero frameworks. Zero build step. Deployed via GitHub Actions to GitHub Pages.


Challenges I ran into

Eligibility logic is complex. Schemes have overlapping age ranges, gender-specific rules, income ceilings that differ by state, and category-based eligibility. Writing a filtering engine that handles all edge cases without false positives required careful schema design.

Multilingual AI output is hard to control. Getting Claude to consistently respond in Tamil or Odia — not fall back to English — required careful prompt engineering with explicit language enforcement.

Offline-first is not easy. Making the service worker correctly cache assets, handle fetch failures gracefully, and serve a useful offline experience took significant iteration.

Accessibility at this scope. Supporting 12 languages, RTL for Urdu, voice input, keyboard navigation, and 200% zoom — simultaneously — required constant testing.


Accomplishments I'm proud of

  • A real user can open this app, speak in Tamil, and get a complete actionable scheme recommendation in under 30 seconds
  • Zero external dependencies — just a URL, no install
  • Offline mode genuinely works in a village with no mobile signal
  • Full ARIA accessibility — screen readers, keyboard users, and low-literacy voice users are all first-class citizens
  • Built entirely solo — design, code, AI pipeline, multilingual support, and deployment

What I learned

Building for Bharat is different from building for the internet. The assumptions that underlie most web development — fast connections, English literacy, modern devices — are wrong for the 500 million people this app serves. Every architectural decision had to be questioned through that lens.

AI grounding is not optional when the stakes are real. An ungrounded LLM hallucinating a scheme benefit amount could cause a family to make a wrong healthcare decision. The Microsoft Work IQ integration is not a feature — it is a responsibility.


What's next

  1. Aadhaar eKYC integration — auto-fill eligibility from verified identity, eliminating the profile form
  2. ASHA worker mode — bulk entry so community health workers check eligibility for multiple families at once
  3. Application status tracker — track submissions with push notifications
  4. Scheme update alerts — notify users when a new qualifying scheme launches in their state
  5. Text-to-speech — read results aloud for very low literacy users

Built With

Share this project:

Updates