Back to Parent

Outcome


Intention


There is a 6-hour time difference between me and my boyfriend, so he's unable to text me when I'm in bed. I wanted to build a bot that can answer his text when I can't. We like to share silly jokes, so I added some joke quotes so he can play with mebot.

Context


I wanted to create a bot that has the same personality / conversation habit of mine, so my boyfriend can't tell the difference between me and NurieBot. It's kind of like a Turing test for him! 

Process


The first thing I did was to understand my talking habit and tried to reflect it to my dialogue. During the class, we got a personality design sheet and define 1) what my bot does, 2) what her personality is and 3) what kind of gimmick she has. It was a super funny process to understand myself...i didn't realize before but my design buddies told me that I often shake my finger and click my tongue when I see somebody is doing wrong. I found some giphy files and trigger them when people text keywords like "lazy" or "clumsy"

When it comes to jokes, I benchmarked Google Assistant and tried to figure out how it pools jokes. With the sample code I have, I can only add one joke. Seems like it pools them from Google search result but I don't know how to deploy it. (Maybe I need to add Search API) I decided to save it for later when I learn how to add APIs.

Img 3902
Show Advanced Options

Besides the project, we had a hilarious API - Audience - Goal matchmaking activity and brainstormed what kind of bots we can build. Our team got an awesome idea about Spotify bot for commuting drivers that capture the music and add it automatically to one's Spotify play list. That was definitely a gold idea.

Img 3898
Show Advanced Options
Img 3897
Show Advanced Options
Img 3896
Show Advanced Options

Product


Based on the defined personality, I created NurieBot v1.0. I referred to Daragh's sample code and added simple greetings and one joke (ta-da!). However, it doesn't work properly right now. Seems like there are still a lot of errors in my code, but I can't find them. It might take a while to make my boyfriend confused! 

Img 3899
Show Advanced Options
Img 3903
Show Advanced Options

Reflection


I think Ruby/Sinatra itself is very easy to use because it uses more like natural language. However, it takes so many steps to set up for running a chatbot. 

The biggest challenge I had on this project was designing more human-like conversations. So far NurieBot can only chat the limited number of conversation that I pushed. I think I need another Gem or code that help NurieBot learn and mimic my texts.  

Drop files here or click to select

You can upload files of up to 20MB using this form.