Inspiration Every monsoon season in Tamil Nadu, thousands of citizens deal with contaminated water, broken pipelines, and zero response from municipal authorities. People complain on WhatsApp groups, call helplines that never answer, and wait months with no resolution. The ones who suffer most are daily wage workers and elderly residents who don't know they have a legal right to demand action — the Right to Information Act gives every citizen the power to force a government response within 30 days. But filing an RTI is complicated, English-heavy, and intimidating. JalSeva was born from one simple question: what if an AI agent could do all of that automatically, in Tamil, the moment enough people in a ward report the same problem?
What it does JalSeva is a multi-agent AI system that turns citizen water complaints into legally binding RTI filings automatically. A citizen visits the app, describes their water problem in Tamil, Hindi, or English, and submits it. Behind the scenes four AI agents work together — an intake agent extracts the location and issue type, a cluster detection agent monitors if 5 or more complaints come from the same ward within 7 days, an RTI drafting agent generates a formal Right to Information Act 2005 complaint letter, and a deadline tracker agent sets a 30-day legal countdown and sends reminders. The result is a downloadable RTI PDF the citizen can submit to the municipal authority, plus an admin dashboard showing live complaint heatmaps, active clusters, and deadline status across all wards.
How we built it We built JalSeva using Python and Flask for the backend, with all four agents powered by the Anthropic Claude API using claude-sonnet-4-6. Each agent is a separate Claude API call with a specialized system prompt — intake, cluster detection, RTI drafting, and multilingual confirmation. We used ReportLab to generate downloadable RTI PDFs, Folium to create interactive ward-level heatmaps, and Replit to host the entire application live. Complaint data is stored in a flat JSON file making it lightweight and demo-ready with no database setup. The multilingual response system uses Claude's native Tamil and Hindi capability with zero additional translation libraries.
Challenges we ran into The biggest challenge was getting the cluster detection agent to reliably parse ward names from free-text complaints — users type "near bus stand", "behind temple", and "old town area" rather than official ward numbers. We solved this by having the intake agent normalize location names before passing them to the cluster agent. Another challenge was RTI format accuracy — the letter needs specific legal language referencing the correct sections of the RTI Act 2005 or it can be rejected. We iterated on the system prompt many times to get the format right. Getting Folium heatmaps to render correctly inside a Flask iframe on Replit also took significant debugging.
Accomplishments that we're proud of We're proud that JalSeva is the first tool we know of that combines civic complaint aggregation with automatic legal RTI filing in vernacular Indian languages. The 30-day legal deadline tracker gives the system real teeth — it doesn't just log complaints, it creates legal accountability. We're also proud of the live ward heatmap which makes invisible community problems suddenly visible in a way that is hard for authorities to ignore. Building a fully hosted, four-agent pipeline with PDF generation and multilingual support as a fresher in under 10 days felt like a genuine achievement.
What we learned We learned that multi-agent systems are only as strong as the handoff between agents — if the intake agent returns inconsistent JSON, every downstream agent breaks. Defensive parsing and try/except blocks saved us more times than we can count. We also learned that real-world civic tech needs to be designed for low-literacy users first — every label, every confirmation message, every error has to be in plain simple language. Working with the RTI Act taught us that legal documents have very specific formatting requirements that AI gets wrong without extremely precise prompting.
What's next for JalSeva The immediate next step is WhatsApp integration via Twilio so citizens can report problems by simply sending a WhatsApp message without visiting any website — critical for rural users with low smartphone literacy. We want to add automatic submission of the RTI PDF directly to the municipal portal via email so the citizen doesn't have to do anything manually. We plan to expand beyond water to cover garbage collection, streetlight outages, and road damage using the same multi-agent pipeline. Long term we want to partner with local NGOs and panchayats across Tamil Nadu to deploy JalSeva as a permanent civic accountability tool, and open source the RTI agent so other developers can build on it for different states and languages.
Built With
- anthropic-claude-api
- flask
- folium
- replitpython
- reportlab
Log in or sign up for Devpost to join the conversation.