Inspiration
During recent flood emergencies, we noticed a critical problem with voice-based assistance: emergency situations change faster than a conversation can finish.
A person may say, “I am trapped inside my house,” and receive guidance based on that situation. But seconds later, water may start entering the house. If the assistant continues speaking its old response, that information can become outdated at exactly the moment when the user needs the most relevant guidance.
This inspired us to build AIDRA — Adaptive Interactive Disaster Response Assistant, a voice-native assistant designed specifically for rapidly changing flood emergencies.
What AIDRA Does
AIDRA allows a user to communicate naturally through voice and maintains a continuously updated emergency state.
For example:
“I am trapped inside my house. Water is outside.”
AIDRA identifies the situation and starts responding.
Then the user can interrupt:
“Wait! Water is entering the house now!”
Instead of finishing the previous response, AIDRA immediately:
- Detects the interruption.
- Stops the current voice response.
- Cancels the outdated response.
- Updates the emergency state.
- Recalculates the risk.
- Generates a new response using the latest information.
- Speaks only the latest valid response.
This interruption-and-recovery loop is the core innovation of our project.
How We Built It
We built AIDRA as a voice-first web application using a modern web stack.
The core flow is:
User Voice → Speech Recognition → Emergency Information Extraction → Live Emergency State → Risk Assessment → Safe Response Generation → Response Validation → Voice Output
AIDRA also integrates weather and emergency information where available. The interface provides the user's current emergency state, risk level, timeline of events, weather information, and safety guidance.
To prevent stale responses from returning after an interruption, every response is associated with the current emergency-state version. When the state changes, the previous response becomes invalid. Before speech output, AIDRA verifies that the response still belongs to the latest state.
AI Safety
Emergency assistance cannot depend on an AI model freely inventing real-world facts.
Therefore, AIDRA separates understanding from trusted information. The AI primarily interprets the user's voice input and helps update the structured emergency state. Real-world information is obtained from available verified data sources, while emergency guidance is constrained and validated before being spoken.
If AIDRA cannot verify something, it does not pretend to know it.
What We Learned
Building AIDRA taught us that voice applications are not simply about converting text into speech. The difficult part is managing real-time state, interruption, cancellation, timing, and recovery.
We learned how asynchronous voice responses can create stale outputs, why state versioning is important, and how safety constraints should be designed into an AI system rather than added as an afterthought.
We also learned that a good emergency assistant should prioritize the latest verified situation, not simply produce a longer or more intelligent response.
Challenges We Faced
One of our biggest challenges was handling interruptions while the assistant was already speaking.
A normal chatbot can finish generating an answer before processing the next message. In an emergency voice interaction, that behavior is not sufficient. We had to design the system so that an active response could be cancelled immediately and could not resume after the emergency state had changed.
Another challenge was reducing hallucination risk. We designed AIDRA so that it does not claim unverified information such as the location of rescue teams, available boats, shelters, or evacuation orders.
We also had to consider noisy environments, speech-recognition errors, network delays, multilingual input, and the limitations of a prototype web application.
Why It Matters
AIDRA is not designed to replace emergency services or trained responders.
Instead, it explores how voice-native AI can remain useful when an emergency is changing second by second.
Our goal is simple:
When the situation changes, the assistant should change with it.
Built With
- ai-safety
- disaster-response
- emergency-response
- flood-detection
- generative-ai
- javascript
- multilingual-ai
- natural-language-processing
- react
- real-time-systems
- risk-assessment
- speech-recognition
- state
- tailwind-css
- text-to-speech
- typescript
- vite
- voice-ai
- web-application
Log in or sign up for Devpost to join the conversation.