DEV Community

Alan De Bortolo
Alan De Bortolo

Posted on

Six small open-source helpers for Indian government schemes, in Hindi and English

Over the last two weeks I built six small web helpers for Code for a Billion 2026, the hackathon run by Code for India. Each one answers a question an Indian family actually asks at a bad moment, quotes the official rule it relies on with a link to the source, and gets the person to the official channel with the right words and the right papers in hand.

They share one design. Static HTML and JavaScript, 30 to 70 KB in total, no framework, no account, no cookies, no paid API, so they load on a cheap phone on a weak connection. Everything the person types stays on the phone. The only server code is a tiny Cloudflare Worker that counts anonymous events, and those counters are public at /stats on every app. One question per screen, big buttons, Hindi and English, and Read aloud where the phone has a Hindi or Indian English voice. None of them promises an outcome, shows an amount that is not in the official text, or asks for an Aadhaar, account or phone number.

The six

Nyaya Sahayak (न्याय सहायक): am I entitled to free legal aid?
Section 12 of the Legal Services Authorities Act, 1987. The result card lists the clause or clauses that apply and why, then drafts a printable application to the Secretary of the District Legal Services Authority with a checklist of documents.
Live: https://nyaya-sahayak.designmaster.workers.dev · Code: https://github.com/DesignMaster-Solutions/nyaya-sahayak

Ghar Ki Hawa (घर की हवा): how dirty is the air inside my room today, and what is the cheapest thing that cleans it?
Place, room size, windows, purifier (CADR from the label, or a home-made fan box from the US EPA list). The outdoor number comes from the live forecast; the indoor estimate is always a low-high range, never one number.
Live: https://ghar-ki-hawa.designmaster.workers.dev · Code: https://github.com/DesignMaster-Solutions/ghar-ki-hawa

Fasal Nuksan Sahayak (फ़सल नुक़सान सहायक): my crop was damaged; do I have to report it, and by when?
PMFBY Operational Guidelines 2023, quoted by paragraph. A 72-hour countdown in India time, the channels in order (Call 14447 first, then the Crop Insurance app, the WhatsApp chatbot, the insurer of the State, the bank or agriculture office), and a report to read out on the phone with only what the farmer typed.
Live: https://fasal-nuksan-sahayak.designmaster.workers.dev · Code: https://github.com/DesignMaster-Solutions/fasal-nuksan-sahayak

Bhugtan Sahayak (भुगतान सहायक): my government payment did not arrive.
PM-KISAN, old-age, widow or disability pension, MGNREGA wages, a scholarship, the LPG subsidy, a State cash scheme. The most likely reasons the Direct Benefit Transfer failed, in order; for each one the official way to check it, how to fix it, where to go, what to carry, and a ready request to show at the counter.
Live: https://bhugtan-sahayak.designmaster.workers.dev · Code: https://github.com/DesignMaster-Solutions/bhugtan-sahayak

Chhatravritti Sahayak: which government scholarship may fit me this year?
Six questions (course, State, category, income band and so on) against the schemes on the National Scholarship Portal: where to apply (NSP or the State portal), by when, with which documents, and the four checks that keep an approved scholarship from getting stuck before it reaches the bank. It never says "eligible for sure".
Live: https://chhatravritti-sahayak.designmaster.workers.dev · Code: https://github.com/DesignMaster-Solutions/chhatravritti-sahayak

Ayushman Sahayak (आयुष्मान सहायक): we are being asked to pay at the hospital; are we covered?
PM-JAY rules with their sources, how to check officially (the Ayushman App, beneficiary.nha.gov.in, Ayushman Sarathi on WhatsApp, the PM-JAY desk at the hospital), one short line to say at that desk, what to keep, and 14555 as a big call button when the family is being refused or asked to pay.
Live: https://ayushman-sahayak.designmaster.workers.dev · Code: https://github.com/DesignMaster-Solutions/ayushman-sahayak

What I am asking

If you are in India, or your family is, try the one that applies to you this week and tell me where it is wrong or confusing. An issue on the repo is the best place. Rules change and State rules differ; every screen quotes the paragraph it relies on, so a mistake is easy to point at and easy to fix.

None of these has been through a field pilot yet. They are hackathon entries, not a government service. The official channels (14447, 14555, the DLSA, the NSP, your bank) are the ones that decide; these helpers only get you there faster and better prepared.

How they are built

Every repo has the same shape: rules.js with the clauses as data, i18n.js with the two languages, tests/ run with node --test, a BRIEF.md with the sources behind every number on screen, and a video/ folder with the script of the demo. Deployed with wrangler; the Worker serves the static files and the anonymous counters. If you want to reuse the pattern for another scheme or another country, fork any of them. The licence is in each repo.

Top comments (2)

Collapse
 
komopdf profile image
KomoPDF •

Keeping the entire bundle under 70 KB with zero external API calls is the right architecture for low-end mobile devices and weak network conditions.

For the printable application in Nyaya Sahayak, two small browser details make a noticeable difference when families take these forms to a government counter:

  1. Devanagari conjunct rendering in print stylesheets: If you rely on the browser native print dialog, low-end Android WebViews sometimes drop complex ligatures or misplace matras when rendering Hindi text without explicit font stacks. Specifying fallback font families like system-ui, "Noto Sans Devanagari", sans-serif in your print CSS ensures legal terms render cleanly across different vendor forks of Android.
  2. Stripping browser print headers: Adding @page with margin 15mm in the print CSS removes default browser headers and footers (like URL paths and timestamps) so the printed paper looks like a formal administrative application rather than a webpage printout.

Very practical initiative and clean design.

Collapse
 
alandebortolo profile image
Alan De Bortolo •

Thank you, this is exactly the kind of review I was hoping for. Both points are live now on nyaya-sahayak.designmaster.workers.dev: the print block names system-ui, "Noto Sans Devanagari", "Noto Serif Devanagari", "Mangal" and "Nirmala UI" before the generic fallback (it was a bare serif), and the printed page is A4 with no browser header or footer.

One detail from testing: in Chrome and Android WebView the URL and date header only disappears when the @page margin is 0, because that strip is where the browser draws it. With margin: 15mm it stays. So the paper margin moved into 15 mm of padding on the printable block instead.

Commit with a test that keeps both in place: github.com/DesignMaster-Solutions/...

⌂ 换网址