Inspiration

When I was younger, I would walk home from school every day and I had to text my mom every time I left school and and every time I got back to the house. This is totally fair, since my parents just want to make sure I'm safe and made it home in one piece! However, kids are inherently bad at remembering things (especially me) and often times forget to text their parents that they are safe. This could lead to several panic phone calls and a very upset parent, because no one wants to see 14 missed calls from their mom.

What it does

The goal of my app is to provide peace of mind to students and their parents, in the least invasive way possible. When walking home from school, you have to text your parents every time you leave home/school and arrive at home/school every day, which can lead to forgetfulness. Another option parents have is to track their kids on their phone so they always know where they're at, but no one wants to be tracked. My application automatically notifies parents when it detects that the student has left home/school and arrived at home/school. In addition, the application can also detect if the student is greatly deviating off the path to home/school or is a great distance away from both places. When it detects this derailment, the parents are immediately notified and, only then, are given the option to track their kids on Google Maps to see what is happening.

How I built it

I built the application using Android and Firebase as my database. It incorporates several Google Cloud APIs such as Google Places, Google Locations, and Google Maps.

Challenges I ran into

The biggest challenge I ran into, contrary to my above statement, was Firebase. Firebase servers are essentially just JSON Arrays, which makes things rather difficult. I had to design the database in a way that was efficient, scaleable, and with little to no duplicate entries.

Accomplishments that I'm proud of

My biggest accomplishment I'm proud of is, continuing from above, building my database in a way that is highly efficient and does exactly what I want it to do. The database has to communicate with a walker and several angels all in real time and synced. Doing so, essentially with JSON arrays, was a difficult feat that I'm proud I accomplished.

What I learned

I learned a lot about Google Maps API, Firebase, and data design.

What's next for Arkangel

MACHINE LEARNING! One big feature I would like to add is better detection when something goes wrong. Currently, I use a lot of math with latitudes and longitudes to get a sense as to where they are, where they're going, ad if they're going the wrong path. It would be a lot more efficient for the application to actually understand the path(s) the student takes and learn them, which can lead to faster and more efficient detection of path derailment.

Share this project:

Updates