Inspiration

Always Good Sometimes is a collection of stories that are navigated by choosing a selectable character. This is a way for me to provide stories using a set of databases. It is also a skill I can use with other clients as a base. I love story telling and have been looking for a way to do so. This great thing about this skill is I can add stories at a later time without taking down the skill.

What it does

Always Good Sometimes is a collection of stories that are navigated by choosing a selectable character. It also has the ability for me to add stories without needing to take down the skill of the supported characters. The purchase section of the skill allows you to purchase an entitlement to change the voice of the skill. We can add stories as things progress and see which stories are used the most, and then we can add to those stories.

How I built it

Always Good Sometimes was built using the ASK CLI. I used resources from the Alexa GitHub link and the Dabble Labs Github link to better understand the In-Skill Purchasing. The skill was not initially designed for In Skill Purchasing but has been adapted to allow for a change to the voice that is narrating the stories. It is by far the most advanced Alexa skill I have built using persistence, other databases, and In Skill Purchasing.

Challenges I ran into

When I decided to add In Skill Purchasing, that decision doubled the size of the code base. The other challenge was to not over engineer the solution. I wanted to continuously add features but then realized that I would never complete the skill. The skill today only has one entitlement purchase. So the biggest challenge was not to add too many features.

Accomplishments that I'm proud of

I am proud that this skill was expanded past just using the DynamoDB persistence adapter. I have only been programming for about 2 years. I started out learning simple scripting tasks to be able to continue creating value for my current employer. Amazon Alexa really got me excited again about programming and technology again. So I look forward to continuing to develop Amazon Alexa skills enhancing my current skills.

My daughter had listened to the skill as I was working on it. I had been working on this Alexa skill since August of 2019. When I had added some additional data it broke the skill. I then was testing each intent one at a time to see which one it was causing the issue. During this time my daughter heard one of the stories for Arfy. Arfy is her favorite stuffed animal. She then wrote a story that I uploaded to the database and she was so excited to hear it. She even led the conversation to hear more about Arfy.

What I learned

I learned how to store Alexa responses in a database and the supporting scripts to pull that information. This was exciting to build some piping that would allow for scalable stories to be added easily. I also learned how to better learn. At my day job we follow an agile methodology by breaking the work into smaller executable chunks. That has really helped my in developing my Alexa skills.

What's next for Always Good Sometimes

I would also like to expand the stories of each character and additional characters. I would also like to add some kind of unlocks depending upon the number of stories you listen too. An easter egg would be fun to add and only discoverable after a certain number of stories have been read.

Built With

  • ask
Share this project:

Updates