What inspired us to create BusyMap was the frustrations that arose when planning for trips during these socially distant months. A factor that we must weigh heavier nowadays in contrast to pre-COVID19 days is how crowded a destination may be. There were countless times during the past few months where we had to turn back from our desired location due to the lack of ability to socially distance responsibly.

What it does

BusyMap provides its users with a comprehensive and real-time platform to visually represent the busyness of areas in the form of heatmaps (using a combination of traffic data and hours of operations for places). That is, enabling users to visualize what areas are crowded during what time of day.

How We built it

BusyMap’s front-end is built with vanilla Javascript/CSS/HTML supported by a Python + Flask backend that connects to GeoTab and Google Maps’ API. Both the website and the supporting backend is hosted on a D2s v3 Microsoft Azure Ubuntu instance.

Front-end back-end communication is established through only RESTful calls. Our program has the potential to become fully stateless and be only running on server-less services.

We made use of GeoTab's UrbanInfrastructures/IdlingAreas dataset as the source of information for our traffic visualizations. Where, we can specify the hour of day and be given the congestion levels of a desired area.

Like mentioned above, we are using Microsoft Azure for hosting the entirety of our project on an Ubuntu instance with NGINX as our reverse-proxy. We see great potential in migrating our app to Azure Functions Serverless Compute to improve scalability and lessen the time needed for maintenance.

Challenges we ran into

Given that we are retrieving large quantities of data from Geotab, processing and displaying data quickly to create a seamless user experience was important to us.

What's next for BusyMap

  • Add new datasets including COVID-19 metrics and weather
Share this project: