Inspiration
In an emergency, the first few minutes decide outcomes. Yet reporting an incident still means calling a stressed operator and describing a chaotic scene out loud, while the dispatcher guesses how serious it is and who to send. In rural and underserved parts of India, there may be no trained call handler at all, plus language barriers and weak connectivity. Existing SOS apps only raise an alert; they don't understand what is happening.
We asked: what if anyone could just snap a photo or speak, and AI did the triage?
What it does
SAHAYAK is a zero-login, browser-based emergency reporting and dispatch tool.
- Reporters upload a photo and/or record a voice note (Hindi or English). Location is captured automatically. No app install, no sign-up.
- Gemini multimodal AI reads the image, voice and location together in a single request and returns a structured dispatch ticket: category (Medical, Fire, Search & Rescue, Flood, Structural Collapse), severity (Critical / High / Medium / Low), a plain-language summary, detected hazards, recommended response, and a confidence score.
- Responders see a live, severity-sorted queue on a login-protected dashboard, with the original photo and transcript attached to each ticket, and can mark tickets Acknowledged or Resolved.
- Low-confidence results are flagged "Needs Human Review" instead of being trusted blindly.
How we built it
- Frontend: React + Tailwind, mobile-first for the reporter flow
- AI: Gemini multimodal API, with image, voice transcript and location sent in one call
- Structured JSON output with a strict schema and a fixed severity rubric in the system instruction, so the model classifies against defined criteria rather than guessing freely
- Built and iterated in Google AI Studio
- Dashboard sorts tickets by severity first, then recency, so Critical incidents always surface at the top
We did not train a custom model. Our work is in the prompt design, the schema, the rubric, the confidence-based safety check, and the dispatcher workflow around the AI call.
Challenges we ran into
- Getting reliable, consistently structured output from a general-purpose model
- Designing severity criteria that are clear enough for the AI to apply consistently
- Keeping the reporter flow simple enough to use under stress while still collecting useful context
- Deciding how much to trust the AI: we chose human review for low-confidence cases
Accomplishments that we're proud of
- A working end-to-end flow from photo and voice to a dispatch-ready ticket in seconds
- Zero-login reporting, which removes friction exactly when it matters
- A design that treats the AI as an assistant to human dispatchers, not a replacement
What we learned
Prompt and schema design matter as much as the model itself. Honest handling of uncertainty (confidence flags, human review) matters more than a flashy accuracy claim. And in emergency tools, simplicity is a feature.
What's next for SAHAYAK
- Offline resilience: compressed uploads, a local retry queue, and an SMS fallback for zero-data zones
- Wider regional-language voice support
- Live map view of incidents by severity
- Formal accuracy evaluation with responsible, privacy-safe data
- Pilot as an AI intake layer in front of existing systems like 112, with NGOs or municipal teams
Built With
- css3
- gemini-api
- geolocation-api
- google-ai-studio
- html5
- javascript
- react
- tailwindcss
- typescript
- web-speech-api
Log in or sign up for Devpost to join the conversation.