Quote is saved to an Alexa card for reference.
I've always loved the TV show The Office, and while there are Alexa quote skills from other wonderful TV characters, there weren't any for Mr. Dwight Kurt Schrute III...until now!
What it does
Alexa will pull a random quote from a bin of over 50 unique quotes, read it out to the user, and then offer for the user to receive another quote.
How I built it
The skill connects to an AWS Lambda function that triggers a Node.js program to run, returning a random quote back to Alexa.
Challenges I ran into
At first, I didn't realize that users would not want to hear the same quotes over and over again, so I gave the program some logic so that when the user receives a quote, that quote is recorded as "used" and not used again for the remainder of the session. If Alexa runs out of new quotes (for the die-hard fan who wants to hear every quote at once), Alexa will notify the user that she's out of quotes and end the session.
Accomplishments that I'm proud of
I was quite proud of being able to define multiple intents for Alexa to choose from. Previously, I've built apps where everything runs out of one intent and matching request. However, that obviously limits Alexa's ability to interact with the user, and that's the beauty of using a voice interface - the interaction.
What I learned
I'm really glad I was able to learn how to define additional intents and requests, so future applications will be able to have longer, more complicated interactions with the user and best of all, Alexa will be able to intelligently respond to the different interactions in unique ways, through the help of multiple intents.
What's next for Schrute Quotes
I'd love to turn this service into an API (go AWS API Gateway!), so the words of Dwight Shrute will be available for all to enjoy and build on!