Inspiration
I was standing in line the other day, and I really needed to know if my friend wanted me to buy him a ticket for the movie. I texted him and called him, but my efforts were in vain. He never answered back! I thought to myself, we really need an efficient system to get urgent messages across. Our team thought hard about how this idea can help alleviate some social problem. Earlier in the year, we also took an alcohol safety and sexual assault prevention course. These issues made us wonder why we do not have means to obtain immediate help in a variety of situations.
What it does
The main feature of the application is the Panic button. When this button is pressed, the phone will send out its exact latitude and longitude coordinates to a server. The server will then send the message to all registered users within a a certain distance radius of the panic location. The receiving phones will show a pop-up message, and vibrate for 60 seconds unless stopped by the user. The application will then open up a map view, and mark the exact geographic coordinates of the panic signal.
How we built it
The application is built for the iOS using Xcode and Objective-C. It utilizes the location services available through the Core Location framework. We set up a TCP socket server using Twisted and Python to relay messages between cellular devices. The application also uses the Audio toolbox for sound and vibration notification. Finally, it uses MapKit to create a map view and drop the pin with the coordinates.
Challenges we ran into
- First time setting up a server
- Exploring the various methods for phones to communicate to each other
- Understanding location services and various Xcode libraries
Accomplishments that we're proud of
- Setting up a server
- Transforming an idea into a product
- Making an application that is helpful and impactful
- Learning and refining programming languages
- Practical programming and collaborating on a project
- Drinking lots of Red Bull
What we learned
- The difficulty in setting up a server
- How to implement location services and various Xcode libraries
- How to code in different programming languages
What's next for Samaritan
In the future, we plan to :
- expand to provide functionality to incorporate calling 911, providing the geographical coordinates
- incorporate sending emergency messages to preset contacts
- adding new trigger methods aside from opening the app.
All of this is with the focus of bringing together a community and keeping them informed.
Built With
- iphones
- objective-c
- python
- router
- socket-server
- tcp
- twisted
- xcode
Log in or sign up for Devpost to join the conversation.