From a report in the Department of Revenue in the NSW government- between 2017-2018 alone, there were approximately 650 000 cases of speeding and red light offences in NSW, which amounted to approximately AUD 200 000 000 in fines! Processing these feels also take up valuable resources such as time and money for both the government and the citizens.
Currently, there is no framework in place that forewarns drivers about these offences in crime-prone areas such as the Pacific Highway, for example.
What we can bring...
We have created an API endpoint that applications across all platforms can use to query speeding and red light crimes; and school zone warnings. We have created an app that uses our APIs to caution drivers while driving based on their geolocation.
Our API is not only scalable and easy to conume, it would be quite trivial to expand our existing services worldwide. Not only that, we could extend our model to include other geospatial services through the integration of other data assuming we obtain them.
How we built it
- Obtained the Australian NSW Traffic Penalty dataset for 2011-2017 and clleaned our data.
- Grouped data points and separated red light and speeding incidents.
- Used Google geocoding services to obtain latitude and longitude values for each data point.
- Hosted a Flask server and a MongoDB instance on a DigitalOcean droplet.
- Ported our csv dataset into MongoDB, and created GeoSpatial indexing for our datasets.
- Created an api endpoint on http://bitnahian.me:5000/api
- Created an app that uses flashing and voice notifications to alert users of the app.
Challenges we ran into
The biggest challenges were arguably multi-faceted. Initially, the challenges were mostly about semantics rather technical details - such as how to treat and split the dataset.
Accomplishments that we're proud of
The biggest accomplish would be that we became Data Science, MongoDB and API experts in twenty four hours.
But really, we're just happy we got things done!
What we learned
- How to create an API
- How to use MongoDB
- How to cloud
What's next for Catch Me If You Can
Primarily, we want to achieve the following:
- Extend our apis to return other kinds of information
- Create a feedback api to integrate with other sources of data.
- Have fun while doing everything!