Inspiration
We wanted to develop a fun way to interact with Amazon Alexa using their speech API. We wanted to build a Mad Libs style game where the user interacts with Alexa while also learning how to develop for the system.
What it does
In our current implementation, we were able to script a short interaction in Python between Alexa and the user. Upon activating the custom Alexa skill "GrizzLibs", she greets the user and asks for a response from the user, then gives a response to the user.
How we built it
Using Amazon's API, we created a skill using intents, slots, utterances, and responses. The interaction using these intents, slots, and utterances was coded in python and stored on the computer, and ngrok was used to access this code from a temporary domain. Amazon web services is used to access this domain to run the code when the intent is called by its invocation, returning the output as speech to the user. We used Amazon's developer site to test and debug this process, as well as the code running the interaction.
Challenges we ran into
We discovered that Amazon's developing service and Alexa coding interface were hard to use, running on a combination of node.js and their lambda language. The alternative option of using python to code the intents also proved very difficult, as temporary hosting of the code through ngrok presented many challenges, both with accessing the code from Amazon Web Services and with accessing the code stored on the computer. When setting up the Alexa device, there were also many problems such as trouble getting internet connection in the engineering center. This issue was resolving busing a laptop to be wired through ethernet and set up as a pseudo-router.
Accomplishments that we're proud of
This was the first hackthon for 3 of the team members and the second hackathon ever for 1 team member. We started with little knowledge of node.js and python, along with absolutely no knowledge of the Alexa development environment, lambda, ngrok, or flask. Even with this obstacle, we were able to successfully create a (simple) custom skill for Alexa, integrating with code on our computer hosted on a temporary domain.
What we learned
We gained an intimate knowledge of Alexa's web developing system, as well as a lot of practice with Python and node.js. We learned how to use the very useful tools of flask and ngrok, as well as learning how to attack a problem from many different angles and apply creative solutions.
What's next for GrizzLibs
After gaining this invaluable experience developing for Amazon's Alexa, we are all much more prepared to create skills and projects with Alexa in the near future. This style of interaction in games could be a very entertaining and accessible platform for a wide range of audiences. This type of Alexa skill could be adapted to useful in language practice or education purposes.
Built With
- amazon-alexa
- amazon-alexa-api
- flask
- flask-ask
- json
- lambda
- ngrok
- node.js
- python


Log in or sign up for Devpost to join the conversation.