Everyone has spent hours planning a trip. Finding the right flight and accommodation is a time consuming and sometimes frustrating tasks. What's more, people generally have the same requirements all the time. In other words, our tastes are predictable.
Too much choice can also cause indecisiveness. Concierge AI is your personal concierge that learns the places you really want to see and picks your flight for you - no more searching, more travelling!
What it does
Concierge AI connects to a user's social media accounts, Pinterest as of this moment due to the mood board style that it promotes which is ideal for pinning up places to see. It then analyses all of a user's pins, runs them through a Machine Learning Vision API (Google), identifies the landmarks and their coordinates, finds the city and country of those coordinates of each landmarks, ranks the cities/countries to discovers the user's most popular places that they want to see - and then searches Skyscanner's API for the perfect flight, and presents a link to book.
Simply connect Pinterest and book. No search. No hassle.
How I built it
I first setup Pinterest API authentication and pulled all the pins from all boards of a user. I then extracted the image URLs of each pin and stored them in the a database table. Then Google's Machine Vision API, specifically the landmark detection feature, to analyse each image and ultimately extract the name of the landmark as well as the GPS coordinates.
The GPS coordinates where then used to query Google's reverse geo-encoding API to determine the closest city to the coordinate and the country.
Simple statistical rankings were then completed to determine the most frequent country that appeared in the Pinterest pins, and the most popular city within that country.
Finally, Skyscanner's API was called with the top 2-3 countries and cities, and the best flights and times for a weekend or two ahead are presented to the user to their magical destination!
Challenges I ran into
Lot's of APIs, lots of auth and a lot of plumbing to get the data in the right shape and form.
It worked quite well in the end though!
Accomplishments that I'm proud of
Working with 4 API's, machine learning and full stack web development in just 24 hours - and the result is quite a polished and working product.
What I learned
GraphQL with an SQL database Pinterest API Google Machine Vision API Google Reverse Geo-encoding API Skyscanner API
What's next for concierge-ai
Integrate more user social data - ideally from Instagram and Facebook next Present accommodation and car hire options Integrate with Google Calendar