A few weeks ago, a colleague of mine asked me to clear out my calendar for the week to work with him on a team project. At the time, I agreed without really realizing how impactful this project was going to be. Little did I know, this project would lead to building out an entire starter kit for the Call for Code COVID-19 challenge, which is designed to help developers worldwide fight a global pandemic with the use of technology!
I joined the 8 am Zoom call that Thursday morning to ideate with the team on what the starter kit was going to be. Since the Call for Code COVID-19 Challenge was going to kick off the following day (March 20th), we were told that we had only one week to publish the starter kit and that we should all work together to build a solution around Crisis Communication.
At this point, I would say that the entire team was still getting used to the lifestyle change of working from our respective homes due to the pandemic. However, we were a group of determined individuals, and with the help of our project manager - John Walicki, to keep us on track, we got to work 9 am sharp the following morning.
The idea behind our starter kit was to provide a solution for communication and messaging during a time of crisis. In this pandemic, communications systems are often the first to be overwhelmed with people trying to find necessary information about testing, symptoms, community response, and other resources. We thought that the best way to tackle this issue was to build out a chatbot using Watson Assistant, IBM Cloud Functions, and Watson Discovery News to demonstrate how we can integrate this solution in various ways. These integrations include Node.js application, Slack integration, and a speech to text application using Node-RED. The goal was to inspire developers worldwide to take on this challenge and use our solution as a blueprint to get started.
Our solution ultimately came down to 3 main elements :
- The Chatbot
- The Webhook
- The Integrations
The conversational element of the chatbot was built using Watson Assistant, which made it very easy to build out the question and answer piece of the puzzle. We used a trusted source from the CDC FAQ page to populate the intents and entities of our bot, and we made sure to document all of our steps to inspire others to build an even more robust Q&A.
The webhook element of the chatbot provided much more robust functionality and sophistication. It turned our static Q&A bot into a dynamic application! We integrated Watson Discovery News as a news data source to get the latest news articles on COVID-19, and we also integrated the COVID-19 API to get more information on how many people have been affected. We did this through the use of serverless IBM Cloud Functions, which helped us integrate these two different data sources seamlessly.
Once we were happy with the chatbot Q&A and the data source outputs through the webhook, we finally had to think about the final element, which was the various ways we can integrate. Overall we demonstrated three ways to integrate our COVID Crisis Communications Bot:
There are perhaps endless ways to integrate our bot. However, as a team, we felt that these three ways demonstrate the power of IBM Cloud and can provide a solid starting point to help developers take on the Call for Code COVID-19 challenge.
In the end, we published this starter kit with the hopes of inspiring others! Our starter kit was one of 3 starter kits that were published as resources for the Call for Code COVID-19 challenge. The other starter kits: Remote Education and Community Cooperation, also provide innovative solutions to get started with.
Take on the Call for Code Covid-19 challenge today!
Check out our starter kit here. Feel free to fork and submit pull requests!
Also if you want to learn more from us we will be doing a webinar on April 16th and April 20th!