We were inspired by the Alexa Conversations API to help us create skills easier and faster.

What it does

Invoke the skill by saying, "Alexa, open Sly Exercise". After the initial welcome prompt, there are three slots that need to be filled by Alexa Conversations: workoutLength, workoutType, and intensity.

workoutLength options: short, medium, long workoutType options: arms, chest, and legs intensity options: easy difficult

Alexa Conversations will handle slots uttered in one phrase ("I want a long legs workout that is easy") It will also handle inputting the slots one by one. It can also handle having two slots filled in by the user ("I want a short arms workout"), followed by a second request for the remaining slot ("I want an easy workout").

Once all slots have been filled, the user will receive a workout response ("I recommend a long walk")

How I built it

We used the Pet Match tutorial as a base for our skill and extended it to fit our needs for a workout app.

Challenges I ran into

The Alexa Conversations training requires a lot of time for the model to build, which decreased iteration time. There were many dialogs that were needed to be created to successfully give the user a response.

Accomplishments that I'm proud of

We are happy that the skill actually works! We also learned a lot about how the Alexa Conversations API worked and simplified user interaction.

What I learned

The Alexa Conversations API is magical, in both positive and negative viewpoints. Delegating control of the skill's workflow can be difficult to debug, especially considering how Intent-based dialog flows are easier to understand.

What's next for sly exercise

We plan to increase the options that users can say to customize their workout. After the contest, we also plan to build out features for account integrations, DynamoDB persistence, and APL visual components such as personal trainer videos. The sky is the limit!

Built With

Share this project: