Sometimes, we just got to do it for the instagram photo, right?
While social media is very subjective, we wanted to back it up with data. We wanted to build a smart tool that can optimize Instagram activity using machine learning techniques.

What it does

InstaLocate is a travel tool with an emphasis on social media.
We provide an easy web application where users just have to enter the city and we do the rest. First, we show the top 3 points of interest that are popular on Instagram within that city. Then, within each point of interest, we will recommend the content of the picture and the tags which you should use. Lastly, we can predict the number of likes you will get on your photo if you follow our recommendations. Now, if you like all of this, we conveniently display cheapest flights and accommodations to the area (through the Amadeus API).

How we built it

We have a web application built with Flask, supported by data workflows that are written in Python. We wrote an Instagram scraper using Python which was used to create our large dataset. Amadeus API is used to get a list of points of interests for a city, as well as cheap flight and accommodations. We used Clarifai for image classification

Challenges we ran into

  1. Instagram has a very limited API for sandbox users
    Before an application gets approved by Instagram, all API calls are limited to the data of 10 users which are added to your sandbox. This made it impossible for us to get enough data on locations and photos to train our models. As a last resort, we wrote our own scraper to collect the data we need from public Instagram posts.

  2. IBM Bluemix API limits API calls to 250 per account
    We were planning on classify each of the photos we scraped in order to use as a feature into our data model. However, we quickly reached the max limit for IBM Bluemix API calls. Thus we looked for other ways of classifying our images, and chose to use another service.

  3. Limit imposed on dataset due to time and resource constraints
    Due to the short amount of time provided at a hackathon, we are not able to collect and pre-compute data for all the cities around the world. Furthermore, the amadeus API only supports a limited number of cities for retrieving top points of interest.

Accomplishments that we're proud of

  1. Building an Instagram scraper which is able to collect all the images and metadata for a specific location
  2. Creating a large dataset with Instagram photos and classifying the images
  3. A linear regression model that is able to predict the number of likes a photo will get based on certain features
  4. A sleek and easy-to-use frontend UI
Share this project: