Inspiration

While living through the current pandemic that is COVID-19, the hardest thing for some people is to find joy while staying indoors. Despite isolation and social distancing are the advised lifestyle for many, there is no doubt that a significant number of people desire to enjoy the outdoors once again, without having to worry about being infected.

So in brainstorming ways to make this a reality, while keeping the at-risk population safe, we wondered if there was a way for people to find safe places that were free from reports of infection. If there was such a way to discover clean sites with minimal difficulty, then it would allow for those deprived of nature be able to find ways to responsibly let themselves outdoors again, regardless of their age.

Given that according to medical professionals and their journals it is considered safe to go outside as long as people stay away from each other, we decided to create a website that would aid people in their efforts, and promote responsible excursions. By finding out where the reports of COVID-19 infections are and seeing how many people have recorded themselves as having visited specific locations, we created a tool where people could be able to make safe, informed decisions about where to go.

What it does

Our web application, Virus Sus, takes information provided by Google's Open COVID Data, and provide location-based report layered with Google Maps' search results. Then when users search for places that they would like to visit (in plain english, so nothing complex required), the application returns a list of places nearby, and gives reports on how many COVID-19 cases have occurred around them. On top of that, users of the applications can "check-in" the size of their group to specific locations that they'd like to visit, so that when others look at the same places to perhaps visit, they can make informed decisions to shy away from danger by looking at the records of high-traffic locations. Additionally, there is an optional button which can be pressed that filters out high-visitor locations, and instead returning results that are low-risk.

How we built it

Tech Stack

The project was built using a server-less architecture, where the Front-End was created using ReactJS framework, and using client-sided API calls to other services as well as the FireStore Database network provided by Google. This allowed for lightweight and high-performance application that required minimal technical overhead on both the user and the provider of the service. The FireStore Database mainly caches locations that users have searched, and how many of the users have used the "check-in" feature to inform others about potential risks and dangers.

Infrastructure

For streamlined deployment and hosting process, the project is stored on the Google Cloud Platform, which takes care of a lot of the infrastructure requirements in a simple step. By combining this platform with other Google Cloud products such as Google Maps and Google's Open Covid Data, it was possible to contain the project in a centralized fashion that made collaboration, interconnection, and maintenance straightforward.

Challenges we ran into

Donghyun (Daniel) Park

A challenge that I had to face was the different nature of using FireStore as the Database, as I had no prior experience to it. While initially it was easier to set up compared to an SQL-based DB, correctly utilizing it and its customization settings to make it fit our needs was challenging. Then, making sure that the Front-End correctly reflected the data that was being stored in the DB was quite unique, and it was a valuable learning experience beyond the typical SQL databases and cloud hosting.

Lavanya Roy

Most of the challenges I faced during the course of the hackathon were related to how to actually work with a NoSQL database. All my previous database knowledge was not really useful and hence had to do quite a bit of reading for it. But thanks to my teammate Dan, especially for being patient with a first timer like me, I was able to firstly add Firebase to our web-app and then try to come up with a reactjs code which tries to increment the visitor count every time someone visits a place in order to provide real time crowd and keep the database updated. The toughest part for me was figuring out how the queries can be handled and how to update the database from firestore. I certainly feel I am taking away a lot of new things I learnt from this Hackathon and plan to implement them in the near future.

Minyoung Na

  1. I think working with the google cloud APIs was pleasant and overwhelming at the same time. With such an abundance of resources, I felt like we were able to create any projects within GCP. Yet I felt that it was very difficult to use different APIs and connect them together just due to their sheer volume
  2. Working with different datasets was really tough. It took us a while to figure out how to use the location data from Places API in conjunction with Open Covid dataset. For instance, the state in Places API were abbreviated ( NY, NJ . etc..) where as Open Covid dataset had a non abbreviated name (New York, New Jersey). We had to manually parse these for the data to sync up. It was very rewarding at the end but it took us a long time.

Accomplishments that we're proud of

  • Learning new technologies (Firebase/FireStore, React, Server-less Architecture, Google Cloud Platform)
  • Creating a fast, simple but reliable UI
  • Ensuring intuitiveness within the UI to accommodate the less technologically savvy users.

What we learned

We learned that being able to enjoy outside once again might not be something we can take for granted again, and responsible outdoors behavior and limiting social interaction is key to quicker recovery for the society as a whole. If you're not an at-risk person and can tolerate social distancing, it is far better for the masses to stay indoors.

What's next for Virus Sus

  • Creating a better representation of the COVID-19 cases data with more precise geographical representation.
  • Creating a recommendation system based upon the number of checked-in users and case numbers at specific locations
  • Improving user functionality such as history, bucket-list, and other customization features.
Share this project:

Updates