Inspiration

For this year's transportation theme, we wanted to try and create something that could make a positive impact on people's lives. After finally settling on safety, we came up with an idea to help combat drunk driving.

What it does

Our app allows groups of friends to keep tabs on each other while at a bar, party, etc. One friend can host a group on the app, and share the randomly generated code with the people they plan on going out with. The host will create a geofence around where they plan to stay, and all group members can view each other on the map on the home screen. The app will monitor the location of each group member and will send a notification to everyone if any member leaves the area. The idea here is to give others a moment to check up on that person to make sure they are okay to drive if they were planning on leaving without letting anyone know.

How we built it

Both of us have prior knowledge in web development but knew this app would be better suited for mobile devices. So, we went with a familiar, yet new-to-us technology, react-native. The front-end was all created with JavaScript and the react-native framework. We used the XCode iOS simulator and Metro to debug and develop our application. We used various APIs to help communicate with the iPhone for getting location and sending notifications, and also some that helped with some of the design and the backend. We created a REST API using express.js to run the back-end and used MongoDB for our database.

Challenges we ran into

Gathering information from the iPhone was particularly difficult. We went through many different techniques as Apple is very strict with how they manage background processing usage and other privacy concerns. Unfortunately, this prevented us from using the Expo framework which makes building apps with react-native much easier. We also came across a roadblock with notifications, as Apple requires a $99-a-year developer account to utilize their Apple Push Notifications (APN) API, but we found a way to make it work without pushing directly to the device from our server.

Accomplishments that we're proud of

We are proud of being able to complete a working version of our concept in just a single weekend.

What we learned

We learned a lot about mobile development, hardware utilization, front-end design, and API creation.

What's next for tabs

We both find this to be a promising concept that could be further improved with more time and a little bit of money. In looking at turning this into a viable business/service, we think that it would fit perfectly into an existing social media app like Snapchat which has features centered around location very prominent in the app already. But, releasing it as a standalone app would work great. Security and battery efficiency are at the top of our list as things we know we can improve on to make the app a more viable product.

Built With

Share this project:

Updates