The spread of the severe acute respiratory syndrome coronavirus 2 (SARS-CoV-2) virus across the globe has forced many governments to shut down large portions of their countries in order to keep their populations safe. Fearing the worst, policymakers are keen on preserving the current lockdown state. The spread of anti-lockdown protests, notably ones of violent-intent threaten to cause another surge in cases, negating any efforts already made. We wanted to make something that would help educate the world on the dangers of the virus if social distancing regulations were not adhered to. We feel that at least in part, current regulations have made the virus seem a lot less severe than it really is, and we hope that our model can help individuals visualize the exponential nature of the spread of this disease, as statistics may not appeal to the majority of the public.

What it does

Our simulation models a sample population where movement is random. The simulation begins with one member of the population being infected (labelled "patient zero"). Close contact results in an infection, while individuals who are infected are periodically cured or pass away. When an individual infects a healthy person, a line is drawn from the infector to the infected, tracking how the virus spreads and drawing a complex infection map. Individuals who are dead or cured cannot contract the disease twice.

How I built it

We focused on development with python on arcade, but switched to arcadeplus due to certain performance advantages, with each person focusing on a different aspect of the simulation, such as the movement of the people or the progression of infection.

Challenges I ran into

Keeping the simulation efficient was a big challenge since we had no prior experience with running a simulation. Each person had to be aware of the others to track infections, and there was a graph that was continuously drawn, which inhibited performance. Since this was our first hackathon as well, we weren't prepared for how tired we would be by night, and our lack of energy definitely slowed down our progress. We tried to implement social distancing as well, but the nature of the random movement for each person made the process much more difficult than expected.

Social distancing progression:

Accomplishments that I'm proud of

Creating random movement for each person, and being able to track the path of infection. For our first hackathon as high school students with limited programming experience, we are proud of our final product.

We were particularly proud of our implementation of infection tracing, which allows for a better visualization of how the disease spreads by connecting different nodes based on who infected who. GIF

What I learned

Hackathons require a lot of attention, focus and patience.

What's next for SARS-CoV-2 Interactive Simulation-Visualization

Implementing a social distancing factor, and moving to a web app. Ideally, we would also like to see a more rigourous algorithm used to determine the spread, recovery and lethality of the virus backed with more research, as well as better scalability by implementing CUDA support, as well as allowing for the decentralized peer-to-peer sharing of computing resources to simulate larger data sets that can actually be used in real-world modelling.

Built With

Share this project: