Ember's Comfort Bot

Made by lxuanyua

Found in Final Project - Weird Conversations

Ember’s comfort bot is a social bot that can track and update your status, send you a greeting, generate a random joke, ice-breaking topic, emoji, fact, popular movie to users in everyday life.



The goal of the chatbot is to offer non-task oriented social conversation with users. 

Nowadays there is a wide-spread task-oriented chatbots serving the needs like order and commands. However, a more quality conversation is expected to form more twists and turns, personalized recommendation and mutual learning from both side. 

With this big idea in mind, I would like to design a social bot with some personalized functions to comfort users with skills learned throughout the course Programming for Online Prototyping.


Several social bots in the current market have offered me a lot of inspiration for my later design. For instance, a precedent project like Woebot is an artificially intelligent chatbot that uses CBT principles to treating depression. 

There are 5 prominent features of Woebot that stand out to benefit clients and have shed light in my later design as well:

1. offer immediate emotional support; 

2. practical self-monitoring tool for thoughts, emotions, and behaviors; 

3. in-vivo practice (sth occurs in real life moment); 

4. offer a forum where to discuss fears about social situations; 

5. role modeling growth mindset. 


Step 1: Planning and Conceptualization

With a general background research on the social bots, I first made a project proposal, stating the goal, work timeline and expected outcome. After that I tried to find out 3 examples of bot interactions I would like to emulate or inform my future chatbot design with written discovery posted in slack. After sharing in class, I created a priority matrix to list out all the features I would like to implement and developed an annotated workflow diagram that explains how the application I want to build would work.

Step 2: Technical Needs

After making out the design outline, I then researched into the potential APIs that might be useful in my project. I found out useful APIs such as MovieDb, Giphy, would help add live elements to my conversation design. When I was trying to experiment and adapt these APIs into my project, it was really challenging at first to get familiar with the syntax of different APIs and extract the right output. 

Step 3: Experience Prototyping

Key features:

  • Give you a customized greeting
  • Send a random joke
  • Share a fun fact 
  • Recommend a random ice-breaking topic
  • Share cute emojis
  • Recommend a random popular movie

Tech highlights:
  • To store {:name} and send back to user for back and forth effect
  • To apply external APIs to get richer content output
  • To apply SSML to change the voice and tone of the chatbot to make conversation more fun and engaging


Tools: alexa console, ruby language

Demo link: https://vimeo.com/415700645

Front-end showcase:


Throughout the project I got more understanding towards conversation and conversational design. I didn’t even notice that our choices in human-computer conversation were not 100% based on our own decisions but rather heavily by the past searching outcomes. The current conversational engine failed to offer a space for users to look forward or question the generated recommendation.

“As a designer, I shall act always so as to increase the total number of choices for a user.” I think this quote is powerful in trying to improve conversation in a better direction. A good conversation should delight us, engage us, reach (dis)agreement and evolve something we on our own don’t expect to happen. At the same time I do feel a quandary in designing a quality conversation and developing it in Alexa console as well. Design principle is one thing, while development is another. The frequent bugs of API and also hardship to create bot-guided conversation are the two biggest challenge in my chatbot development.

For the next step, I hope to add more back and forth interactions for my comfort bot. Also the applicability of the current conversational design into a broader space would be another direction in the next iteration.

Share this Project


49714 Programming for Online Prototypes

· 9 members

A hands on introduction to building online products and services through code

Focused on

Ember’s comfort bot is a social bot that can track and update your status, send you a greeting, generate a random joke, ice-breaking topic, emoji, fact, popular movie to users in everyday life.


May 11th, 2020