We at first were brainstorming using clarifai to determine whether or not a post was professionally appropriate, but decided instead to create an application that was more geared towards our generation.
What it does
It visually compares a selected photo to the user's previous instagram posts, and determines whether or not it will be popular based on how similar posts have done in the past.
How we built it
We scraped the html off of the user's instagram account to gather the images and amount of likes associated with each image. We then separated the images into 2 buckets, one with a range of minLikes to averageLikes, and one with a range averageLikes + 1 to maxLikes. Each image in both buckets is then passed to the Clarify API through the given General Embedding model. The model returned a 1024-dimensional vector for each image, which we then averaged over each of the buckets to get one vector representing a below average post, and one representing an above average post. The target image is then passed to Clarifai, which returns its own vector. Then the square of the distances between the target and each of the two vectors is calculated, we then find the minimum distance to determine which bucket the given image would fall into. This result is passed to a web app that then tells the user whether or not to post the image to their Instagram account.
Challenges we ran into
- Our original did not play nicely with the python backend, so we had to switch to a completely different framework in the last two hours.
- We weren't able to get access to the Instagram API, so we improvised and scraped the html information off of the website and gathered the image links and associated amount of likes manually.
Accomplishments that we're proud of
- Utilizing the Clarifai API in a way that was different than other people.
- The application worked as we planned it to
- Surviving our first hackathon
What we learned
- If we're using python scripts for our application, it's best to stick with using django rather than a C# framework.
- How to use django
What's next for Likeability
- We plan to create a mobile app for ease of access. Another plan of ours is to create a nicer looking website compared to what we have now. We also hope to eventually gain access to the Instagram API to make the application less complicated.