We were inspired by the theme of Social Good for this hackathon, and wanted to make a novel tool to help the general public. We were intrigued by the capabilities of, and by the presence of the Toronto Police.

What it does

Sends alerts to users inside and entering Geofences, which are setup by the administrator (in this case, a police service). These Geofences can be adjusted and deployed quickly to warn users about emergencies; improving public awareness and safety.

How we built it

We integrated's API and SDK into an Android app, with Firebase as its back end. The app uses Google maps API to gather location data. We then send this data to using their SDK, where they compare it against the Geofences as setup by the Team. then sends event triggers in the form of JSON files to Firebase via a webhook. Firebase uses a cloud function in JavaScript to interpret the event trigger, sending a push notification back to the app using Firebase cloud messaging.

Challenges we ran into

Many of our team members had little to no coding experience in Java, Javascript, Android app development, Firebase API, and API. Most if not every step was learned in the past 24 hours.

Accomplishments that we're proud of

We successfully developed an app with the API integration despite having no previous experience or online tutorials.

What we learned

Making an Android app for the first time, we learned a lot about app development, API integration, and the capabilities of Geofencing

What's next for Vigilant - Public Warning Mobile App

We would like to integrate the features of Vigilant into existing apps for Police Services, and expand on the app's capabilities. Most notably, the ability to adjust Geofence shapes and sizes to conform to highways or certain regions. This could be done using the enterprise version of

Share this project: