As COVID-19 is wreaking havoc all around the world, many countries, including the US, are in a race to implement a COVID-19 tracking method to mitigate the pandemic’s impact. However, previous tech efforts to control COVID-19 in the US have no proven effect due to the limits imposed by data privacy regulations and a failure to utilize modern software development techniques in data reporting. Moreover, among the public, there is hardly any way to access necessary information and resources within a few clicks. Seeing these problems, our team chose to approach the issues by building a web application with multiple functions that can benefit both the general public and the administrators’ attempts to control COVID-19. During the course of the project, we have been creating a model to predict COVID-19 infection rates and other metrics by each county in Indiana, to help Hoosiers determine their own risks and professionals to conduct further study. We have also mapped out an email system that tracks users’ health status and traces their contacts.
What INCODA does
Our solution to the current situation is an application known as INCODA. A business to government web application that is able to forecast COVID-19 outbreaks in Indiana and its counties. Including the ability to alert users of possible threats of infection if they have come into contact with a COVID-19 positive patient. As well as to provide resources to help reduce the spread.
Interactive Maps: The interactive maps drawn through Tableau using the prediction data from the model are displayed on the homepage of our website. These maps can be used by the user to see the number of cases, deaths and tests that are expected to take place in various counties across the state over a period of next 7 days.
Outbreak Forecasting: The predictive model is based on LSTM Recurrent Neural Network is used for the time series forecasting. The predicted cases, deaths and tests are also plotted into line graphs for the user to observe, so that the trend of the COVID-19 outbreak and the relative safety of the counties can be seen by the users themselves.
Integrated Notification and Invitation System: When the users subscribe to our web application, they receive notifications about the current situations in their counties and testing reminders. If they receive positive COVID-19 result, they will be asked to provide their recent contact list and get daily health checkup email.
How INCODA was built
At the heart of our application is a time-series machine learning model. We are using this model to predict COVID-19 infection rates, and other metrics, for at least seven days into the future. The model was built using Python and it’s related libraries. In order to avoid any conflicts with the model or it’s data, we chose to build the site using the Python based Django Framework. Furthermore, Django is capable of implementing standard frontend languages such as; HTML, CSS, and JS. Bootstrap3 and 4 were utilized as they provide a fast, easy, and attractive way to style elements of the site such as the buttons and navigation bar.
We chose Heroku as our hosting platform because they offer strong support for Python based applications. They also provide free hosting for small sites, like ours, and make launching the site very easy. Likewise, Heroku makes scaling up a simple process. We used PostgreSQL to create and manage our database on the backend. PostgreSQL is free to use and is well suited for a site of our size.
For the interactive map we used the Tableau software suite. Tableau is a powerful BI tool which has the capabilities to be integrated easily into web frameworks and works with both csv as well as json data.
Challenges I ran into
There were many challenges that we had to overcome on this project. Primarily, we had to learn several new technologies, such as: Django, Bootstrap, Heroku, and Tableau. Each of these technologies has their own nuances. But ultimately, they must be seamlessly integrated into one another in order for the site to function properly. We did a great deal of research in order to learn these skills. And eventually were able to add new features, fix errors, and maintain the site.
What's next for INCODA
Given additional time, the pro team would: Incorporate an email server and text messaging system to demonstrate the email reminders that the site would have been able to send out. Work more on user interface and experience to give our web app a more complete look.
On the other hand, the go team would Further their research on approaching the government and go into details of the marketing plan. Conduct interviews among a large base of people to gain thorough insights into what needs to be improved and what other functions are needed as the situation evolves.