On Earth Day this year, many had planned to support the environment in their own small way, whether it be a cleanup, planting trees, or raising awareness for the current dangers threatening our Earth, but in the midst of a pandemic, were forced to stay home and stay updated on how it was spreading in their own community. While many applications and sites already allowed users to check for the current number of cases at a location, little to none provided real time forecasts of each state, making it difficult for people to tell if the situation would be getting better or worse in their area. As a result, we were inspired to create CoVCast, a mobile app to help solve this problem by showing cases and day to day projections by state, with a design inspired by the traditional weather app on our phones which allows users to see both the current and forecasted weather at any time and location.
What it does
CoVCast is a mobile application that displays the current number of COVID-19 cases along with cases the day before in any U.S. state and a circular marker with a size to reflect the danger level of that state. Users will also be able to see day to day forecasts of future cases provided by our machine learning model in the future, though unfortunately we weren’t able to finish implementing it before the deadline so it won’t be available for the version below.
How we built it
The UI of CoVCast was built using Expo and React Native, while our backend machine learning model for projections was made through SK Learn.
Challenges we ran into
It was our first time dealing with machine learning in any sort of application or project, so we faced various challenges such as figuring out what kind of data we would need to collect for our model and figuring out how much we needed to train the model to make it accurate. We had to consider what kind of scale we wanted to cover and could get data for, ultimately deciding to focus on the state level with data from the New York Times and John Hopkins University. Our biggest challenge was figuring how to get our machine learning model onto a React Native application, which forced us to try numerous things such as changing to Tensorflow.js and trying to set up a REST API server on Amazon Web services in order to get it running on React Native.
Accomplishments that we're proud of
We feel proud to have made significant progress in making an app that helps address an immediate real world problem that has crippled the world so heavily. Creating this app presented many new challenges and concepts, such as working with maps and machine learning, that we were able to learn and overcome with a short period of time and the pressure of a deadline. Though we didn’t finish in time, we still feel a sense of accomplishment having learned and experimented with many different tools we could potentially use in the future, and achieving a higher level of progress than we originally thought was possible.
What we learned
While brainstorming and doing research for the app, we learned about factors that seem to contribute to the spread of this extremely contagious virus, such as population density and age, whereas factors like GDP per capita and temperature didn’t. Doing research about the virus for our app also allowed us to understand how bad the pandemic has been for various regions of the U.S. and how much worse it could potentially get.
On the technical side, creating this app has given us experience in training and tuning Scikit Learn and Tensorflow machine learning models. The challenges we faced with incorporating our model into React Native has also helped us become familiar with tools such as Tensorflow.js, Amazon SageMaker, and different methods of incorporating a model into different applications, such as through Tensorflow Serving. We were also able to practice using Expo and React Native in developing our front end, and learn about alternative ways to incorporate a map into our app beyond the Google Maps API.
What's next for CoVCast
While we weren’t able to get our machine learning model onto the application in time, we hope to do so in the near future, perhaps even as soon as tonight. Afterward, we’d like to expand our app to provide information for different countries and territories worldwide, and be able to break the information down into the different states and provinces like we did with the United States. We also hope to include more information such as active cases, recoveries, and deaths by each state/country, perhaps even giving users the option to see information by state, county, or a geographic size of their choosing. Once the pandemic ends and life resumes, we still hope to utilize CoVCast for future or ongoing outbreaks, and potentially retrain our model to help predict cases of other diseases such as the flu.