Inspiration
The recent Covid-19 pandemic has brought to light varying approaches to dealing with the spread of a contagious virus to try to reduce the amount of infected. There are obviously countless factors involved when it comes to the overall spread of a virus among a population, and sometimes it's hard to actually understand and visualize how certain things help stop the spread.
What it does
Contagion offers a simulated population with six different properties that the user can change to test out different real-world situations. Each different trait that you can adjust can greatly change the amount of the total population that gets infected.
How we built it
Contagion was built with vanilla JS, HTML, CSS, and utilizing HTML canvas. We did not want to import any APIs or libraries as we wanted to truly do it from scratch and build every aspect of this simulator ourselves.
Challenges we ran into
Figuring out the scope was a challenge for us. We had plenty of great ideas and possibilities for this project, but we obviously couldn't do everything we possibly wanted within just a day. We had to learn to avoid too much scope creep and stay focused on the realistic amount of work that we can achieve by submission time.
Accomplishments that we're proud of
We're proud of completing the project and having a fully functional project. Mock-ups and proof of concepts are great, but when it actually works just like you had imagined it a day prior it's really gratifying.
What we learned
We all had greatly varying experiences with JS, yet our workload was very balanced among us three. We learned about project management and ensuring everyone always knew what they were doing and how their current task tied into the big picture for the project.
What's next for Contagion
If more time was given, we would like to introduce more advanced population simulation traits such as mortality rate. Including this would allow us to represent herd immunity, which is often a big factor to stopping a virus.
Log in or sign up for Devpost to join the conversation.