All of us have been constantly following the news on the progression of the Covid-19 pandemic and the resulting societal impacts and trends. We realized that while all of us are safe at home from college, there are millions of essential workers-without whom daily life in the country would become impossible-who are at the front-line of this pandemic. We also realized the tumultuous societal impacts and economic loses of a dwindling essential workforce, and built WorkShield in an effort to protect these workers from Covid-19.

What it does

WorkShield helps employers of essential workers monitor and protect their workforce from the spread of COVID-19. The mobile application collects employee data on daily symptoms (based on a daily survey), and amount of interactions each employee has with all other employees during their shifts (measured using Bluetooth scanning feature and survey questions about clock-in/clock-out and their Job Position). Using this data, WorkShield gives employers actionable feedback on a daily basis regarding which employees should be sent home to protect their coworkers, allowed to come to work while being monitored, and which employees are at low risk for having Covid-19, or being exposed via workplace interactions. By alerting employees who may spread Covid-19 to others at work to stay home, employers can avoid drastic losses to in their workforce. Being highly scalable and feasible, the mobile app addresses an unmet need of preserving the most crucial workforces in the country who are at the front-line of this pandemic.

How we built it

The front end of the application was built using ReactNative and Expo, in Javascript. Backend development included usage of Express.js for the application framework, PostgreSQL relational database management system. Next, the app was made to interact with mobile device Bluetooth capabilities.

The actionable recommendations for employers, for each employee (whether they should be sent home, kept in work while monitoring, or keeping them at work with no risk) are based off probability calculations combining the predicted risk of an employee having Covid-19 based on their symptoms, and data about the prevalence of Covid-19 cases in their county of residence, along with predicted risk of exposure and transmission.

Risk prediction considering symptoms and county data on COVID-19 incidences are estimated using a Naive Bayes classifier built in Python. We use the open-source libraries SciPy, NumPy, pandas, zipcodes for calculations and geographic analysis. The final version will model parameter uncertainties using Tensorflow Probability. Data sources for the classifier include longitudinal county population data from the U.S Census, FIPS county codes from Github; COVID-19 prevalence data from New York Times COVID-19 GitHub repository, The COVID Tracking Project, and (for NYC borough prevalence); and influenza-like illness prevalence from CDC Influenza-like illness sentinel surveillance.

The transmission/exposure model was built in Python using NetworkX, NumPy, pandas, zipcodes for calculations and data structure purposes. The final version will switch from networkx to igraph for performance purposes. Data sources for this portion of the model are similar to the include county population data from the U.S Census, FIPS county codes from Github, COVID-19 prevalence data from New York Times COVID-19 repository, The COVID Tracking Project, and (for NYC borough prevalence).

Challenges we ran into

Challenges we ran into include figuring out how to do Bluetooth integration, finding high quality data for the Naive Bayes Model, incorporating uncertainty into the model, and figuring out how to propagate probability over time in a graph data structure.

Accomplishments that we're proud of

We are proud of learning so many new applications for the full stack, and data modeling methods in a very short-period of time, and applying our learning to build something with such massive potential to preserve the essential workforce which is on the front-line during this pandemic.

What we learned

We solved many challenges in the course of creating our solution, including identifying appropriate parameters for the Naive Bayes (finding high quality data), incorporating uncertainty into the model, and figuring out how to propagate probability chronologically within a graph data structure. We also learned a lot about front end development using React Native, including Bluetooth integration.

What's next for test

1.) Adding the Onboarding feature for employers to onboard employees onto the application.

2.) Reach out to stakeholders for testing, followed by iteration and expansion of user base. Given simplicity and accessibility, iteration, followed by expansion can be done rapidly. Stakeholders include, but not limited to: airports, hotels, grocery stores, pharmacies, convenience stores, farmer’s markets, gas stations, child care services, research labs, emergency vet and livestock services, elder care.

3.) Technical feedback from experts: Scientific peer review of the prediction model Scientific peer review of epidemiological assumptions for exposure risk determination (distancing, amount of exposure (time), etc.)

Try It out



amazon-web-services, android, bluetooth, ios, networkx, numpy, pandas, python, react, react-native, scipy

Devpost Software Identifier