🩺 RescueAI

Emergency navigation and clinical handoff assistant — built for RescueHacks.

RescueAI has a natural conversation with a bystander during a potential emergency, extracts structured incident information as they describe what happened, and runs that information through a deterministic safety engine that decides urgency — independent of whether the AI layer is even working.


Inspiration

In an emergency, bystanders are often the first line of response — but they rarely know what information matters, what counts as a red flag, or what to do while help is on the way. We wanted to build something that turns panic and scattered information into a clear, structured picture, fast enough to actually matter.


What it does

RescueAI has a natural conversation with a bystander describing an emergency. It extracts structured incident information — symptoms, consciousness, breathing, bleeding, and more — as the conversation unfolds, correctly handling:

  • Corrections ("actually, he is having trouble breathing")
  • Negations ("he didn't pass out")
  • Short or indirect follow-up answers, in any phrasing

That structured data runs through a fully deterministic, rule-based safety engine that decides urgency — independent of whether the AI layer is even working. If a red flag is confirmed, RescueAI:

  1. Escalates immediately with a clear emergency warning
  2. Surfaces general first-aid guidance for that specific red flag
  3. Generates a structured clinical handoff summary ready to read to a 911 dispatcher or hand to arriving paramedics

How we built it

  • Streamlit — interface and multi-page app
  • Gemini — natural-language incident extraction, with a rule-based offline fallback for demo reliability
  • Pydantic — structured incident data model
  • Claude — AI coding assistant used throughout development

The safety-evaluation engine is entirely hand-written and has zero dependency on any AI model — a deliberate architecture decision so an API outage or quota limit never silences an emergency escalation.


Challenges we ran into

  • Gemini's free-tier quota (20 requests/day) made live testing genuinely difficult mid-build. This pushed us toward building a proper offline/demo mode rather than just hoping quota would hold — a change that ended up making the whole system more resilient, not just more demo-safe.
  • We hit a subtler bug where short, differently-worded answers to follow-up questions ("he's awake and talking" instead of "he didn't pass out") wouldn't resolve correctly. Fixed by passing the pending question as explicit context into the extraction step.

Accomplishments that we're proud of

A safety-critical decision layer that works completely independently of the AI — we can prove this by cutting Gemini access entirely and watching the emergency escalation still fire correctly on the same input.


What we learned

Pairing AI for understanding with deterministic logic for safety-critical decisions is a pattern that generalizes well beyond this project — anywhere an AI model might occasionally be wrong or unavailable, but a safety decision still has to be made correctly and instantly.


What's next for RescueAI

  • Multi-language support for non-English speakers during an emergency
  • Voice input for hands-free use during an active incident
  • Direct integration with local dispatch / 911 systems for automatic structured handoff
  • Offline-first mode, so the safety layer works with zero connectivity — not just zero Gemini quota
  • Expanded red-flag coverage and clinician-reviewed first-aid guidance

Built with

Python · Streamlit · Gemini API · Pydantic · Claude (AI coding assistant)

Built With

Share this project:

Updates

Submission history