I am Lasse, 18 years old and live near Frankfurt in Germany. For this Alexa Skills Challenge, I have created an entire new Skill for the German Skills Store over the past couple of months that really challenged me.

Inspiration

When I first heard about the challenge, I knew that I wanted to create something that people could benefit from in their daily lives. It should make them want to come back every single day and have fun. I know that excellent customer retention is essential, especially when selling digital goods. I wanted to deliver the best customer experience I possibly could to gain the customer's trust. With that set, I went on searching for good ideas that are suitable for In-Skill-Products. So I started looking for things I use every single day. And my SmartWatch is pretty much on top of that list. I mainly use it for tracking my health and fitness, so from that point on, I knew that I wanted to create a Fitness Skill. Looking at the AppStore, there are tons of fitness apps, and many people are using them. The most popular ones are 7-Minute-Workout apps and that for obvious reasons. They are easy to use, and many people care about their health and fitness. However, most of them lack some essential things. They either need you to have a subscription before you can even start using them or don't feature the right exercises for you. I wanted to change all that. I am also not the first to think of a 7-Minute-Workout Skill for Alexa. There are some Skills published to the German Skill Store already, but they feature minimal exercises and offer a glimpse of what the Fitnesscoach can do.

What it does

So how can you benefit from using the Fitnesscoach? It features around 50 home exercises with more coming in future updates, a complex level system to unlock new exercises, achievements and daily challenges you have to complete. When creating your account, you can choose between 3 different difficulties to have perfect exercises for your needs. A workout consists of 10 exercises which you each have to do for 30 Seconds. I understand it's tough to know every single exercise the Fitnesscoach offers. So whenever there is a new exercise queued, it automatically gets explained one time. However, the user can ask the Skill at any point during the workout to have the current exercise explained in full detail. In the beginning, there are very few exercises unlocked to prevent overwhelming the customer. When levelling up, new exercises get unlocked. For that, you need Fitness Points, which you can get by doing workouts or gathering achievements. Thanks to Alexa's Audio Player, which I decided to use for the workouts, exercises are transitioning without interrupting the customer during the workouts. In case the customer uses a display-device to open the Skill, custom, and touch-sensitive APL is implemented to give the customer a better understanding of what they can do. That comes in handy, especially during the Workouts when they can take a quick look at the Album Art, with individual images for each exercise, to know what they are supposed to do next.

How I built it

Immediately after my plan was set up, I began to learn more about workouts and home exercises. It is important to take short breaks between each exercise and recommended to start with easy ones. Next, I set up a list of all the exercises I wanted to include in the Skill. At the same time, I was looking for graphics for the exercises, that I later implemented as APL content and for the custom album covers. I found just the one I searched for on Adobe Stock with almost 50 exercises featured. All the graphical content is licensed through Adobe Stock. I have always taken care not to commit any copyright infringement. That also applies to the background music that I included during the workouts. I use music from NoCopyrightSounds, which allows me to use any of their songs for non-commercial purposes as long as I give proper credit to the artists. Since I needed to have a privacy policy, I went ahead and created a website, where you can also find any of the music used in the Skill, and all the exercises explained in full detail and with further instructions. You can reach it here. When I finally began the coding process of my Skill, one of the first things I did was creating the Premium Entitlement. I wanted to make sure building my Skill around the Entitlement and not adding it last minute. I also set up the basic structure of the Fitnesscoach. I began implementing APL Content right from the start, which reminded me of how vital the voice-first experience is when I tested the Skill on my Echo Dot. The first thing I created was the Account System. When the Fitnesscoach opened started for the first time, the user gets prompted to submit their name and difficulty. Their name is used later on when working with multiple user profiles in the same Amazon account. The Premium Entitlement allows you to have up to 6 profiles registered at the same time. I tried to make the login process as easy as possible. When multiple accounts are registered, the Skill searches for the most similar name it can find, to what you have submitted, and logs you in automatically. Meaning that when the Fitnesscoach understands Lars instead of Lasse, the Skill still recognizes the right account, since that was an issue for me sometimes. Right after I finished my base structure, I began working on the Workouts. I quickly decided on using the AudioPlayer to provide seamless transitions between the exercises. A workout consists of 10 Exercises, which you each have to do for 30 Seconds. To create the right workout for the user, I divided the exercises into 5 difficulties, ranging from easy to hard. That way, the exercises do not get too difficult or too easy. They are put together depending on the difficulty you have selected during account creation, which you can change anytime. Determined by how hard the exercises are, you get more points after you have finished your workout. The Skill also detects whether you have cancelled a Workout or skipped an exercise. When I finished the AudioPlayer part, I went ahead and exported all the audio files I had created before. For each exercise, I had to create a tutorial audio file, several files with different background tracks and a file without any background music at all. I came to a mere 360 audio files I exported throughout the last month. Probably one of the most stressful things I had to do. One of the last steps I took was implementing an ExerciseIntent where the user can ask for having any specific exercise explained when not currently in a Workout. To earn even more Fitness Points, you can earn yourself Cups and Medals (Achievements).

Premium In-Skill Content

It was important to me from the start that the user does not feel compelled to buy Premium. The Skill is also very usable without Premium. However, purchasing Premium makes the whole Fitnesscoach experience complete.

With purchasing it, you get

  • access to up to 6 user profiles
  • unlimited workouts (without Premium you are limited to one Workout per day)
  • 15 additional Premium Exercises (earn more Fitness Points)
  • a Silent Mode that disables background music during Workouts

That makes the Premium Entitlement the perfect choice for both families and individuals that care about their health and fitness and that want to get more out of the Skill. The purchase flow is nice and smooth. Conversions take place whenever the customer requests a premium feature or the Fitnesscoach decides to prompt it to the customer. For instance, when the customer tries to access a new Workout when he has already done one that day, a Conversion takes place. In that case, the Skill goes into detail on how the customer can benefit from the requested feature and additionally explaining all the other features Premium offers. When the customer purchases Premium, the Skill automatically continues with what was previously requested to offer the best purchase flow possible. Whenever the customer declines a purchase, there is a cooldown of 5 days before the next conversion prompt can appear. That excludes a scenario when the customer requests a Premium feature by themselves. Otherwise, a conversion prompt can take place whenever the customer has achieved something new. In this way, the fitness coach uses the positive experience the customer has gained with the Skill to have more effective sells. There is also a limit of 3 purchase prompts before the Skills accepts the customer not being interested in purchasing the Premium Entitlement. Meaning, at that point, they have to use the WhatCanIBuyIntent or request a Premium feature to buy Premium.

Challenges I ran into

Getting the AudioPlayer to work in the way that I desired took some time. It is certainly not meant to be used in the way that I did. Since I had to call the DynamoDB entry of the user during the workouts, I could not use the AttributesManager because there is no active Session when an AudioPlayer request is sent to the Skill. To solve the issue, I stored the userId in the token to access it and wrote my own DynamoDB Adapter that reads from and writes to the database. Also exporting the audio tracks put me under a challenge but I got it to work eventually. But I think the biggest challenge was putting it all together in such a short time.

Accomplishments that I am proud of

Normally, I would work for much longer on something huge like this, but I am happy with what I have come with and how it all turned out. I also build a Skill in a way that I have never done before. I have learned so much during the process of creating it and most of all: things I would do differently next time. Keeping everything organized when working on a scale like this harder than I thought it was going to be.

What's next for Fitnesscoach

I already have so much planned for future updates. This is just the very beginning of what I imagine for the future. For now, I want to add more exercises and work on both the Website and the APL Design, especially with the new animations. This is more to learn how the concept of 7-Minute Workouts can work on Alexa. I plan to convert from an Entitlement to a monthly Subscription. For that, I want to add much more content to the Skill: yoga exercises, weight training and more. I would also love to work together with professional fitness companies. I can see that there is interest already, looking at the fact that Gymondo has published an Alexa Skill, although it is mostly meant for promotional purposes and does not have a greater use to it. I also thought of creating an app or a web application that the Customer can use to customize their workouts and much more. Reaching that goal is one of the most important reasons I decided to participate in the challenge. Looking at all the great ideas the community has and getting inspired. Being part of the finalists would bring me much closer to that dream. I would use the money to get a professional audio recording by a real human voice. I am sure, that would add much to the personal trainer experience. I would also like to donate money to NoCopyrightSounds as I used their music, and I want the artists to get paid for their fantastic work. Although winning the money would help me so much as I cannot afford any of that, what I really look for are the things money cannot buy. Getting the chance to go to Seattle, meeting all the other creators and speak to people that have much more experience in building Skills and selling In-Skill-Content than I have, I cannot put in words how much that would mean to me. It already helped me so much when I got invited to the private ISP beta to Munich back in February. I met so many awesome people and learned so much since then.

Congratulations, you are almost done! I hope you liked what I have come up with. I worked so hard on it and put so much love and effort in creating the Skill. I would also like to thank my friend Maxim who always was the first person I spoke to whenever I got stuck on a problem. Without him, the Skill would not be what it is today. Since he is still 17, sadly he is not officially part of the team, but we will be working on the Skill together in the future. Thank you so much for doing this competition. It helped me a lot and winning this would help me more than you can imagine. I believe my idea indeed can have a considerable impact and surely offers a new way in which Alexa can be used.

Built With

+ 6 more
Share this project:

Updates