Skill ID

amzn1.ask.skill.1f0a7986-9f54-4c09-8f7e-27d02f627219

Inspiration

One portion of the Alexa Skills Challenge: Tech for Good hackathon that stuck out to me was the idea of sustainable transportation. I frequently ride my bike to get places instead of driving a car, and figured that if we stressed the importance of riding when you can as much as we stress saving water and other environmentally friendly activities, then we could convince more people to try and travel using sustainable means.

What it does

The skill works by you either telling Alexa that you have ridden your bike a certain distance, or you intend on driving a certain distance. If you say the former, then you will be told how much money you have saved, how much CO2 you prevented from being generated by driving, as well as how many calories you have burned. If you tell Alexa the latter, it will tell you similar statistics on that distance and ask you if you would like to ride your bike or not. If you say yes, or have already ridden, Alexa will add these values to a database so that you can keep track of your savings.

You can also request to hear your money savings, CO2 emission prevention, calories burned, miles biked, or reset all of them.

How I built it

I built this using Python, boto3 api, Amazon Alexa, and Amazon DynamoDB for the database. Boto3 is an api used for accessing a DynamoDB database within a Python script so that you can add, remove, or update values in the database.

The values that are computed based on distance are made by taking average values of calories burned per mile on a bike, average speed of a bike, average release of CO2 by a car, and average price per mile with a car, taken from the AAA. A user can make an utterance and the program will take the user's intent and return the proper response so that Alexa can either response to the user, or prompt them with a followup, as well as update the database so that their savings are up to date.

Challenges I ran into

Originally I wanted to make the skill work where Alexa would access your address, with permission, and then you could tell Alexa your desired destination, and you would receive up to date values such as time to location through Google Maps api. The main issue was that Google Maps recently changed their pricing model, and I did not want to pay per use. I looked into alternatives like MapBox, but many required using GPS coordinates for mapping, and I could not find a tool that could convert just a name of a place and find the nearest location matching that name.

Accomplishments that I'm proud of

This is my first devpost hackathon, so I'm quite proud of that firstly, but also successfully creating a skill. Even though I could not complete my original plan, I still made a skill that works as it should and it seems like it could be quite helpful. The process of just making it was quite a lot of fun and I'm excited to make more skills.

What I learned

I learned a great deal about AWS, such as their Lambda functions, DynamoDB, as well as making an Alexa Skill from scratch. It has been a great experience.

What's next for Alexa Skills Challenge: Tech for Good

I would better my skill by trying to find, or create, a way so that users could give a destination so that they could receive the most accurate data about their journey. I also would allow users to input the kind of car they have, as well as weight and other factors, so that their calorie burning could be based on them, rather than an average, but for a first skill I felt that it might be taking in a bit too much information, and wanted to keep it simple and safe for users.

Share this project:

Updates