Inspiration
Traveling can be expensive and often times feels inaccessible especially for college students like us. Planning a trip or even thinking about planning a trip is often over-whelming with the amount of factors you have to take into consideration like flights, lodging, transportation, the cost of food, and things to do. It doesn’t help how complex and tricky most ‘travel assistant’ websites and apps are. The biggest issues we personally experience with traveling are being able to afford the trip in itself/gauging how much the trip will cost in its entirety and finding the time. We wanted to create a tool to combat these common issues and make traveling more accessible while utilizing the American Airlines API and Amazon’s Alexa.
What it does
Our Alexa application (skill) initially prompts the user for cities they would like to travel to (in the United States, we could not expand to international travel in the short time period), their total travel budget, and times they are free to travel. We realize that the places that we can often afford are not places we would actually want to travel to, so like most travel assistant programs that tell you places that are in your budget like WhoKnowsWhere, Wyoming or MiddleOfNowhere, Montana; Alexa will alert you of places that you want to go during your availability and in your budget.
How I built it
The backend for this project is supported using AWS Lambda Functions defined using Python that target multiple APIs to GET & POST data for various usages for our application.
To incorporate interfacing with 4 seperate APIs and isolating those requests and processing, we decided to split each individual API interaction into its own Lambda Function that would accept incoming HTTP traffic through a configured API Gateway to parse parameters used to interface with the various APIs.
These Lambda Functions, in turn, would generate a customized response for the Alexa Skill Kit to handle and verbally relay the results to the user to assist them in their travel planning. An added benefit was the serverless aspect ensuring that no computing resources were wasted, instead, they were only triggered and activated when needed.
The main goal with this structure was to abstract the backend complexities with the various API calls being made and provide the user with a simple interaction with Alexa that would complete a powerful collection of data to financially plan an entire vacation stay based solely on a provided destination.
On the front-end side, we utilized Amazon’s Alexa Skills Kit. We wrote in python to allow Alexa to interact with the back-end and GET data from our back-end json data. With that data, we are able to make Alexa regurgitate information to the user on average costs to travel to a particular city including all of the costs associated with that trip.
Challenges I ran into
APIs are not as public as we thought, many companies require you to pay to utilize their APIs and/or request access. To store sessions and keep the info Alexa gets from the user we would have needed to store it in a database.
Accomplishments that I'm proud of
Drank more redbulls during this weekend than I've had in my entire life.
What I learned
Learned a lot about AWS services and how to make Alexa do personalized things. Brushed up on programming languages hadn’t used in a long time.
What's next for Bon Voyage Buddy
Find real APIs Include international travel in our APIs Find a comprehensive way to include events/things to do in the cost
Built With
- alexa
- amazon-web-services
- apis
- json
- lambda
- python
- skillset
Log in or sign up for Devpost to join the conversation.