Pukaar
Pukaar: a multi-agent system that turns flood SOS messages into ranked rescue jobs. Urgent families first; officers approve every boat.
Built at AgentX Hackathon 2026
Team Seekers: Vrushali Nanavati, Koushik Mishra, Vikas kumar, YASHARTH VAIBHAV
Built with Agent and LLM: a custom LLM Planner (plan, act, observe, replan) with a tool registry using JSON schemas and guardrails. It runs on Groq's free tier (openai/gpt-oss-120b) or Ollama offline (qwen2.5:7b), with a rules engine as fallback. Backend: Python, FastAPI, Uvicorn, SQLite, Server-Sent Events for the live control room, RapidFuzz for duplicate matching, httpx. Frontend: React 18, TypeScript, Vite, Tailwind CSS, Leaflet and React-Leaflet for the map. Testing: pytest (86 tests, including approval-gate and fallback tests) and an evaluation script that replays the 311-message night. Deployment: Render (free tier), GitHub. Demo video: Playwright screen recording, Kokoro TTS voiceover, ffmpeg.
About the project
In a flood, one ward duty officer with a few boats gets hundreds of messages at once. The same family writes three times, rumours spread, and voice notes arrive in Hindi, Marathi and English. Boats go in the order calls arrive, so the families in most danger wait longest: a median of 463 minutes on our 311-message test night.
Pukaar runs seven AI agents, coordinated by an orchestrator. Listen reads messages and voice notes in Hindi, Marathi and English. The LLM Planner plans its own steps and calls real tools to find duplicates, merge reports, score priority and flag danger. Triage ranks families. Dispatch proposes the nearest boat and reroutes around blocked roads. Loop keeps families updated and confirms them safe with an OTP. Saathi answers safety questions. Watch reads weather alerts and suggests where to station boats in advance. The agents share three kinds of memory: the family's own messages, ward data (areas, household registry, camps) and past decisions.
The agents cannot act alone on anything irreversible. Sending a boat, closing a ticket, lowering a priority or broadcasting a bulletin all need the officer's approval. A family is marked safe only when their OTP matches. Every plan, tool call and reason shows in an Agent reasoning panel. If the model fails, times out or proposes an invalid step, the rules take over and the hand-off is logged.
On the same test night, the median wait for the most urgent families fell from 463 minutes to 20. Wasted boat trips fell from 131 to 15, and all 15 rumours were caught. The whole system runs on free tools and also works offline.