Shelter In Place Simulation by productOps

by JT Mudge and Sarah Robinson (originally posted on the productOps blog)

Update 4/1: The productOps team was recognized as a Spotlight Project team in the Epidemiology and Science of Disease category for the Pandemic Response Hackathon out of 230 project teams that entered.

The Challenge

In this moment, all of our lives are consumed with the COVID-19 pandemic in some shape or form. But life’s challenges can sometimes inspire us. We all have different experiences and understandings of what we are going through. We all have a different perception of the severity of the pandemic compared to our friends in other locations. The Pandemic Spread Simulator - PaSS was built over this last weekend as part of the Pandemic Response Hackathon Challenge to help visualize what it means to shelter in place and why it is important.

What It Does

The simulation models human behavior regarding sheltering in place during a pandemic in a simulated city. We wanted people to be able to create their own simulations. It’s not perfect—it’s not a clinically accurate tool— it is the framework that we are looking to make more usable and accurate in the future. But it does solve our core mission to get people thinking more seriously about shelter in place.

How We Built It

Very quickly. We in one weekend starting on Friday and finishing 9pm Sunday night. We were constantly on chat and video and did a lot of walkthroughs of iterations. We were iterating about every two or three hours with releases.

Modeling

We started by trying to model basic human behaviour. We knew not everyone had the same tendencies to leave home, so we focused on a couple of key traits; are they ill, an essential worker, do they tend to follow rules or are they a "rebel". We also took into account how strict the lock down rules were in the community, from no rules to martial law. We used standard HTML5 stacks (all front end) served on our AWS s3 account. We used easljs for our animations and canvas library as well as canvas.js for our charts. And a shout out to font-awesome for free covid-19 icons.

We researched human behavior and current available data regarding the spread and progression of the virus and illness. While we did our best with the data, we made sure that the user was able to change the settings.

Roadblocks

As with everyone working on the coronavirus hackathon, not having enough time was the main challenge. We are all trying to understand all of the factors in play and we had to dive deep into the science of the pandemic to try to simulate what we are all experiencing.

Interpreting the data was also a challenge. There are a lot of different values and no one single source of truth. We are all trying to figure out this stuff at the same time.

We really wanted to make this interactive AND scientifically accurate, and 72 hours was not quite enough time, but we are hopeful for the future to make refinements in the future.

Learnings

We have created other simulators and models before for clients and thought we could apply what we knew to the COVID-19 crisis. While our backgrounds helped, it was sobering to start to dig into the complexities of this novel situation.

"It was hard to create the simulation and test it by killing simulated people over and over. That was a surprise feeling for me since it is just a computer program after all." - JT Mudge

But the simulation worked! That was the most exciting part, to see our idea come to light even when we thought the obstacles were too high.

What's Next?

Head over to the productOps Blog post to find out

Matthew Swinnerton