Back to Parent

Outcome


About this Project

I've created this chatbot to help my wife find me when I am unable to answer phone calls or reply to texts. She gets really worried when she doesn't hear from me and by launching this chatbot I hope to reduce her anxiety. The chatbot can share my current schedule and my live location so my wife knows that I am safe. It also shares short stories from my past that can make her smile and forget about her worries for a while. 

With the introduction out of the way we can now take a look at the chatbot in action! 

In Action 

The following video shows a three minute demonstration of the chatbot. 

Show Advanced Options

Try it yourself! 

To try my chatbot yourself, you'll need to download/open WhatsApp. Next send the following message "join stand-valley" on this number +1 415 523 8886. You'll have to wait a minute or so but soon you'll receive a conformation message from my Chatbot and then you can interact with it yourself. 

If you don't receive a message it's probably because I've closed the chatbot. In such a case please send me an email at unaveed at andrew dot edu dot cmu and I'll restart the chat bot. 

Please note that though the bot will share a link to my location, you might not be able to see my actual location. This is because we can't share our location with the general public on Google Maps, instead we need to specify who can see our location by using their email addresses. Since I made this chatbot for my wife right now location sharing is only available through her email address. i.e she needs to be signed into her gmail account in order for the location link to work. 

User flow %282%29
Show Advanced Options

The Code

The complete code for this project is here: https://github.com/daraghbyrne/onlineprototypes2020/tree/master/students/unaveed/finalproject 

Resources 

To integrate my Google Calendar with Ruby I referred to this tutorial:  https://developers.google.com/calendar/quickstart/ruby

To integrate Whatsapp with Twilio I referred to this tutorial: https://www.twilio.com/blog/whatsapp-chatbot-ruby-sinatra-twilio

Location Sharing with Google maps was very straight forward: https://techcrunch.com/2017/03/22/google-maps-now-lets-you-share-your-location-with-friends-and-family-for-a-specific-period-of-time/ 

Please note that Google Maps does not allow users to publicly share their location. Hence only those I've shared my location with via email can access the link. 

The images that my chatbot sends are saved on google drive. I wanted to get URLs for these images. This tutorial helped me in that regard: https://www.youtube.com/watch?v=Y1joksnUW04

One of the features of this chat bot is that it shares short stories about me, with my wife. These stories are saved in a text file and each is shared at random. For this function I referred to the following tutorial: https://github.com/daraghbyrne/onlineprototypes2020/blob/master/skills-development-templates/week-2/week2-step4.md

Reflection

Since this was my first time coding I found this project very challenging. Seemingly simple tasks like installing the correct version of Ruby were very time consuming. Thankfully I've picked up some useful shortcuts and tips like using Sudo to install libraries or using the arrow keys to re-run commands in terminal.

The most difficult part was integrating the Google Calendar API followed by setting up WhatsApp with Twilio. The tutorials I was following were written for people with prior experience in Ruby. Since I had none, I had to learn things through trial and error. 

Drop files here or click to select

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