
Shram Sanchar — Idea in 30 seconds Migrant workers' eShram records go stale as they move city to city. Most tracking apps follow workers all day — scary, battery-draining, needs good network. Shram Sanchar does the opposite: workers send a quick check-in ("Going to Surat for construction work"), saved offline and synced later. No forms, speaks their language, location is off by default and read only once per check-in. Who uses it Worker: logs in, checks in, files complaints, chats with assistant Officer (admin): views worker locations, sorts complaints by urgency, updates status How to run it Live site: shram-sanchar.vercel.app (use Chrome/Edge for voice) Locally: python -m http.server 8000, open localhost:8000/shram-sanchar.html (mic/camera/location need a secure origin — https or localhost) Your own Vercel copy: rename file to index.html, deploy folder/repo, no build config needed Demo logins Citizen: any name, 12-digit UAN, mobile starting 6–9, OTP 123456 Admin: admin / admin123 Gemini AI (optional): Get a key from Google AI Studio → AI settings → paste → Test → Save. Key stays in your browser only — each visitor needs their own. Without it, built-in rules handle parsing/priority instead. Core flow (worker) Log in (Optional) toggle location for this trip Speak or type update (10 languages) — app extracts destination, work type, status via Gemini or built-in rules Edit/confirm details, optionally attach a photo Confirm check-in — online sends immediately (green/Synced), offline queues locally (orange/Queued) and auto-syncs when back online View journey on map + history list; delete all check-ins anytime Complaint desk Worker picks a category (unpaid wages, unsafe work, harassment, food/housing, card issue, other), describes it, optional photo. Gemini (or keyword rules) assigns priority — Critical/High/Medium/Low — and issues a ticket number (e.g. SS-2026-4821). Critical prompts a reminder to call 112. Worker tracks status; officer can filter, review, update status, or re-run priority check. Admin dashboard: stats overview, map of latest check-ins, destination/work-type charts, complaints tab (sorted, filterable), check-ins table with CSV export. Seeded with fictional demo data on first load. Chat assistant: "Shram Sahayak" answers UAN/wage/privacy/complaint questions in any language; falls back to saved answers + helpline 14434 without internet/key. Data storage: everything lives in the browser (no real server) — IndexedDB for check-ins/complaints, localStorage for login/language/AI key. Reset via AI settings → Reset demo data. What's real vs. simulated Part Prototype Real product Voice-to-text Browser Speech API Bhashini (22 languages) eShram sync Browser DB Node/Express + eShram API Login Fake OTP Aadhaar eKYC + UAN Map Leaflet + OSM (real) Same Camera/mic/location Real Same Built with: single HTML file, React 18 (CDN), Leaflet/OpenStreetMap, Web Speech API, Camera/Geolocation APIs, IndexedDB, Gemini API, Nominatim. Privacy: location off by default, read once per check-in, rounded to ~1km, nothing saved until confirmed, one-tap delete, DPDP Act–aligned notice in English/Hindi. Troubleshooting: most issues (mic/camera/map/Gemini not working) trace to browser permissions, needing a secure origin, or missing internet — see in-app AI settings to reset or re-test key. Next steps: serverless function to hide Gemini key, real backend + eShram API, full Bhashini support, Aadhaar login, complete Hindi UI, opt-in auto check-in on large location jumps, SMS/WhatsApp status updates. Hackathon prototype — not an official Government of India service. Demo admin data is fictional.
27 Sep 2026