We wanted to build an improved version of iOS' and Google's location sharing feature that allowed people more control over how and when they share their location with loved ones. We also wanted to allow people to signal that they were potentially in danger.

What it does

Users can pin their location on the map, and those pins then become visible to selected groups of contacts. If someone feels they are in danger, they can increase the threat level of their pin by changing its color from green to yellow and then to red. Emergency contacts will only be notified of pinned locations, as opposed to constant real-time location tracking.

How we built it

We started off with a Django backend API (built on django-rest-framework) and a React native mobile app. We had to eventually pare down the API and concentrate on developing an MVP of the app, even if a few features were hardcoded.

Challenges we ran into

While we initially tried to build a fairly robust API using Django, we only had only backend Django dev on the team, and he ran into issues which prevented the development of a full-fledged API in the space of the 24 hours of the hackathon. To adapt to this, we pruned the API to a minimum to have the app have a presentable demo at judging time.

Accomplishments that we're proud of

None of us have a whole lot of hackathon experience, with none of us having been to more than a few and one of us being a hackathon first-timer. We're proud of having been able to work together in a flexible yet directed manner.

What we learned

We learned a lot about REST APIs and JSON. More importantly, we learned a lot about hackathon metastrategies, including (amongst other things):

  1. Don't get bogged down in details. Periodically regroup and if a member is stuck on a task, vote to see if they should continue or find another way.

  2. It's better to get a simple product up quickly, then to try and plan a very elaborate app that won't get done.

What's next for GuardianAngel

Trying to finish the API!

Built With

Share this project: