I shopped the Alexa Skill catalog looking for an application that was stable, supported easy to remember phrases, and was generic enough for me to use for anything from gaming sessions with my friends or just for fun around the house. I couldn't find something that met all those needs so I decided to create one myself.
What it does
Token Tracker lets you keep track of your game's players, their score, who's winning, and more. With Token Tracker you can add players to your game by assigning them a color token. Just have your players pick a color, add them to your game, and start playing. Keeping score is as easy as asking Token Tracker to add or subtract points for a color token. You can also ask Token Tracker to tell you who's winning, who has the lowest score, and what's the average score among all tokens. Asking Token Tracker to reset everyone's score is all it takes to start a new game from scratch. Here's a quick look at the features you'll get with Token Tracker:
- Multiple token colors to choose
- Tracking for each token's score
- Add and remove points for each token
- High-score announcement
- Low-score announcement
- The average score for the current game
- Add and remove points from all tokens at once
- Announce all tokens and their current score
- Lifetime data storage for subscribers!
How I built it
I used the Alexa Skill Kit developer's console provided by Amazon to design and build the interaction model and I used AWS Lambda to host my back-end service that process all of my users' utterances. The data I store for each user is managed by DynamoDB in AWS and the user experience of purchasing a lifetime data storage subscription is leveraged against the DynamoDB item TTL (time-to-live) feature in order to keep operating costs low. Data is uniquely stored for each user by using a combination of Login with Amazon and the AWS Customer Profile API. This allows users that purchase a subscription to use the skill any time on any device and still have access to their data. Once the subscription is refunded or the user chooses not to renew, the user's data is deleted automatically thereby reducing overall application maintenance costs.
Challenges I ran into
Learning the syntax and technical specifications of the Alexa interaction model took some time. I'm still learning best practices when it comes to designing a comfortable and engaging user experience.
Accomplishments that I'm proud of
I'm proud to put something out there in the public space. I frequently consume software written by one or a few individuals so it feels good to join that community by designing, building, and releasing something myself.
What I learned
I learned how to build an Alexa Skill from the ground up and what it takes to build a quality user experience via voice.
What's next for Token Tracker
I have some ideas. I'd like to add another one-time purchase option to password protect your data so other users talking to your device can't make changes to your tokens and points. I'd also like to create another one-time purchase option that allows users to change how the tokens are tracked. Right now users track tokens using a color and I like the idea of offering more options like super-hero names, shapes, or maybe a user-defined collection. Additionally, I want to be able to support multiple token-lists per user.