I'm a software developer and often I feel physical pain after sitting down for a long period of time to code. My friends around me have the same issues and complain they don't have the time to research and experiment which exercises work better. So I created this skill to help software developers take a maximum of 5 minutes to do short yet to the point exercise for better health with a rich curated exercise library. It is helpful for people working from home as well during current Covid-19 situation.
What it does
Provide short and to the point exercise to office workers without equipment and who are short on time but still want to keep healthy and stay away from stress induced by a long time sitting job.
How I built it
Alexa Conversations with Lambda written in NodeJS and Dynamo DB as backend service. By conversing with the user and gather all necessary parameters, Alexa Conversation sends the request with each defined slot filled with a user input value to the backend and explains the exercise get back to the user.
Challenges I ran into
- Annotate the dialogue
- Come up with dialogue that has a natural feeling to the user
- Pull a large amount of exercise data into the database and curate them to make sure they are effective (I tried them all to rule out the ones takes too much space or too much time)
- There's not a good exercise API or database available on the Internet for no equipment fast exercise purpose, most of the APIs and information is workout related.
- Mixing Alexa Conversations dialogue flow with intent base flow
Accomplishments that I'm proud of
- Completed my first working Alexa Skill
- Talk to potential users for real feedback
- Built something I can and want to use in my daily life
- Know the community around Alexa
What I learned
- With Alexa Conversation, I can write the skill with less code compare to intent-based dialogue before
- Lambda and serverless framework in general. How it can be very handy to lower the backend cost down
- Alexa APL-A inflation is very flexible to build audio responses, I can shift certain workloads from backend to front end. e.g. Lambda doesn't need to return the number of exercise steps for Alexa to render the audio template
What's next for Techie Buddy
- Add more short and to the point exercises
- Add more personalized recommendations to the user
- Have Alexa to guide the user to do the exercise, i.e. add more interactive guidance in between exercise steps
- Allow users to filter the exercise based on the level of difficulty and time constraint they are under