Value proposition. Simple, efficent and fast
Information visible in the Alexa App
Packing will never be the same
As a frequent traveler, I´ve been struggling with getting accurate information fast about the places I´ll visit and how to get the right clothes for the right weather conditions.
Using the capabilities for a human-like dialog and all the features for voice shaping in Alexa, I´m convinced that a much better way to assemble your luggage can be achieved.
What it does
Just tell Alexa where are you going, for how many days and the type of trip (Business or Tourism, by Plane or Train) and ImaguSmartTravel would assemble and read a packing list meeting the local weather and baggage policies enforced by the transport company.
Even more, the use can feedback information to the application and the packing list will adapt to his/her liking.
The application customizes the experience by recognizing the user, providing additional information about sightseeing activities and landmarks to visit on your destination and making sure that information is delivered to you easily (either by the Echo or listed on the Alexa App).
How we built it
The core application runs on a Lambda function built on Python 3.6 which captures all events configured in our Interaction model and defines:
- When to read from our packing suggestion files repository in S3.
- When to store or retrieve session status from our DynamoDB table.
- When to trigger new queries to our multiple API integrations including OpenWeatherMap, GoogleMap y Genderize.io
The inventory file repository is critical since it stores all data being created by default or by optimizing our item list based on each customer feedback.
Our DynamoDB table is responsible for storing session information like previous trips and feedback suggestion for inventory optimization. Everything is bonded by a sessionID (created from timestamps) stored at application launch.
Our Lambda functions dedicated to API management are responsible to retrieve:
- Weather and temperature for the city (or cities) to visit for the amount of days needed.
- Gender mapping for adequate item list selection
- Landmarks and Sightseeing suggestions.
Cheers to our friends in Unsplash and these great artist that provided the visual material: Yeshi Kangrang, Rob Potvin, Giulia Bertelli, Dương Trần Quốc, Deanna Ritchie, Rana Sawalha, John Matychuk, Karin Hillebrand and more.
Challenges we ran into
Making sure that we understood directives correctly was critical due to the conversational nature of the application and the demand for Render-Templates on our Echo Show development. Making sure that our selection of S3 and DynamoDB storage could scale to meet demand was tough, since we focused on preserving our innovative randomly generated interactions on complex configuration files. English is not our native language so triggering the right Skill in echosim.io was quite funny and time-consuming at times.
Accomplishments that we're proud of
Being able to have the basic interaction model in a few days while orchestrating the functional aspects in parallel. Creating a framework that enables additional Services and API to query without modifying our core Lambda function.
What we learned
How to operate under an Alexa Skill kit workflow Improving our skills in Lambda functions basics like interacting with DynamoDB and S3 files in a more refined way.
What's next for ImaguSmartTravel
We would love to continue to improve our solution in all fronts, but our short-term priorities are:
- Including purchasing options for items missing through Amazon.com marketplace
- Adding SageMaker ML models to automate the inventory optimization with customer feedback already stored on DynamoDB.