Inspiration

The current overdose crisis in Philadelphia has lead to a massive amount of overdose victims, and a combination of other crime issues as well as the cities infrastructure has prevented emergency services from being able to respond and assist in a timely manner. However, there is a way for civilians to help with drug overdoses - Narcan. When administered, Narcan can increase an overdose victim's chance of survival significantly, and with pharmacies recently making it over-the-counter, more people have access to Narcan than ever. However, there still exists a major issue: normal civilians have a difficult time knowing when and where an overdose is occurring. Our application would provide them with this information. With this application, we aim to allow civilians and bystanders to contribute to a timely and effect response, saving many lives in the progress.

What it does

NarCompass allows victims to call for help with a single push of a button if they need it, notifying local hospitals, as well as notifying nearby Narcan carriers. If the carriers choose to help the victim, NarCompass creates a geographical route between the two, showing the most efficient route to the victim, based on the carrier's preferred method of transport. (driving, walking, and bicycling are all supported). Furthermore, the caller is continuously notified throughout the process, ensuring that they know where the help is, and how fast it's coming.

NarCompass also boasts incredible flexibility for the carrier, and allows them to change the range they prefer to respond in. Furthermore, potential callers can choose what data and information appears to the carrier, which is then stored in a cloud database. This optimises the user experience and ensuring that callers can receive the fastest and most capable response at the moment.

How we built it

Using Flutter and Dart, we created an app that can run across all platforms. Throughout the provided time, we first coded the most integral portion of the application: the map and route creation. Using Google maps API, we generated a map, placed points on the map, and were able to use the Routes feature of the API in order to connect those points, and find the shortest possible path. Then, we needed to ability to store user data, in order to know when a user was overdosing and had notified help, and who was in the area to help. To do this, we used a feature of Google Cloud, Firebase, which allowed us to easily store and pull data from a wide, easily-accessibly, and extremely stable database. Then, we used Twilio in order to create an easy system of alerting the user and the victim when they approached each other, keeping the victim updated as to where their help is. Finally, it was simply a matter of organisation, basic code optimisation, and using Flutter packages (such as settings_ui) to create an interactive UI, allowing for our users to make the most out of their experience, maximising potential lives saved.

Challenges we ran into

As we started the competition, we realised that while we were competent, we were severely lacking in experience. Out of the four people on our team, three had never used Flutter or Dart before and not a single one of us had used Twilio or Firebase before. This lack of experience led to us having to spend a lot more time learning the basics of these technologies, limiting the time we had to create our final product. Furthermore, this was the first time the four of us had worked as a team. Before this, all four members of the team had specialised in individual coding, and this marks one of the first big projects in which all four had to work together to prove a single product. Despite these challenges, however, we still managed to produce an end product we're proud of.

Accomplishments that we're proud of

Everything in the app - the data storage, Google Maps implementation, Firebase implementation, Twilio implementation, and much, much more - are great accomplishments for us. We have never completed a project of this scale or depth as a team, and with this accomplishment comes a deep sense of pride and achievement. That being said, however, the Google Routes implementation serves as a particular spot of pride for us. The methods we used to create the path, as well as discover the shortest path, was a fairly unique approach and functioned extremely well, being incredibly accurate and a core functionality of different parts of our application.

What we learned

With this Hackathon, we learned not only how to create an app with all of those components listed above, but also how to efficiently work as a team. We learned how to efficiently divide coding work, compartmentalise app creation, and communicate, as well as how to put those all together to create a brilliant final product.

What's next for NarCompass

First, basic improvements. While the app certainly functions well and efficiently as-is, there is always room to do better. With more research and time we are certain we can create a sleeker, faster, more efficient product. Second, we want to market this product. We believe that this could certainly help people not only in Philadelphia, but worldwide as well, and we want to ensure that this app, in some shape or form, is available for those who need it.

Share this project:

Updates