Inspiration
We wanted to build an application that fostered community amongst others. Moreover, a huge problem we all resonate with is the fear of needing help when no one is nearby. Samaritan is a remedy to all these things.
What it does
You can click on an emergency button to request medical help and then select the type of medical emergency. Upon submission, a responder will be on their way shortly, their location tracked geographically. As a user, you are also able to opt in or out as a Samaritan and help others in need.
How we built it
React Native, compatible with Android and iOS devices, was our prime choice alongside TypeScript for UI/UX and frontend logic implementation. To accompany our backend, Spring Boot with Java worked nicely for setting up API endpoints and web sockets to update emergencies. Tiger Data was utilized to store user data and profile storage. Finally, Firebase was incorporated for setting up our push notification service.
Challenges we ran into
Persistence of user information was a point of contention amongst our group as a login would have taken a great deal of time. Thus, we settled on utilizing keys via hash functions for local storage to distinguish and store user data between devices.
Accomplishments that we're proud of
Creating a full-stack mobile application in under two days was no easy feat. We are especially proud that we were able to bring together the frontend, backend, real-time emergency updates, location tracking, data storage, and push notifications into one working application. More importantly, we built something centered around people helping people, rather than simply building another app.
What we learned
We learned how many moving parts are involved in building a real-time application. Getting the frontend, backend, database, WebSockets, location services, and push notifications to communicate reliably required us to think beyond individual features and focus on how the entire system worked together. We also learned the importance of making practical decisions under a tight deadline and being willing to simplify features when necessary to get a functional product built.
What's next for Samaritan
Our next step would be making Samaritan more robust and secure for real-world use. This could include implementing proper user authentication, improving emergency verification, adding more detailed responder profiles, and expanding the types of assistance users can request. We would also like to improve the geographic matching system so that emergencies can be quickly connected with the most appropriate nearby responders. Ultimately, we'd love to see Samaritan become a community where helping someone in an emergency is only a button away.
Log in or sign up for Devpost to join the conversation.