YojanaMitra: Your AI Agent for Government Benefits
Not an official government website. Decision support only. Final eligibility is decided by the concerned department.
Inspiration
India has hundreds of welfare schemes for farmers, women, students, and senior citizens, yet many eligible families never claim them. The rules are scattered across different portals, written in complex language, and need the right documents in the right format. Many people depend on middlemen or simply give up.
We asked a simple question: what if a citizen could just say who they are, and an agent told them exactly what they qualify for and what to do next?
What it does
YojanaMitra is an AI agent that works backwards from the person, not the scheme list:
- Simple intake: the user answers a few questions by text or Kannada voice (age, occupation, income, land, family, location).
- Eligibility check: the agent matches the profile against scheme rules and returns a ranked list of schemes with the benefit amount.
- Plain-language explanation: each scheme is explained simply, with a link to the official source.
- Document checklist: it lists the documents needed and flags what is missing.
- Form pre-fill: it fills the application details into a ready form or PDF that the user submits themselves.
- Reminders: it schedules deadline and follow-up reminders.
How we built it
- Frontend: Next.js, React, and Tailwind CSS, designed mobile-first.
- Backend: Python with FastAPI.
- Eligibility engine: a deterministic rules engine we wrote ourselves. Each scheme is a set of conditions, for example:
$$\text{eligible}(s) = \bigwedge_{i=1}^{n} c_i(\text{profile})$$
where each $c_i$ is one rule such as an income limit or an occupation check.
- AI layer: an LLM with tool calling explains results, translates to Kannada, and drives the agent loop. The LLM never decides eligibility, so it cannot invent a scheme.
- Voice: the browser Web Speech API for Kannada input and output.
- Data: a scheme knowledge base we built by hand from official public portals ([4 to 5] schemes such as [PM-KISAN, Ayushman Bharat, one Karnataka scheme]), with source links. We tested only with synthetic citizen profiles, so no real personal data was used.
- Hosting: Vercel and Render, with code on GitHub.
Challenges we ran into
- Accuracy matters: a wrong eligibility answer can mislead a family, so we separated rules (deterministic code) from language (the LLM).
- Messy source data: scheme rules are spread across PDFs and portals, and had to be cleaned and structured by hand.
- Kannada voice: speech recognition for regional accents and mixed Kannada-English was [describe what you actually faced].
- Scope: with 24 hours, we limited ourselves to a few schemes and one complete end-to-end flow instead of many half-built features.
Accomplishments that we're proud of
- A complete flow from voice input to a pre-filled form in [X seconds].
- Every recommendation shows which rule matched and links to the official source.
- [Add your real achievement after the build.]
What we learned
- For high-stakes advice, an LLM should explain decisions and not make them.
- Trust comes from showing sources and rules.
- Designing for low-literacy and voice-first users changes everything about the interface.
What's next for YojanaMitra
- Add more schemes, states, and languages.
- Partner with Common Service Centres (CSCs), NGOs, and panchayats so village helpers can assist many families.
- Send reminders on WhatsApp.
- Add a dashboard for NGOs and CSR programmes to track how many benefits were claimed.
Built with
python fastapi typescript nextjs react tailwindcss postgresql llm-tool-calling web-speech-api reportlab vercel `github’
Built With
- ai-agents
- fastapi
- figma
- github
- javascript
- llm
- nextjs
- postgresql
- python
- react
- render
- reportlab
- rules-engine
- speech-to-text
- sqlite
- tailwindcss
- text-to-speech
- tool-calling
- typescript
- vercal
- web-speech-api
Log in or sign up for Devpost to join the conversation.