I was inspired to use my skills to help the fight against Coronavirus. While looking for a suitable project I found and was inspired by the Covid Symptom Tracker app (2 million downloads):

Building apps that work consistently across multiple platforms is time consuming and expensive. I reasoned that the same and perhaps a larger audience could be reached and with less friction (no user sign up) by using a bot deployed to some of the most commonly used digital channels - Facebook, WhatsApp, SMS etc.

What it does

It's a simple conversational bot that responds once a user sends it a message. It will ask the user a series of questions about their current health. The intention is that users can self-report regularly and through the collection of these valuable data points public health researchers and officials can gain some insight into the high risk areas of a country, who is at risk, and the rate of spread of the virus (the same rationale described here:

How I built it

Using Twilio Autopilot, Twilio Functions and Node.js. Plan to use Kafka, Elasticsearch, Postgres, Angular, AWS (for hosting).

Challenges I ran into

None really - was able to create and deploy and integrate a bot with WhatsApp in a couple of hours.

What's next for Coronabot

Basic bot has been created and integrated with WhatsApp. Next steps are to integrate it with SMS and Facebook Messenger channels. Next comes development of the analysis component - persisting the captured data to a database, most probably using Kafka (for real time streaming), Postgres (for stable storage), and Elasticsearch (for analysis). A simple Javascript-based UI would sit atop an API integrated with Elasticsearch and support investigation of the data flowing in in realtime.

Share this project: