Building solutions that fight back
Tags: tutorial, communication, webinar, development
Published: 2020-04-13 22:16:37

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](https://callforcode.org/) [COVID-19 challenge](https://developer.ibm.com/callforcode/getstarted/covid-19/), which is designed to help developers worldwide fight a global pandemic with the use of technology! 

![Take on the Challenge Today](https://paper-attachments.dropbox.com/s_2F9D5F0D262DAC96065532FDFA65DB4483DB61F8D9C41AAB01A039C52D8E8E2F_1586810439073_Screen+Shot+2020-04-13+at+4.39.27+PM.png)
<figcaption><a href="https://developer.ibm.com/callforcode/">Take on the Challenge Today</a></figcaption>

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](https://developer.ibm.com/callforcode/getstarted/covid-19/) 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](https://developer.ibm.com/callforcode/getstarted/covid-19/crisis-communication/). 

![Crisis Communication Starter Kit  Get the Code Here](https://paper-attachments.dropbox.com/s_2F9D5F0D262DAC96065532FDFA65DB4483DB61F8D9C41AAB01A039C52D8E8E2F_1586810541857_Screen+Shot+2020-04-13+at+4.41.44+PM.png)
<figcaption><a href="https://developer.ibm.com/callforcode/getstarted/covid-19/crisis-communication/">Crisis Communication Starter Kit</a></figcaption>
<figcaption><a href="https://github.com/Call-for-Code/Solution-Starter-Kit-Communication-2020">Get the Code</a></figcaption>


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. 



![](https://paper-attachments.dropbox.com/s_88C4F4AADF6F6EB9D5CD8D1187AE584B63F6DDE5689D28A87F4A2288558393DC_1586814086148_Selection_217.png)
<figcaption><a href="https://twitter.com/johnwalicki">John Walicki</a> - rock star Project manager</figcaption>
<figcaption><a href="https://twitter.com/lidderupk">Upkar Lidder</a> - excellent engineer and Node.js integration expert</figcaption>
<figcaption><a href="https://twitter.com/moficodes">Mofi Rahman</a> - amazing engineer and webhook integration expert</figcaption>
<figcaption><a href="https://developer.ibm.com/profiles/dkbyron/">Donna Byron</a> - brilliant COVID-19 and CDC FAQ expert</figcaption>
<figcaption><a href="https://twitter.com/ibmprice">Matt Price</a> - incredible Watson Assistant expert </figcaption>
<figcaption><a href="https://github.com/Call-for-Code/Solution-Starter-Kit-Communication-2020">Jill Amaya & Emily Mitchell</a> - show-stopping editors and publishers </figcaption>
<figcaption><a href="https://twitter.com/poojamakes">and Myself</a> - awesome engineer & Slack integration expert</figcaption>

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](https://www.ibm.com/cloud/watson-assistant/), [IBM Cloud Functions](https://cloud.ibm.com/functions/), and [Watson Discovery News](https://www.ibm.com/watson/services/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](https://github.com/Call-for-Code/Solution-Starter-Kit-Communication-2020). 


{% youtube WzEj_m0hwF0 %}

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](https://www.cdc.gov/coronavirus/2019-ncov/faq.html) 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](https://covid19api.com/) 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](https://github.com/Call-for-Code/Solution-Starter-Kit-Communication-2020): 

### 1[. Slack](https://github.com/Call-for-Code/Solution-Starter-Kit-Communication-2020/blob/master/starter-kit/slack/README.md) 
![](https://paper-attachments.dropbox.com/s_2F9D5F0D262DAC96065532FDFA65DB4483DB61F8D9C41AAB01A039C52D8E8E2F_1586810744943_Slack.gif)

### 2[. Node.js Application](https://github.com/Call-for-Code/Solution-Starter-Kit-Communication-2020/blob/master/starter-kit/covid-simple/README.md) 
![](https://paper-attachments.dropbox.com/s_2F9D5F0D262DAC96065532FDFA65DB4483DB61F8D9C41AAB01A039C52D8E8E2F_1586811872910_Screen+Shot+2020-04-13+at+5.03.42+PM.png)

### 3[. Speech to Text App with Node-RED](https://github.com/Call-for-Code/Solution-Starter-Kit-Communication-2020/blob/master/starter-kit/node-red/README.md)
![](https://paper-attachments.dropbox.com/s_2F9D5F0D262DAC96065532FDFA65DB4483DB61F8D9C41AAB01A039C52D8E8E2F_1586810840024_Node-RED-COVIDChatBot-Dashboard.png)


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](https://www.ibm.com/account/reg/us-en/signup?formid=urx-42793&eventid=cfc-2020&cm_mmca2=10008917&cm_mmc=OSocial_Blog-_-Audience+Developer_Developer+Conversation-_-WW_WW-_-cfc-2020-cfcorg-cloudreg_ov75914&cm_mmca1=000039JL&lang=en_US&target=https%3A%2F%2Fdeveloper.ibm.com%2Fdwwi%2Fjsp%2Fp%2Fpostregister.jsp%3Feventid%3Dcfc-2020%26cm_mmca2%3D10008917%26cm_mmc%3DOSocial_Blog-_-Audience%2BDeveloper_Developer%2BConversation-_-WW_WW-_-cfc-2020-cfcorg-cloudreg_ov75914%26cm_mmca1%3D000039JL%26lang%3Den_US) 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](https://developer.ibm.com/callforcode/getstarted/covid-19/remote-education/) and [Community Cooperation](https://developer.ibm.com/callforcode/getstarted/covid-19/community-cooperation/), also provide innovative solutions to get started with. 

![](https://paper-attachments.dropbox.com/s_2F9D5F0D262DAC96065532FDFA65DB4483DB61F8D9C41AAB01A039C52D8E8E2F_1586810295770_Screen+Shot+2020-04-13+at+3.25.37+PM.png)


[Take on the Call for Code Covid-19 challenge today](https://developer.ibm.com/callforcode/)! 
Check out our [starter kit here](https://github.com/Call-for-Code/Solution-Starter-Kit-Communication-2020). Feel free to fork and submit pull requests!  
Also if you want to learn more from us we will be doing a [webinar](https://www.crowdcast.io/e/how-to-quickly-build) on **April 16th and April 20th**!