The inspiration for the this project was implementing a quiz functionality within Amazon Alexa to focus on mental math that is commonly practiced by grade schoolers. In fourth grade, both of us were challenged daily with a sheet of 50 multiplication/division questions to help build upon our mental math skills.
This Alexa Skill quizzes the user on 10 randomized multiplication and division questions where the user must verbally answer the questions as fast as possible. The user is then given a score based on how quickly the user was able to answer all 10 questions. This is to encourage the user to keep playing the game to improve their speed as well as their mental math skills.
We reverse engineered a sample Alexa skill with Python in order to learn how it functioned. First, we created a calculator that takes two numbers and performs an operation based on what the user verbally input. Moving forward, we saw potential in creating a "quiz" game where Alexa would ask randomized math questions to the user based on this algorithm. We repurposed our code and added a variety of new functions to it in order to meet our goal. We had to go to the IT reps a few times over the course of the development process, but we were able to successfully create the quiz application.
One of the major challenges was learning about the Alexa API. Jason and I had no prior experience with Amazon Web Services or the Alexa API prior to this Hackathon. This meant that the first 6 hours of development was dedicated to learning how to program the lambda file by analyzing premade files and deconstructing them. Another challenge was the amount of bugs we encountered in the quiz mode we developed as we had to reference online tutorials and the IT reps. We also accomplished this with only 2 people, since the other 2 people on our team had to leave before we began developing the code.
The fact that we had no prior knowledge of Amazon Web Services or the Alexa API and were able to develop multiple working Skills with Alexa is an accomplishment we are extremely proud of. Since we only had prior experience with Python, we were expecting the development process to be a lot more rocky. As it turns out, it went quite smoothly as we budgeted our time wisely.
Considering this was Jake's first hackathon and Jason's second, neither of us had an exceptional amount of experience with application development. That being said, we learned a significant amount about programming with the Amazon Echo. We learned new technical skills with AWS and the Alexa API while improving our fluency in Python as well as our teamwork skills. Most importantly however, we learned that we are able to create an awesome application in such a short amount of time and with a small amount of manpower.
Although QuickMaths is up and running, we have a lot of ideas and features planned out to improve upon our code. We plan on adding replayability as well as potential difficulty settings to cater to a variety of audiences. We could soon look at taking the derivative of a function or other math problems for the user to solve. A leaderboard system has also been proposed.