My 9 year old twins are expected to read a book at least 30 minutes and log their reading times every day. Sometimes it feels like a burden to manage the reading minutes on paper. Also if you have a kid that asks you about how many minutes he has read every five minutes, you want a better way to manage reading logs :) Also adding interactive and fun elements to every day activities, makes kids more curious and open about the tasks like reading.
What it does
This skill allows you to record your reading minutes with your voice using Amazon Alexa devices like Amazon Echo. You can save your reading minutes easily by saying how many minutes you have read.
The skill includes a reading timer that counts down from a specified amount if you start it by telling the duration. If you want to read indeterminate time you can start a stopwatch also.
You can ask how many minutes passed or left.
After saving your reading minutes you can ask for the reading times report for a specific period like 'today, this week, last month, this year', etc. If you have Alexa device with a screen like Echo Show, an additional report is shown with reading times for today, this week, this month and this year automatically.
How I built it
I have used Alexa Skills Kit SDK for Node.js v2 to implement the skill. DynamoDB is used for saving and querying the reading times. I have used Alexa Presentation Language (APL) for showing main page and statistics page on devices with a screen. Images are hosted on Amazon S3.
Challenges I ran into
Although I was familiar with Node.js, I didn't have experience with ASK SDK and APL. I decided to use recent v2 version of ASK SDK, but most of the tutorials on the internet was about v1, Learning v2 turned out to be challenge. After implementing the normal voice flow, learning and implementing APL functionality was an additional challenge because APL is released a few months ago and there isn't much resources about it except Alexa Blog.
Accomplishments that I'm proud of
In a short period I have learned ASK SDK v2 and APL and implemented a useful skill.
What I learned
Challenges and hackathons are very good opportunity for learning new things and staying sharp.
What's next for My Book Log
I am planning to add the functionality for saving book names, comments and ratings in addition to reading times. Also it would be great if I have time to add more engaging screens for Echo Show using new APL functionality.