-
-
The Home page of our Website! It includes a brief description and the Infectious Disease Simulation
-
A quick look at example user inputs for the simulation
-
An example of what the output for our simulation looks like
-
The About the Simulator Page: Read about the theory behind our simulation and how it compares to real life
-
The Infections Diseases Page: Make sure to take a look at our resources and stay educated
-
The About The Creators Page: Learn a little bit more about us
Background and Goals for Our Project
In the wake of the COVID-19 pandemic, we were inspired to create a simulator that would serve to educate people about how disease spreads rapidly through a population and what measures can be taken to slow the spread. For us and for many other folks, the near catastrophic effects of the pandemic on our way of life was jarring to say the least. As a group, our team believes that, in the future, the key to an effective response is education on widespread preventative measures. To this effect, we created a website and accompanying simulator focused solely on educating others on how disease is spread and what factors play a part in its propagation.
How it works
Our simulator uses graph theory to organize and manipulate a randomized matrix in order to model a random population of a type determined by the user. By iterating through the matrix and using chances of infection, exposure, and mortality, we are able to create a model of the spread of a disease through a given population using python code and principles of linear algebra.
Technologies Utilized
- Python
- HTML
- CSS
- Repl.it
- Github
- Visual Studio Code
Categories
- Pinnacle Hack Winner at Technica
- Best Hack for Influencing Human Behavior - BSOS
- Best Global Health Hack - Abt Associates (2)
Implementation Difficulties
Throughout our project we encountered more than a few problems properly integrating a fully randomized adjacency matrix as well as incorporating user inputs. Initially, we chose a simple approach that assumed a 100% rate of spread between a given group, accomplished by identifying discontinuous pieces in the graph the adjacency matrix represented. After thorough discussion, we decided that we were making too many assumptions to truly do the project justice, and to that effect we scrapped a lot of our base code after a few hours, in favor of a more considerate approach that took into account the factor of chance. This new approach made it necessary to constantly adjust the matrix after each round, resulting in a lot of messy code that was often difficult to work with. Additionally, the randomness that ran rampant in our code made it difficult to test at times, resulting in us looking for errors when the simulator occasionally just gave us outlier data. In one notable occasion the simulator predicted a 0% spread which although the percentages were low for spread and infection, was unlikely.
Like numerous other groups, we also occasionally had difficulties reconciling our varying coding experiences. As new hackers, we are relatively unused to dealing with these differences so there were times when we all had to take a break and reconvene to make sure everyone was on the same page. In the end, we were able to make the most of our varying perspectives with Abby lending her data science expertise, Jacquelyn integrating the python code with a website deserving of it, and Emily lending her more generalized experience with respect to a variety of coding languages and critical eye for debugging. We are pleased to say that our struggles produced a simulation we are truly proud to have made.
Concerns/Questions
Going into graph theory modeling, we knew we wanted to focus on disease modeling; likewise, we also knew that this topic was extremely prevalent today with COVID-19. The way disease spreads in the framework of our world today, is a subject deeply rooted in humanity. Different communities of socioeconomic statuses, race, and a variety of different factors respond differently to the threat of disease. As any programmer knows, mimicking and predicting humanity in lines of code is a difficult if not impossible task. As much as we would like to create the perfect simulation, this is a lofty goal for a single hackathon.
This is why our project, though influenced by COVID-19, chose to take a more theoretical approach in developing a simulation. We did not want to take on real data of disease spread and attempt to work with it without fully understanding the ethical responsibilities we needed to uphold- something we did not feel we could accomplish proudly within the time limit for Technica. We hope that this approach is satisfactory in providing a basis for what we might create in the future.
Accomplishments and What We Learned
Over the course of the project, we have had the privilege of learning the basics of new program languages, taking others to new unforeseen heights, and learning how to collaborate with people of varying skill levels and backgrounds. When we began this project, some members had never heard of graph theory, and others had never thought mixing multiple programming languages was possible for anyone with less than a masters in computer science. We talked about the ethical responsibilities we have as scientists and engineer to be. Whenever we deal with problems that are heavily ingrained with humanity, it is up to us to take a step back and think about what exactly the impact of our work is. To that effect, it is okay to make a tactical retreat and return to the problem with a more grounded perspective in the human factors that may be affected by or influencing the issue at hand. Overall, our team is proud to have made a project relevant to issues today, and that our work could have helped in any way, no matter how small, is all we could have hoped for.
Next steps
Within the simulation we have built, we fail to account for a variety of factors such as the effect of time on the spread and without a doubt an amount of others. The world is a dynamic place that although beautiful, is not easy to model in a concise and simplistic way. While making the simulation, we without a doubt made a variety of assumptions that may make a seasoned epidemiologist weep. In the future, one of our main goals would be to rectify the errors of our first draft and create a more sophisticated model that could be used in real research and pandemic response work, in addition to education.
Looking at the big picture of what we could accomplish, we want to further examine network science. A current big topic in understanding the spread of COVID-19, research into network science and the way that specific communities may transfer a disease- whether through transportation, shared living communities, or workplaces- can help contribute to a wider understanding of disease spread. Looking into the reasons why disease spread faster in certain communities and why different populations are disproportionately affected by infectious diseases is necessary both from a viewpoint of understanding infectious disease but also for learning how to better handle outbreaks and the subsequent care of the sick.
Contributors
Emily Carroso, Abby Carr, and Jacquelyn Butler

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