OTO: A Chatbot to Help Users Find Online Courses

Theo Azriel
5 min readNov 3, 2020


Project Goal and Description

The chatbot project is to help users to collect information of available online courses and match them with suitable courses they are interested in.

Photo by Photos Hobby on Unsplash


In this digital era, discovering and learning new things are made easier through the internet. Moreover, online courses platforms such as Coursera, Udemy, and even YouTube provides a comprehensive list of courses which almost covers every available subjects. However, this fact may overwhelms anyone who is trying to start learning new things.

According to an American psychologist, Barry Schwartz, eliminating shopper choices can greatly reduce their anxiety when trying to but something. In this case, it is the amount of courses for the users which may stress them when initiating the ‘first step’ to learning something new.

Therefore, our group tried to solve this problem by developing a chatbot which eases this ‘first step’ for the users.

  1. Target user: People who are willing to learn new things through online courses
  2. User needs:
  • Overwhelming courses make it difficult first timers to select an online course suitable for them
  • Hard to distinguish between quality online courses and just regular video but labeled as online course
  • Discouraged by the numerous available online course

3. Obstacles:

  • Understanding the user intention and interest
  • Inaccurate course recommendation for the user

40% of consumers don’t care whether a chatbot or a real human helps them, as long as they are getting the help they need. — Hubspot (Artificial Intelligence Is Here)


Initiating a Point of View (POV)

Photo by Dmitry Ratushny on Unsplash

We position ourselves as our target users, and come up with these personas (Steve and Alice).


Goal Analysis: HTA

HTA Diagram


Our group held a brainstorming session which leads to this mind map.


Key highlights:

  • Features: The chatbot implements a web-scraping feature which collects online courses available online to the users to suit their needs.
  • Implementation: The bot is implemented in Slack, developed using mostly Slackbot API.


After creating the mind map and obtain the important highlights, we then tried to make a prototype to further explore the usability of our chatbot.

Slack Chatbot Prototype

In Action

Innovative features:

  • OTO has a web-scraping feature which scrapes online courses from multiple MOOCs platform
  • OTO has the ability match users with suitable online courses from the scraping


Our team created storyboards to emulate the interaction between our persona and the online communication tool.

Speed dating

Since we are in the middle of the pandemic, we cannot directly ask people when they are using our chatbot prototype, hence we invite them to our Slack channel and see how they interact with our chatbot prototype and ask them about their opinions.

Feedback: The chatbot feels too rigid and it has too many buttons to choose. This makes the chatbot too bothersome to use. Some of the test users suggest that we focus more on text-based interaction so it feels more natural. With the chatbot replying using text messages instead of using interactive elements, the users feel as if they are chatting with a real person.

Follow-up: We took suggestions from the test users and made some changes to the chatbot. We eliminated most of the chatbot replies that included buttons, sliders, and other interactive elements and replace them with text-based replies. However, we kept some display only elements such as images with captions to explain the recommended courses better.

Self Reflection

Through this project, I learned mostly on how to develop a chatbot since it was one of my task in the team. I realised that for a chatbot to be interactive, it should adapt to the respond from the human in a human-like behaviour. Else, then it would feel ‘weird’ for the user when interacting with it. Moreover, I learned that it is important to read the documentations of the chatbot API of the Slackbot and also the Botkit. By creating and implementing a chatbot from scratch to the prototype, I noticed that the knowledge I gain from the course contributes to how I develop the response from the chatbot to have, as it is literally the ‘Computer’ side of the ‘Human-Computer Interaction’.

Thank you for reading my post. ~ Theo Azriel