ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
A welfare-scheme screener for unorganised workers. Deterministic rules, cited sources, and an answer that is allowed to be UNKNOWN.
EducationPython · HTMLGitHub @avinashnegi1999OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Hindi/English welfare-scheme screening for India's unorganised workers. Deterministic rules with a citation per value; a language model never decides eligibility.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Know before you go.
A Hindi and English chat that tells an unorganised worker
which government schemes fit, what each is worth in ₹, and where to go.
Try it in your browser
·
Open on Telegram ›
·
See the project ›
Code for a Billion 2026 · Livelihood for the Uneducated · Apache-2.0
One wrong trip costs a day's wage.
The schemes exist. What a worker can't tell from outside is whether one will accept them.
A wasted trip to a Common Service Centre costs that day's wage. Often there is no second trip.
Not another myScheme. The last mile after it.Read the full README ↗The schemes exist. What a worker can't tell from outside is whether one will accept them.
| 43.99 crore | people in India's unorganised sector, 2019–201 |
| 31.48 crore | registered on e-Shram, with 14 central schemes mapped to it2 |
| ₹455 · ₹315 | a day, average earnings of a male · female casual labourer, 20253 |
A wasted trip to a Common Service Centre costs that day's wage. Often there is no second trip.
myScheme is a form. It assumes literacy, a browser, and knowing what "land holding in hectares" means.
Yojana Sathi is a chat on a ₹6,000 phone that ends in a checklist and an address.
data/schemes/."TODO", never 0. The answer is UNKNOWN, not a guess.ELIGIBLE, INELIGIBLE, UNKNOWN. Unknown says what's missing and what to ask.LLM_API_KEY everything runs on buttons, with identical results. Tested.National — every state (13)
| Scheme | Stated benefit | Where |
|---|---|---|
| PM Shram Yogi Maandhan | ₹36,000 a year from 60 | CSC |
| National Pension Scheme for Traders | ₹36,000 a year from 60 | CSC |
| Atal Pension Yojana | From ₹12,000 a year at 60 | Bank |
| Indira Gandhi National Old Age Pension | ₹2,400 a year (central share); ₹6,000 from 80 | CSC |
| Indira Gandhi National Widow Pension | ₹3,600 a year (central share); ₹6,000 from 80 | CSC |
| Indira Gandhi National Disability Pension | ₹3,600 a year (central share); ₹6,000 from 80 | CSC |
| PM Jeevan Jyoti Bima Yojana | ₹2,00,000 life cover | Bank |
| PM Suraksha Bima Yojana | ₹2,00,000 accident cover | Bank |
| Ayushman Bharat PM-JAY, 70+ | ₹5,00,000 hospital cover a year | Ayushman app or hospital |
| PM Vishwakarma | Toolkit up to ₹15,000; ₹500 a day in training | CSC |
| PM Ujjwala Yojana | LPG connection | Online or LPG distributor |
| Jan Dhan account (PMJDY) | Free account, RuPay card | Bank or Bank Mitra |
| e-Shram registration | Gateway to other schemes | e-Shram portal or CSC |
State pensions — shown only in that state (8)
| Scheme | Stated benefit | Where |
|---|---|---|
| Uttarakhand old-age / widow | ₹18,000 a year each | State portal |
| Sikkim old-age | ₹18,000 a year; ₹24,000 from 70; ₹30,000 from 80 | State portal |
| Sikkim widow / disability | ₹24,000 a year each | State portal |
| Madhya Pradesh Kalyani (widows 18–79) | ₹7,200 a year | Panchayat or municipal office |
| Punjab old-age (women 58+, men 65+) | ₹18,000 a year | Panchayat, block or municipal office |
UNKNOWN and adds ₹0. tests/test_schemes.py pins the signed list.Evidence for every value, with SHA-256: docs/audit-evidence/. Research on all 36 states: docs/research/states/.
| Browser | sathi.avinashnegi.com. No account, no app. |
| Telegram | @YojanaSathiBot. |
| Verified end to end on Meta's test number. Not public yet. |
One small AWS server, one rule engine behind all three. The landing page is livesite/, on GitHub Pages.
No field pilot has run, so there are no numbers here. They come from the event log after a real pilot — never from an estimate.
?start=csc links, reported with python3 -m sathi.metrics.report --cohort csc.Pilot plan · What each number does not claim
/cancel, or after 30 quiet minutes.tests/test_privacy.py checks what reaches the log, column by column.
git clone https://github.com/avinashnegi1999/yojana-sathi && cd yojana-sathi
python3 check.py # every check and test
python3 -m sathi.local_web # the browser version on http://127.0.0.1:8765
python3 -m sathi.main # one screening in the terminal
Python 3.11+. Zero third-party dependencies.
python3 -m sathi.main --telegram # the bot (needs TELEGRAM_TOKEN)
python3 -m sathi.main --whatsapp # the webhook (needs WHATSAPP_*, behind TLS)
python3 -m sathi.main --preview whatsapp # what the wire would carry; nothing is sent
python3 -m sathi.metrics.report --out impact.html # impact dashboard
python3 -m sathi.metrics.report --cohort csc --since 2026-10-01 --out pilot.html # pilot only
As a container — DB_PATH must be on a mounted volume, or the event log is lost:
docker build -t scheme-sathi .
docker run -e TELEGRAM_TOKEN=... -v sathi-data:/data scheme-sathi
Optional, off by default, tested off:
| Variable | When set |
|---|---|
LLM_API_KEY | Free-text occupation mapped to a category, always confirmed. Verdicts unchanged. |
TTS_CMD | Not wired yet. No channel sends audio. |
FOLLOWUP_SALT | Records 14-day follow-up opt-ins as a salted hash. No sender yet. Leave unset. |
Deploying: deploy/RUNBOOK.md.
| Command | What it does |
|---|---|
/start | Begin, or start over |
/language | Switch हिंदी ↔ English, keeping answers |
/schemes | Every scheme, its source, when it was checked |
/privacy | What is kept, what is never asked |
/about | What this is — not a government service |
/help | The command list |
/clear · /clearall | Delete this chat's messages · everything from 48 hours |
/cancel | Drop the profile and end |
/demo | Fictional people through the real rules. Logs nothing. |
python3 check.py — 21 module self-checks and 15 test files. No framework.
tests/test_all_paths.py presses every button on every screen in both languages — 9,840 paths — and opens every sheet.tests/test_rule_boundaries.py re-encodes each rule from the official text and checks 3,168,963 verdicts, plus 371,283 for each signed scheme's own fields. It proves two encodings agree; the signature covers the law.tests/test_privacy.py.python3 -m sathi.review PMJJBY # sign a scheme off, value by value
python3 -m sathi.sources # has a ministry changed a number?
Review shows every value beside its source, then writes two lines. A signature can't carry a changed threshold in with it. --unsign reverses it.
Sources re-reads the official pages and flags changes. Three national pension pages need a monthly read by hand — the list.
docs/README.md — which documents are current.docs/LESSONS.md — ten lessons, including the costly ones.docs/history/BUILD_LOG.md — every bug, every number that turned out wrong.AUDIT.md — the latest audit, and what was fixed.No Python needed. Copy data/schemes/_TEMPLATE.toml, fill it from official sources, cite every value — see docs/SCHEME_AUTHORING.md.
A value without source_url and verified_on is not merged. An uncited threshold looks exactly like a guess.
Ministry of Labour & Employment, Lok Sabha written reply, 24 July 2023, citing the Economic Survey 2021-22. https://www.pib.gov.in/PressReleasePage.aspx?PRID=1942079 ↩
Ministry of Labour & Employment, e-Shram Cards for Unorganized Workers, 2 February 2026 — registrations as on 26 January 2026. https://www.pib.gov.in/PressReleasePage.aspx?PRID=2222263®=3&lang=2 ↩
National Statistical Office, MoSPI, Press Note on Periodic Labour Force Survey Annual Report, 2025, section 6 — casual labour other than public works. https://www.mospi.gov.in/uploads/latestReleases/latest_release_1774607827733_3e8964a9-268b-4cc9-ad65-cfc8a9e32f08_Press_note_AR_PLFS_2025_23032025_V2.1_26032026_final.pdf ↩