Having been surrounded by social media our entire lives, one could say that our generation and social media joined at the hip by the inevitable consequences of changing times. As such, the practical analysis of modern social media is one of the most telling indicators of trends and beliefs that shape the world we interact with on a daily basis. Our group came into this hackathon with one main goal in mind. We wanted to use the opportunities given to us at this hackathon by approaching a problem with large scale implications, and what better to consider than social media? We believe that the first step to understanding 20th century culture comes from understanding social media at an analytical basis, which serves as the foundation for our final project, Winstagram. As a test of our individual abilities and overall team dynamic, we ultimately decided to challenge ourselves and structure Winstagram as a means of approaching the solution to the everlasting puzzle of popularity in social media.
What it does
While the finer details of Winstagram's back end functionality will be fleshed out throughout the rest of our project description, its essential functionality can be described as an algorithm-derived optimization engine for Instagram posts. From the user side, an input is provided as a picture; in other words, the user selects a picture that he/she plans on posting on Instagram. The picture's core elements (including objects, actions, and important events) are recognized using the Google Cloud Vision API and applied to a function generated using thousands of Instagram pictures. The function itself is created through machine-learning applied as a neural network through the Microsoft Azure Machine Learning API, and it calculates the optimal posting time that maximizes the predicted amount of likes given the picture parameters to the user. The user sees the front end result as a compilation of the derived post time as well as the projected number of likes.
How we built it
We started with the concept of calculating the ideal moment to reveal any event or object that would gain the most attention of the users' followers. It was clear that we needed the ability to identify what images contained and somehow solve for the most efficient time to post images during the day. We used the bootstrap-based front end designed for an responsive and simple interface between the user and the back-end. The back-end was build on Microsoft's Azure cloud computing platform where we utilized their built in machine-learning platform to model the behavior of the user's followers. In order to train the neural net, we utilized python in order to scrape the data from their Instagram and utilize the Google vision API to process what was in each picture and rate them based on confidence and frequency. This allows the neural net to learn the relationship among all the data points collected from their previous Instagram posts. The predictions are sampled through the neural net that will search for the ideal time and projected likes.
Challenges we ran into
There were a myriad of challenges that we ran into for all sections of Winstagram that ranged from authentication to API issues. As our first time building a front end application, it took a while to learn how to use the bootstrap framework in order to create a responsive web application. Fortunately, Azure has a fairly simple design that made sense; however, debugging the neural network so that it would be outputting ideal results took hours of fine tuning. There were some issues with accessing the Instagram API as it would not allow us to gather enough data to truly create a decent model based on the users data. Instead, we circumvented this limitation by scraping Instagram data by first scraping the short code and using Python Regex to search the html documents for the data that we needed. Overall, these were all great learning challenges that helped us learn how to make effective http calls and debug quicker.
Accomplishments that we're proud of
The biggest thing our group is collectively proud of is our ability to have accomplished so much from so little within the time constraints established by the hackathon. Our group established our goal with lofty ambitions - we had a finite amount of technical skill in coding in python and front end coding systems, and little to no knowledge in the use of the Azure API or Google Cloud Vision API. Even so, we were able to push forward as a team, help each other understand many of the concepts we have learned over the weekend, and ultimately come out successful in creating software that analyzes the intrinsic nature of social media in an attempt to understand and thrive in our modern cultural environment.
What we learned
We learned that Python is a great language as it has an assortment of libraries that simplifies a lot of the code so that we could code in higher abstractions, which makes code more understandable. As we are all fairly new to the hackathon culture, we learned how to apply knowledge from a classroom or lab setting to real life applications. Winstagram was meant to be a demonstration of how machine learning can make social media, which is a more abstract concept, easier to grasp and quantify in a understandable way. Learning how to use APIs for different companies was interesting as we have access to such powerful tools and information that we could analyze at a moments notice.
What's next for Winstagram
At the conclusion of our project, our group came out with both specific and broader plans for Winstagram that we plan on pursuing in depth in the future. More specifically, we wish to expand our understanding of machine learning in creating more complex algorithms to determine optimal hashtags. Furthermore, another potential project we are looking into is suggesting what a user should be posting based on their personal history and correlated likes. On a larger scale, we hope to bring Winstagram as a foundation for applications of understanding higher social structures. The completion of this project has proven to us that it is very feasible for machine learning and other analytical tools to be used in attaining a broader view of the society we live in through social media. Ultimately, we believe that Winstagram is just a first step in pursuing even greater means of quantifying and restructuring culture based on not theory, but hard analysis.