Have you witnessed an accident but you were unable to help because you froze up? Did you know that you have a maximum of 26 seconds to step in to help before an unconscious individual will start to face irreversible damage? (Worst-case scenario). We wanted to solve this problem by empowering bystanders to become upstanders and provide assistance to people who are in need of urgent help. By using blockstack to ensure individual ownership of their own safety data and firebase to ensure live update, notification for bystanders and a virtual medical assistant to guide the patient, we want to enhance public safety in a safe and responsible way.
What it does
To be able to detect accidents, the fitbit will detect a sudden collision using an accelerometer and alert its position to nearby bystanders and emergency services. It will first store its location in their own private data storage using blockstack's Gaia storage. The data storage is made publicly available for everyone to view so that others will be able to read it. Fitbit will then notify firebase, which will first perform a verification of the bucket address, and then notify all the bystanders and emergency services. The emergency services will then be able to see a live update of the location while the bystanders will be notified of the help needed that is nearby. The bystander will then be guided through basic triage principles to provide immediate help using a virtual voice assistant while waiting for the emergency service to arrive.
How we built it
There are 5 parts to our project. First, we created a fitbit app that detects accidents and sends a request for help. The building of fitbit was done using fitbit's SDK and the companion app. At the same time, we started working on creating the UI for the bystander's app first using Framer, and then integrating with logic in React-Native and Expo. The dashboard for the medical professional to monitor all the incidents realtime is created using eris API and React JS.
As for the backend, we first started by exploring blockstack's technological stack. As blockstack did not have any pre-defined libraries available in React-Native or REST api calls, we reverse-engineered the blockstack library to obtain the main code logic, which we used in the fitbit to store user data on the user's private cloud. As for the service to notify all the other bystanders, we needed to use firebase as the capability of a realtime database with websockets enables us to notify individuals nearby to help out.
By stringing the frontend and backend stack into one integrated flow, we have an end-to-end flow of prototype to demonstrate our vision.
Challenges we ran into
Underestimating time taken, Setting up voice recognition, Importing of Framer, Integrating audio for react native, Setting up the blockstack API, navigating security issues with POST request, Setting up Fitbit developer
Accomplishments that we're proud of
Connecting the system from end to end. Learning expo for the first time. Learning fitbit for the first time. Integrating all 5 parts together successfully.
What we learned
Integrating technology stacks is never trivial and takes more time than planned.
What's next for Upstander
More reliable fitbit communication, Login and health fitness data to be stored in blockstack, Voice-recognition to navigate the app and trigger the app.