CoronaTracker
CoronaTracker is an easy-to-use & accessible progressive web app that helps you monitor your wellness & stay informed around COVID-19, while decentralizing the data with blockchain-based technology.
Pavel Ilin, Brian H. Hough, John Murphy, Nick Giangreco, Kevin Price, Carter Klein, Anthony Albertorio, Salvatore Volpe, Terje Norderhaug, Alina Davletshina, Joy Zhou, Ariana Hwang, Luke Lin, Crispina Muriel, Faustino Malena, Tyler Deans, Brendan Fallon, Harpal Dhillon, Rachel McLean, Belle Poopongpanit, viraj r, Sonia Ganess, Dina Deljanin, Afrogrrrl, JWaltuch Waltuch, Alan David Ness, Austin Wu, Moustafa Mutahr, Nathalia Indigo .
Inspiration for CoronaTracker
As the news grew more severe about an unknown disease, we saw countless people dying because of the illness that we now know as COVID-19. China shut down. Italy shut down. It felt inevitable that it was going to come to New York City and spread across the world. So, we decided to do something about it and use technology for good to build a tool to help keep people safer, more informed and better prepared for the hardships to come.
We came together over a series of posts on LinkedIn and Meetup.com. Anthony Albertorio reached out to his network on LinkedIn calling for developers, designers, technology enthusiasts, and anyone who would be willing to help in the fight against the coronavirus. Brian Hough was one of the first people to see Anthony’s post on LinkedIn--as they had both hacked together at ETHGlobal / Ethereum Foundation’s ETHBoston Hackathon--and together they began building the open-source project with new team members, prototypes, wireframes and the beginning commits for what would become the progressive web application, CoronaTracker. Carter Klein joined the team soon after and quickly took the lead on engineering efforts, building out the backend infrastructure, app architecture and writing out issues, as well as setting standards/workflows for the engineering team and contributors. From what started as a handful of technology enthusiasts blossomed into a global team of 30+ daily active contributors and a discord channel of 170+ members. The project transformed into a progressive web application which has reached 92 stars and 1,000 views on our open-source Github repository.
We are a decentralized team spread across four countries, five states, speaking 10 different languages working together to create COVID-19 fighting tools for the community, by the community.
What CoronaTracker Does
CoronaTracker is an easy-to-use and accessible application that helps you monitor your wellness and stay informed during the COVID-19 crisis. Designed by a community invested in public health, CoronaTracker lets you log Coronavirus symptoms over time, keeps you informed on local advisories, and educates you on best practices. The information in the app is tailored to you, based on your native language and geographic location. An interactive map helps you find local resources and clinicians, making it easier to get what you need from medical advice to groceries. And, everything you enter into the app is kept secure, so you truly have complete ownership of your health.
Key Features of CoronaTracker:
- The Daily Healthy Log helps users log and track their symptoms over time by completing a daily survey, so you know when to contact a primary healthcare provider or medical professional.
- Real-time updates in the form of notifications from:
- Public health officials on best practices to keep yourself and others safe and healthy.
- Local officials based on your geographic location keep users informed on direct orders and advisories for their community.
- An interactive map tracks local resources and clinicians making it simpler for users to find medical facilities, testing sites, grocery stores and pharmacies.
- Flashcards and quizzes allow users to educate themselves on the symptoms of COVID-19 and how to prevent exposure based on the information released and provided by the CDC.
- User-controlled, secure log in keeps your personal data protected.
- A simple user interface and translated content allow users, no matter their background, to seek and view the information most relevant to them.
- As a web-based application CoronaTracker is easily accessible by the general public and allows the user to immediately jump into using the application.
How We Built CoronaTracker
Our team is currently building out a microservices-based product, which is CoronaTracker. The client-side application is built in React, leaning heavily on the Material-UI JavaScript library to ensure visualizations were sound and was interactive for the user. The primary backend we're using is a managed PaaS (platform as a service), Blockstack. Blockstack provides secure, private storage and interaction with user data. Any sensitive data is manipulated and stored via Blockstack's managed backend and storage solution, Gaia. Outside of Blockstack, we are building out a notifications microservice, written in Golang and communicating with a MongoDB cluster. In the future, we will be creating an education microservice, likely with the same Golang server and MongoDB cluster database.
The tech stack for CoronaTracker is as follows:
- Client (Frontend): React (JavaScript + Material-UI)
- Server (Backend): Blockstack managed backed (user data), Golang (notifications, education)
- Database: Gaia managed storage (user data), MongoDB (notifications, education)
- Deployment:
- Client site deployed on AWS S3
- Golang servers deployed on AWS EC2 behind an API Gateway
- Blockstack/Gaia is managed by Blockstack, not us
Challenges We Ran Into
The first challenge was figuring out what to build that could make a positive difference during this crisis. We reached out to members of the New York Health Artificial Intelligence Society, as well as several health experts who are on the ground fighting COVID-19 on the front lines. The medical experts gave us guidance and helped shape the path of our project. Several of these members included:
- Dr. Kristen Kent, an emergency room doctor who helped write the ER guidelines for New York State
- Dr. Jigna Zatakia, a specialist of pulmonary critical care medicine now at Mount Sinai Hospital in New York City.
- Ameeruddin Ahmed, a systems architecture with years of experience building applications for healthcare institutions and large enterprise companies.
- Jonathan Tarpy, CEO at Virgilant Health, a company specializing in creating hardware and data analysis tools for respiratory health.
- Professor Daniel Potter, Brown University Professor of the Practice of Data Science & Director of Industry Relations
Another challenge is trying to find users for user testing, discovering the appropriate survey methods to conduct user interviews to further refine our product-market fit. We want to address COVID-19 in a way that helps the most amount of people in the most effective manner.
Accomplishments That We’re Proud of
One of our greatest accomplishments is growing our team from 3 people to 30+ active contributors and a discord channel of 170+ members in three weeks. The project transformed into a progressive web application which has reached 93 stars and 1,000 views on our open-source Github repository. We’re proud to have built a movement of fired up and passionate builders, tech enthusiasts and dedicated workers designing an application to help fight COVID-19.
We are a worldwide team with many members having deep medical expertise. Our team’s backgrounds span specialities in pulmonary care, emergency room medicine, medical research, behavioural health and psychology, and systems biology.
We also have professional expertise in full-stack development, community organizing, product development, marketing, and public relations.
What We Learned
The largest lesson we learned was how to put together a full progressive web application, in a fast-growing distributed team under quarantine. Most of us have built smaller components for a larger project but never have built something from the ground up.
While we were all under quarantine, we learned how to work on a decentralized team, especially working remotely across different timezones. This was a difficult problem at first for many of us, given we were used to physically working together at hackathons or in an office, but we turned our desks into office spaces and leaned on Zoom, Google Meet and Discord to keep our communication constant and regular.
We learned also about the Scaling problem that early-stage startups experience and how to overcome it. Learning how to quickly scale a team from 3 people to 30+ active contributors in two weeks. Learning how to delegate, -- we found that people rise to the occasion, especially under pressure. We learned about the importance of proper Git hygiene, working with feature workflows, and adhering to style guides so that we can collaborate effectively in a large team.
We also learned about the power of boot camps and boot camp alumni networks, as well as leveraging our networks. Getting another surge and increase the team -- inspired to build out an even larger team to scale.
What's Next for CoronaTracker
We aim to improve our education module with interactive and engaging infographics. Will also to add questions revised by medical professionals to our health survey including those related to behavioral health. This is especially necessary as the effects of social distancing and economic uncertainty start to strain mental health for individuals.
We aim to improve our notification service with more localized information for the users.
We aim to finish our translation to all our educational assets in Hindi, Arabic, Simplified Chinese, Spanish, Russian, French, Italian, Albanian. Currently, we have translators for these languages. We are aiming to include Portuguese, Korean, Persian Turkish, and Dutch.
We will engage in more user interviews to further refine our product-market fit and better help people possibly affected by COVID-19.