Skip to content

CitizenHealth/COVIDx

Repository files navigation

COVIDx

We're on a mission to reduce the coronavirus R0 to < 1 by 2021

COVIDx is a pandemic response platform leveraging the crowd to predict & prevent the spread of COVID-19. This is an open source volunteer project supported by Citizen Health, a Public Benefit Cooperative dedicated to fighting COVID-19.

COVIDx consists of three core components:

1. Crowdsourcing wearable data, symptom checks, & population sentiment

Studies show that resting heart rate data & sleep quality measured from wearables like Fitbits and Apple Watches can predict influenza-like illnesses at the state level. We're extending these studies to detect COVID-19 before people exhibit symptoms.

Along with passive, synchronous, and physiological data analysis, we're crowdsourcing self-reported symptom checks. Daily check-ins can help understand where the virus might be spreading and give us opportunities to intervene. Our aim is to use the power of the crowd for the rapid scaling of public health surveillance.

2. Coordinating the crowdsourced data with public health agencies, hospitals, & testing facilities

Hospitals & testing facilities do not have the infrastructure for managing the scale of testing we need at the local, state, & regional levels. Our aim is to leverage longitudinal data from self-reports & wearable data to help hospitals better screen for COVID-19 while supporting at-risk populations with information they need for testing.

3. Gamifying self-reporting, isolation, & social distancing protocols

Games are a powerful tool to promote awareness and behavioral changes, including public health. We’re applying behavioral economics & gamification techniques to scale epidemiological surveillance through volunteered contributions. Our aim is to promote awareness and behavioral changes needed to fight COVID-19.

Here are some important resources:

Development - How To Contribute

Please always branch off of develop, all branches should be named based on a corresponding issue number, for example issue-126. All open issues can be viewed here. If you're working on a bug fix or new functionality not already listed in an issue, you must first create a new issue to document what you will be working on.

Please be sure to use yarn as your package manager instead of npm.

  1. Clone our github repo, once you've been added to the project
  2. Run: yarn install
  3. Checkout to your issue branch
  4. Create a local .env file; you can use the .env.sample file as a guide.
  5. Reach out to a maintainer for the Firebase and Tripetto API keys.
  6. Run yarn start, after an initial load it should auto-open http://localhost:3000/
  7. Develop and test your code changes, it should livereload out of the box
  8. Make sure you commit changes often, with clear commit messages
  9. Send a pull request

Build & Deployment from scratch

Pre-requisite: Be added to the Firebase project if not already

  1. Clone github repo
  2. Run: yarn install
  3. Run: yarn deploy

Maintainers

@BrennenHodge @murkantilism @jaredigms @vchu22 @afixoftrix

Tech

COVIDx API

Our backend server is a separate repo here

Dependencies

COVIDx uses a number of open source projects to work properly:

  • React - for our frontend
  • Tripetto - for our check-in surveys
  • Flask - for our backend
  • Leaflet - for our mobile-friendly interactive maps

And of course COVIDx itself is open source under a MIT license.

COVIDx API

We also have a backend server that you can make API calls to if you are building features here. Right now, it's pretty barebones - user data, survey data, and location data are what's available. If there are any requests, please ask!