Inspiration

I notice that if I want to search about coronavirus on a specific country, I need to get a browser, search for a country. If I want more detail, I need to go a certain website. On John Hopkin's website, I would need to scroll through a long list of countries to find the one I want. I find this to be very inefficient. That's why I built Agent Rona chatbot so that we can get information of any country with just a few words. Moreover, it sits in our most commonly used app - Facebook Messenger.

What it does

With Agent Rona, you can search "number of cases in a country", "analyze a country", "get top n countries".

How I built it

I use DialogFlow to handle the communication between Facebook and my NodeJS server. Also, DialogFlow helps with parsing the user intention given an utterance and send the corresponding request to an end-point on our NodeSS server. As for the Coronavirus data, we periodically get them from John Hopkins University.

Challenges I ran into

Some challenges I found when designing the conversation experience are to make it natural for user. I did the a few testing with friends and found that they do not aware of the capability of this chatbot. They tend to ask very complex question that human would ask to each other. I tried to play around with welcoming message and fallback message. However, it's still not very friendly to some audiences. Then, I discovered quick reply on Facebook. I found it to be very intuitive and can easily enhance the experience of using Rona chatbot. For users that are very unfamiliar with chatbot, they can use the buttons. For those that want to challenge the chatbot and try with complex query, our system can still be able to handle that as long as it falls into one of our intents.

Accomplishments that I'm proud of

I'm so glad that I made this chatbot on Facebook messenger platform where it can reach many of my friends. I am so delighted with my conversation design. I notice even with users who are new to messenger, they can understand the main uses of the chatbot very easily with "quick reply". As for the existing users, they can try around with different utterances. If it does not match with any intent, they will get proper feedback as well as alternative options to ask.

What I learned

Designing a chatbot is really challenging task both in the coding and design aspect. It's important to handle the diversity of utterances to reduce users frustration. With a little bit of buttons (not too much), it could guide new users and take the experience to the whole new level.

What's next for Agent Rona

There are 2 directions: (i) The number of cases in US is still pretty high. Next, we want to add information of each US state to the user. (ii) Create a chit-chat companion so that it could help people reduce their boredom of staying at home (We still consider whether to integrate this with Rona, or to create another chatbot for this purpose).

Built With

Share this project:

Updates