I use the Alexa shopping and todo lists frequently and they are hands down my favorite feature of the Echo Dot I own. I wanted to create a skill that could use the household lists API and provide some type of social good. I thought helping people assemble an emergency supply kit would be the perfect pairing with the API. Additionally, I’d been thinking about creating a kit for the longest time but never got around to it. I felt the skill would provide the perfect opportunity to educate myself on emergency preparedness and build my own kit while helping others do the same.
What it does
Disaster Ready walks users through assembling an emergency supply kit for disasters or other emergencies. First, the skill gives a short survey, so the unique needs of the user’s home can be considered when their list is created. Then a custom emergency supply kit list is generated in their Alexa App.
The user can access and manage the list through the skill or on their mobile phone in the Alexa app. Having the emergency supply list on their phone in their todo lists section serves as a reminder to the user that they are building kit and allows them to work on it outside of the skill. When the user uses the skill, supply list items are listed off one by one and recommendations for each item are given as well. In addition, the user can check or uncheck the item on the list or receive more detailed information about how and when they might use the supply item in cases of an emergency or a disaster.
How I built it
First, I designed how I wanted the skill to interact with the user using Amazon Scriptwriter. Then I built the framework of the skill using the Alexa Skills Kit SDK v2 for Node.js. After the framework was built I started generating content and integrating it into the code. AWS Lambda hosts the skill and an Amazon S3 bucket stores images for the cards in the responses.
For the content, I used FEMA’s https://www.ready.gov/ site as a resource when I was making the decision of what supply items should be on an emergency supply kit list. In addition to using FEMA as a resource, I was able to gather additional information, which served as the tips and recommendations in the skill, from the CDC, EPA, and American Red Cross. The images used are all from the public domain or under the creative commons license. The sound effects are from the Alexa Skills Kit Library.
Challenges I ran into
Most of the challenges I had pertained to adapting to the new version of the Alexa Skills Kit SDK. But I was able to overcome these challenges by referencing the technical documentation and the Alexa cookbook examples together.
The biggest challenge I had was figuring out how to elicit a slot directive on launch so that the user does not have to say an utterance word to start the survey once they returned to a session. It took up a lot of time, so I had to just use an utterance to trigger the dialog management which would lead the user back into the survey.
Accomplishments that I'm proud of
I was having trouble with the new SDK. Honestly, I didn’t think I would finish the skill, so I am most proud that it is finished and has been submitted into the challenge.
I am also proud of the fact that I started building my own emergency supply kit!
What I learned
I learned a great deal about how to be prepared if a disaster was to strike. For some of the items on the list, I would not know what to do with them before I built this skill. So the process gave me the opportunity to learn what each supply item is for how to use it, and when I might use it.
I also learned about dialogue management, memory persistence, and service APIs while building this skill. Before, I was unaware that Alexa provided these capabilities. So the experience of building this skill increased my knowledge of what Alexa can do and how to use these more advanced features.
What's next for Disaster Kit Ready
I want to add reminders or alerts so that people can receive friendly nudges that they are building an emergency supply kit if they haven’t completed their list yet. I think reminders can provide more positive reinforcements that encourage users to complete their emergency supply kit list.
It would also be neat to have a guide for users who want to create an emergency supply kit for their car and not just their home!