Inspiration

After living through the earthquakes in Ecuador in 2016 with a magnitude of 7.8, which killed 670 and injured more than 6 thousand people, and Mexico in 2017 with a magnitude of 7.1, which killed 369 and injured more than 3 thousand people, and seeing how the community turned to each other for help, we decided to create a way to prepare people on how to react after a crisis like this.

What it does

Failsafe72 prepares a person on how to react to a crisis, and how to help their community during the first 72 (critical) hours of a crisis through an AI simulation of the event. Utilizing Gemini, OpenRouter, MongoDB, and ElevenLabs, it creates a dynamic scenario with updates.

The simulation features an interactive checklist, personalized intervention, and voice alerts. This helps provide a tailored experience to prepare people for how to react and what to do in this scenario.

How we built it

For the frontend, we used JavaScript and CSS, including a terminal-looking dashboard. Added real-time features such as voice alerts and visual tracking, while also making it interactive with a checklist. We also added a preparedness mode to provide checklists as to what is needed for specific disasters that also tracks the progress of tasks completed.

For the backend, we used Node.js and Restful API structure. Integrated Gemini through OpenRouter to generate crisis updates and suggestions. With MongoDB Atlas, we are able to store session history and add global statistics to the simulation. For the voice alerts, we used ElevenLabs.

Challenges we ran into

  • We ran into a couple of challenges throughout the development of the app, from being unable to deploy it, to having pessimistic scenarios every simaltion but we were able to overcome them.
  • We kept running into problems with OpenRouter as the free tier allows so many attempts; for this, we implemented a fallback system with pre-written updates.
  • We also added another fallback for the browser's SpeechSynthesis API when ElevenLabs failed.
  • We added a "Start" button to allow the voice alerts after the browser would block them without user interaction.
  • We also hardcoded a more hopeful scenario after the end of the simulation to allow it to be a more positive experience.
Share this project:

Updates