Inspiration

All around us, we see the itch. The itch to go outside. To take a walk, exercise, or safely meet up with some friends or family. Seeing as this is something that the vast majority of the people in the world deal with, we wanted to build an easy way for people to see if they would be Corona Safe when they go outside beyond just having personal precautions like masks and disinfectants. So, we decided to try and make our solution as streamlined as possible, with a heavy emphasis on being easy-to-use, and minimalistic, yet reliable.

What it does

Corona Safe has the main function of quickly allowing the user to see relevant data to their safety if they choose to go out at the time of running the widget. We built a busyness algorithm that factors in the density of important surrounding buildings within a given radius, and time of day, to create a relative scale of a low, medium, or high risk of being likely to be in the vicinity of someone with COVID-19. We also built functions to allow the user to easily see US COVID-19 case data, as well as state data for a state they choose, along with maps for both. (The US map & the state maps are live and interactive!)

How we built it

We arrived at the problem simply by brainstorming for tools we wished we could easily access in our everyday lives dealing with perhaps the most prevalent issue in the world: COVID-19. We then proceeded to split up the project into two main sections: a busyness algorithm with a localized risk rating, and general data, and US/state COVID maps. For the busyness algorithm, we are using Google’s Geocoding API, and Places API, as well as Google Cloud, to process our data requests. For the US and state cases counter, we used pandas to process raw CSV file data into sensible outputs and built our graphs using Plotly. The UI was built on Tkinter.

Challenges we ran into

The single greatest challenge we faced was the failure of a library that was supposed to get live foot traffic data for a geocoded location from Google Maps. Google does not include the retrieval of this data in their APIs. We were implementing the library correctly, but it could not obtain the same data that we could directly see on Google Maps, likely due to a potential path Google did to prevent access to said data. We had to switch tactics and develop an estimation algorithm on less directly useful data when we were already fairly far into our coding of this part of the project. However, we were able to succeed in the face of adversity and developed a functional and logical COVID risk algorithm despite the time lost and far less immediately applicable data or API.

Accomplishments that we're proud of

We are proud of properly developing a project that is at least in this format, novel, despite our greatly limited access to strictly relevant data. Especially with several new libraries and APIs, we are proud to have been able to understand and implement these tools successfully into our project. With the safety of oneself and our loved ones at the forefront of our minds every time we go out, knowing the risk of being near someone with COVID-19 is a crucial piece of data, and being able to provide two closely working tools to help others is without a doubt our greatest accomplishment.

What we learned

We learned how to use Google’s APIs, generate JSON requests via Python, work with geocoding, and parsing JSON files from writing our risk algorithm. We learned how to parse a CSV file and aggregate these data points into something meaningful via the Pandas library, and creating interactive graphs using Plotly from writing our case counter/map functionalities. We learned how to build a functional and minimalistic UI using Tkinter.

What's next for Corona-Safe

We plan to use learn more advanced web-scraping and computer vision, in order to web scrape the live foot tracking data from Google Maps ourselves. We would also like to integrate Google Maps into our widget directly so that the user can enter their desired address more easily. We are eager to try and turn this into an app, with a database to allow for more personalized data to be stored for a centralized version of this tool rather than something that’s purely locally hosted.

Built With

Share this project:

Updates