Domain submission for domain.com: hobbyhomie.tech

Inspiration

People are spending the majority of their time at home during quarantine, which is the perfect opportunity to discover new hobbies. Pursuing a new hobby can be a fun, productive way to spend time with yourself or family members, as it can help you relax and unwind when you’re feeling stressed out or tired. According to scientific studies, certain hobbies are proven to make a person both happier and healthier by helping reduce stress levels. We wanted to make it easy for people to find exciting and unique hobbies they can pursue at home, so everyone can be the best version of themselves.

What it does

We created Hobby Homie, a friendly Alexa skill that suggests unique hobbies for people to do at home. All you have to do is say “Alexa, give me a hobby with Hobby Homie” with your Alexa device. With over 70+ hobbies ranging from the outdoors to the arts and crafts, Hobby Homie helps people get inspired with interesting things to do - and hopefully even introduce a new passion! Make a dorodango ball. Learn how to waltz. Start a bullet journal. In addition to suggesting these cool hobbies and more, Hobby Homie also offers an abundance of encouragement and support, leaving you feeling loved and motivated to take on the world.

How we built it

Initially, we built a custom Amazon Alexa skill within the Amazon Developer Portal. This skill utilized lambda functions which were written in Python, as well as multiple JSON files to store the response values. Once the skill was developed, it was booted onto an Amazon Echo Dot. When this was embedded into our website, we transferred the responses from the JSON files into Dialogflow, which was linked with Google Cloud to provide an interactive chatbot which modeled the Alexa skill for our website. This Dialogflow bot allows for all users to interact with our service, whether they have an Amazon Alexa or not. Our website was built using HTML5, CSS3, and JavaScript, using Bootstrap for visuals. Our graphics were designed using Canva and imported as images into our site, which was hosted on repl.it. We registered the domain name hobbyhomie.tech with domain.com, and linked it directly to the repl using a CNAME reference.

Challenges we ran into

It was our first time working with a voice user interface and programming an Alexa skill, so we encountered many request errors when testing out our skill. But through reading the documentation and watching tutorials, we were able to figure out how to make a fully functional Alexa skill that works on the Echo Dot.

When we first began developing Hobby Homie, we knew we wanted to have the bot embedded on our website as a chatbot. However, upon further research, we found that the Echo API does not allow for direct embedding into a website, and we must port the bot over to a different platform. Initially, we had planned on using Firebase, but, when our website did not support the API calls which were necessary to use Firebase, we decided to make a very similar version of the bot from scratch using Dialogflow, and embed that chatbot into our website.

One of the issues with porting the Echo model to Dialogflow was that Dialogflow agents were limited to a maximum of 30 responses per intent, while we had over 70 hobbies listed in the Echo model. This meant that, when porting over to Dialogflow, we had to strategically combine and exclude pieces of the Echo model to lose as little information as possible. For example, rather than listing out different instruments the user could learn to play, the Dialogflow model simply suggests that a user learn to play an instrument in general.

Accomplishments that we're proud of

We’re super proud of making a fully functional Alexa skill that users can use to stay productive and happy at home. We had a great time learning about interaction models, designing our website to be responsive and aesthetically pleasing, and integrating our skill into our website. Making Hobby Homie come alive through the voice experience was very exciting!

What we learned

The biggest thing we learned was how to work with voice user interfaces and chatbots. Before this project, neither of us had ever used the Amazon Developer tools, so developing the Alexa skill was a massive learning experience, as we had to learn everything about the development, from Python lambda functions to booting the skill onto the Alexa. We learned how to create custom intents and slots for our interaction model and how to process requests and responses within the skill using Python. We also learned how to port the Alexa skill to Dialogflow, and how to embed the Dialogflow chatbot into a website such that all website visitors are able to interact with it.

What's next for Hobby Homie

We hope to make Hobby Homie more personalized, allowing the user to tell Hobby Homie their interests to generate hobbies that better suit their personal tastes. We also hope to integrate the Alexa list slots to give the user specific options as to what movies or TV shows they can watch. Also, by querying the weather data we hope to filter out activities that are illogical based on weather (running in the rain) so that the user does not have to query for an additional hobby. All of these improvements are upgrades which will make the user experience as smooth and efficient as possible.

Share this project:

Updates