RescueAI: When Your Vehicle Stops, the Map Starts Solving

Inspiration

When a vehicle breaks down, finding the closest roadside assistance unit is not necessarily the same as finding the right one.

A disabled SUV may require towing equipment and engine diagnostics. A flat tyre calls for a different capability, while an electric vehicle with a depleted battery may need charging support. Weather and roadside conditions can also change the urgency of an incident.

We built RescueAI around a simple question:

What if a map could understand the incident, evaluate which responders are actually suitable, and explain why one response should be recommended over another?

Our goal is to turn ordinary location-based assistance into an explainable, AI-assisted decision workflow for Vietnam's mobility ecosystem.

What it does

RescueAI combines natural-language incident understanding, geographic analysis, and deterministic decision-making in one interface.

1. Understand the incident

Drivers can describe what happened in their own words, in English or Vietnamese.

The incident intelligence layer identifies the incident type, vehicle type, urgency, potential roadside risks, towing requirements, and capabilities needed for the response.

For example:

"Xe SUV của tôi bị chết máy trên đường Nguyễn Văn Linh, trời đang mưa lớn và xe đang dừng sát lề đường."

RescueAI's Vietnamese demo recognizes the disabled SUV, heavy rain, and roadside stop, then identifies the relevant assistance requirements.

2. Locate the incident and evaluate travel

RescueAI includes a Goong integration layer designed for geocoding, distance and travel-time calculations, directions, and route visualization.

The map workspace brings together the incident, candidate responders, service centres, travel estimates, and the selected response route. Geographic results are kept separate from AI-generated incident interpretation.

When live geographic services are unavailable, the application uses clearly labelled deterministic demo estimates instead.

3. Recommend an eligible response

RescueAI does not let an AI model choose a responder without constraints.

A deterministic decision engine first excludes unavailable responders and responders missing required capabilities. It then evaluates eligible candidates using a transparent Rescue Score:

  • Capability fit: 50%
  • Response time: 35%
  • Availability: 15%

Response-time scores are normalized across eligible candidates. A responder that lacks a required capability cannot win simply because its estimated response time is shorter.

4. Explain the decision

The recommendation is only part of the result. RescueAI also explains why the selected responder qualifies and why another candidate was not chosen.

The Why Not Closest? feature makes this distinction visible. The Decision Trace shows the full pipeline, from incident understanding to geographic analysis, eligibility, scoring, and recommendation. A print-friendly Decision Audit provides a structured record of the decision.

5. Monitor the response network

The Mission Control dashboard brings together prototype incident summaries, responder availability, estimated response times, incident demand, recommendations, and a response-network map.

It is designed to demonstrate how the same decision engine could support an operational interface, not just an individual driver's incident report.

How we built it

RescueAI was built with React, TypeScript, Vite, and Tailwind CSS, with Supabase Edge Functions providing the server-side integration layer.

The architecture separates three responsibilities:

  • OpenAI: Interpret natural-language incident reports and produce structured incident analysis.
  • Goong: Provide geographic results, travel estimates, and route information when configured.
  • RescueAI Decision Engine: Enforce eligibility rules, calculate scores, rank candidates, and explain the recommendation deterministically.

The incident-intelligence integration uses GPT-4o mini and validates returned data before the application consumes it. API credentials are designed to remain server-side rather than being exposed in client code.

We also implemented deterministic fallback services so the complete workflow can be demonstrated without external API credentials. The prototype includes English and Vietnamese incident scenarios, responder matching, route fallbacks, Mission Control, and a decision audit.

Challenges and what we learned

One of our central challenges was separating language understanding from operational decision-making.

An AI model can interpret a driver's description, but it should not invent geographic facts, responder availability, or travel times. Likewise, a geographically close unit is not necessarily appropriate for the vehicle or incident.

We addressed this by separating incident interpretation, geographic calculations, eligibility constraints, and scoring into distinct layers. Runtime validation, deterministic fallbacks, and explicit source labels make the system more predictable and easier to inspect.

Testing the decision engine also taught us the importance of edge cases: unavailable responders, missing towing capabilities, identical estimated response times, and incidents with no eligible candidates must all produce understandable outcomes.

Current prototype scope

The application has been verified in zero-configuration demo mode, including the four core incident scenarios and the Vietnamese engine-failure scenario.

The OpenAI and Goong server-side integrations are implemented, but live API calls were not tested because their API credentials were not configured during verification. The current demo therefore uses deterministic incident and geographic fallbacks where necessary.

Responder and service-centre records are prototype data, not live Tasco or VETC operational data. RescueAI is a decision-support prototype, not an emergency dispatch service.

What is next

The next step is to validate the live OpenAI and Goong integrations with configured credentials, then evaluate the decision engine against verified responder capabilities and geographic data.

Our longer-term goal is to make roadside response decisions more suitable, transparent, and auditable by combining AI understanding with geographic evidence and explicit operational constraints.

RescueAI — Understand the incident. Measure the route. Explain the response.

Built With

  • api
  • artificial
  • css
  • decision
  • edge
  • functions
  • geospatial
  • goong
  • gpt-4o
  • intelligence
  • javascript
  • learning
  • machine
  • maps
  • mini
  • openai
  • planning
  • react
  • route
  • supabase
  • support
  • tailwind
  • typescript
  • vietnamese
  • vite
Share this project:

Updates

Submission history