Bots are often looked upon as manifestations of silicon devices that 'mimic' human characteristics. A characteristic a lot of assistants/bots lack is the ability to empathise with human emotions. The idea was to be able to comprehend emotion and help improve it for the better/be a little mischievous.

What it does:

Alexa asks you how you are feeling and based on your reply, shares a joke/song/anecdote/image/story with you, which 'ideally' should change your mood from the one you are in, to a target mood, like happiness or cheerfulness. It does so by picking curated data from popular websites such as Reddit, Quora and 9GAG. Using these websites keeps the content relevant and fresh.

How I built it:

I built it using AWS and Node.js

Challenges I ran into:

Playing an audio file returned an error of endpoint not being found. So I had to fall back on textual music suggestions. Moreover, the documentation on sending cards to the amazon app was relatively vague, hence making it difficult to implement an image send.

Accomplishments that I'm proud of:

Getting AWS to work. Earlier, it turned out to be such a pain, that my team had to disband. implementing a random sort function with zero bias, making each relevant content suggestion equally possible of being showed to the user.

What I learned:

Javascript promises and callback, AWS - Lambda Function, running tests using Mocha and Chai, using request-promise

What's next for moodbot

I intend to make moodbot detect various variations of the same emotion so that it can map to relevant content. I also intend to make moodbot play music samples and send memes to the user's phone to make them smile/amuse them. Given sufficient time and skills, I think getting it to detect subtle language nuances would be another goal, thereby making it provide relevant content without the user explicitly instructing it to.

Built With

Share this project: