After a couple of weeks I finished my first project at the RC. The project is a graphic visualization of Instagram's trending pictures visualization - the bigger the picture the more popular it is in the social network. I called it Instacloud referencing a tag cloud, since the images are scaled according to it's popularity ˜˜(the number of likes)˜˜. My intention was to build a dynamic tree map, that was not limited by the area of a rectangle; something like this:

Alt text

And this is what my project ended up looking like:

Alt text

Initially, during the development I divided the project in two parts:

  1. I developed a task that (periodically) accesses Instagram's API to fetch data and saves the results in a SQLite database.

  2. I developed a web application that presents the pictures scaled according to its popularity in the social network. I used Ruby as my language, Sinatra as my web framework, JavaScript to scale the pictures and Bootstrap for styling.

It all worked beautifully...

...Until I decided to deploy! For that, I had to use Heroku. And, as a free user, I had some seriously data storage restrictions. And that's when refactoring got in to action. I had to modify my code so that the data fetched from Instagram's API was no longer stored in the database. Instead, it had to be presented directly in the webapp.

The good news is: my webapp is deployed and available. (YEAY!)

https://trendinginstacloud.herokuapp.com

In the end, every step was a good learning exercise and super worth the time spent.

Code: https://github.com/laisvarejao/instacloud