Jan Sahayak
Voice-first AI Agent
The problem Jan Sahayak solves
Bridging the Digital Divide in E-Governance
In India, accessing basic government services (like Income Certificates, Caste Certificates, or Affidavits) is a friction-heavy process. The current system faces two major divides:
The Literacy Barrier (Rural Context): Millions of citizens cannot navigate complex English websites or fill out lengthy forms. They rely on expensive middlemen (agents) just to type out basic details.
The Redundancy Barrier (Urban Context): Even digital-savvy users are forced to repeatedly enter the same data (Name, Address, Father's Name) for every new application, despite having a digital ID like Aadhaar.
Jan-Sahayak solves this via an Omni-Channel AI Architecture:
For the "Next Billion" Users (WhatsApp Bot): A conversational AI agent that works on the most accessible app—WhatsApp. It replaces complex forms with a simple chat. Users can speak or type in their local language, and the AI drafts the legal document instantly.
For Power Users (Web Dashboard): A "Digital Identity Vault" that scans a user's Aadhaar card once and uses it to auto-fill any blank government form (PDF/Image) automatically using Computer Vision and LLMs.
Challenges we ran into
The "15-Second" Timeout on WhatsApp
Challenge: Twilio (the WhatsApp API provider) has a strict 15-second timeout. Our AI (Llama 3.2) originally took ~20 seconds to generate deep legal questions, causing the bot to crash/disconnect before replying.
Solution: We optimized the "AI Architect" prompt to generate fewer, high-impact questions (4 instead of 7) and stripped conversational filler, cutting generation time by 50%.
Context Loss in Two-Sided Documents (Aadhaar)
Challenge: An Aadhaar card has the Name on the front and the Address on the back. Early versions of our OCR only scanned the first page, resulting in missing address data.
Solution: We built a multi-page scanning engine using PyMuPDF that stitches text from both sides of the document before feeding it to the AI, ensuring complete data capture.
The "Invisible Character" JSON Crash
Challenge: The AI would occasionally output valid-looking text that crashed our Python server with an Invalid Control Character error. This was due to invisible newlines (\n) and Markdown formatting inserted by the LLM.
Solution: We wrote a custom Sanitizer Function that aggressively scrubs the AI output, removing Markdown backticks and control characters before parsing it as JSON.
Field Matching in Universal Forms
Challenge: A blank form might ask for "Candidate's Name," but our database saved it as "Full Name." Simple code couldn't match them, leaving fields blank.
Solution: We implemented a Fuzzy Matching Logic in the frontend. If the form asks for "Student Name," "Applicant," or "Candidate," the system intelligently maps it to the user's "Full Name" from their Aadhaar.
Tracks Applied (2)
SCAILE Track
SCAILE
OnDemand Track
Airev
Technologies used