Inspiration
Our team understands that during this pandemic, maintaining social distancing is necessary for the safety of both the individual and society as a whole. Avoiding crowds, especially ones with people who have been exposed to COVID or are at risk of COVID, decreases the chances of contracting and spreading the virus.
However, the necessary functions of daily life -- such as shopping and eating -- make complete social distancing difficult for many people. For example, take Duke University, which two of our team members attend. Despite Duke’s safety measures, students who decide to live on campus are not completely free from risk, as there are still sites that every student must visit in-person. Brodhead Center, or “WU”, is Duke’s largest and most popular dining hall; thus, even if most people simply pick up their food and leave, the fact that almost all on-campus students will go there at least once guarantees that social distancing guidelines will be tested.
In the market, there exists no social distancing focused application to map areas of COVID-risk and offer suggestions to consumers. Our application focuses on selecting a variety of COVID-risk features in order to support state- and CDC-mandated COVID policies while supporting everyday consumerism.
What it does
Our app provides users with a real-time COVID-19 risk assessment on any of their location search queries. After users have signed up with a Google account, the app surveys users on potential COVID-19 exposure and symptoms. Then, utilizing a weighted algorithm which takes into account survey responses, population, and CDC-recommended capacity of a location, it determines relative COVID risks and tracks the geolocations they visited (with consent). Through traffic analysis overtime, the application can determine the relative COVID-19 risk in a location with a population cluster, identifying which locations are low, medium, high, or critical vectors for infection. In addition, our application provides suggestions for alternate locations with lower COVID risks in order to minimize exposure to COVID for daily consumers.
How we built it
The underlying framework of the application was constructed in Flutter using Dart. The app first surveys its users on potential COVID-19 exposure and symptoms and tracks the locations they visited (with consent). Through geolocation pinpointing and data collection storage in Firebase, our app can determine which users at which locations are potential vectors for infection and generate a risk assessment for each location. This information will allow our users to avoid crowded and/or potentially contagious locations and keep themselves and their loved ones safe.
We broke this idea into two main objectives: track and recognize user geolocation, in the context of social-distancing guidelines Use the survey data from each user at one specific location to generate a risk assessment for that location.
In order to track and recognize user coordinates, we implemented the Google Maps API. We built an expansive database in Firebase containing over 100 entries of popular destinations on Duke University’s campus and in the surrounding Durham area, taking into account their radii of exposure and CDC-guidelines. Identifying each location by keyword, made sure to include a wide variety of locations, especially ones that students like us frequent. To determine if a user is at a particular location, we computed the distance between the user’s geographical coordinates and the geographical coordinates of the location’s center, establishing area boundaries for each location utilizing Google Maps data.
In order to generate the risk assessment for each location, we first gathered information from each user by prompting them with a weekly 5-question survey. This survey asks each user if they have tested positive for COVID, experienced severe or mild symptoms of COVID, or come into contact with anyone diagnosed with COVID, or experiencing symptoms of COVID. To compute the risk assessment for a location, our app first detects which users are currently present at the location as well as which users have visited the location in the past 14 days (as recommended by the CDC). It uses the survey results of these users to generate six quantities:
the total number of people currently at that location the proportion of people at the location who have tested positive for COVID the proportion of people present experiencing severe symptoms the proportion of people present experiencing mild symptoms the proportion of people present who have come into contact with those with COVID symptoms the proportion of people present who have come into contact with someone diagnosed with COVID.
An algorithm was then developed in Dart to determine the relative COVID-19 risk factor by weighting the above features. A random-forest model in sk-learn was utilized with user-generated data to determine weights for each factor, allowing us to derive a weighted average that would then be compared against a threshold to determine relative COVID risk. The threshold took into account CDC guidelines for maximum capacity (60% of the available area in a building). Through a comparison of the weighted average and the threshold a risk assessment of low, medium, high, or critical, is generated for each area and reported it to the user based on search queries.
Furthermore, keywords for each location were included in the data collection in order to provide suggestions for alternate consumer locations, conducting simple keyword comparison analysis in order to minimize COVID-risk. More specific data such as how many people on-site have tested positive for COVID and how many people on-site have potential COVID symptoms is also reported to the user.
Challenges we ran into
In our app development, we faced a number of challenges associated with a limited data set (to train our RF model) and handling the large collection of data on Firebase. Our greatest challenge was a lack of data in order to determine the weightage of each feature in determining the COVID risk. We wanted our app to cover a larger area, however, after realizing the sheer number of location entries that would necessitate, we realized the infeasibility of our ambition. Instead of spreading ourselves too thin, we chose to focus on what was nearest and dearest to us, and centered the location database on Duke and the Durham locality. In addition, we also ran into a challenge with the keyword analysis for similar locations. We needed to make sure that each individual location keyword was identified in the database and classified correctly, which require heavy data mining and cleaning.
Accomplishments that we're proud of
This application is the first consumer app of its kind to clearly map out areas of relative COVID risk utilizing a combination of user data and CDC/Health Department data on a small-scale level (i.e. by buildings). In addition, it is also unique in that it compares locations using keyword comparators in order to offer suggestions for lower COVID risk areas, while also taking into account CDC considerations such as maximum capacity. Unlike many other COVID applications, this application provides real-time output and updates, updating geolocation at a buffer of every 30 seconds and COVID symptoms every 7-day period.
The app also made use of machine learning algorithms to provide a weightage factor to characterize COVID-risk, which has not been previously seen in the consumer market. Rather than only taking into account the number of cases, the application also takes into account the maximum capacity of each area, the population, and other CDC-recommendations.
This app serves as a pioneer for COVID mapping and diagnosis, creating a database of users and locations to further lower COVID risk.
What we learned
In developing our application, we learned quite a lot about the data collection and data analysis process, particularly because our model was based solely on user-data. Through extensive troubleshooting, we realized the challenges associated with real-time data buffering and handling a large collection in Firebase. In addition, we were able to see our diverse areas of computer science proficiency could be blended into a collective project, overlapping coding languages such as Python's sk-learn and Flutter in order to create our final product. Through this project, we've gotten a better grasp of using Google Maps and other locations-based APIs. We've also become more familiar with Google Firebase, and with managing databases for projects in general. Our beginner members especially learned a lot: they got a firsthand look at how work is distributed in a development team, took part in the beginning steps of app development, and got the valuable experience of working collaboratively.
What's next for COVID-19 Cluster Detection App
Though we are already immensely proud of our work and recognize its potential in tackling the COVID pandemic, we also hope to further improve our application for more global usage. First of all, we would like to refine our risk assessment algorithm utilizing a CNN, and including more features for selection, such as whether a location is indoors or outdoors. With user-generated data, it would be helpful to increase our sample size for more accurate training of the algorithmic model. In addition to tracking the potential carriers currently at a location, we would like to add a feature that tracks all potential carriers to visit a location within the last 14 days (the incubation period of COVID-19) for more chronic classification of COVID. As our app collects more traffic data over time, we would also like to use its analysis to generate graphs that show the average business of each location during different times of day, and even predict the business and risk assessment of a location in the future. Currently, the scope of the app is within the Durham locality, but we hope to utilize Firebase data collection in order to add additional location points, with further consumer keywords based on sentiment analysis. Everyone could benefit from an app that allows them to avoid potential infection, and we hope to be able to eliminate the impending healthcare pandemic of COVID-19
Built With
- dart
- firebase
- flutter
- google-cloud
- google-firebase
- google-maps
- java
- python
- sk-learn
- swift



Log in or sign up for Devpost to join the conversation.