Disclaimer : I created this project only to see the limits of Instagram API in the idea of building relationship trees, gathering data and using these.
I do not endorse stalking at all. Neither the idea of putting labels on persons because of their Instagram Followers or Subscriptions.
One night, I thought about all the contacts I had on Instagram, composed of all my friends from Switzerland and around the world and on how I could gather a huge amount of data with my 200 followers.
I wanted to see how I could map the different links my friends have with each other.
Here is a conceptualized idea : I like L and I want to know which friends we have in common. Using my algorithm, I learn that we have a friend in common, E but also that my friend M knows P, a friend of her.
On the paper, what I can get and I could use is :
To illustrate this amount of data, the database with my 197 followers was composed of 20538 people and 27041 relationships. It took me over 30 minutes to download all the data and then plot it in the software.
To make my “stalking machine”, I simply used a Python Instagram API and Neo4J to make the graphs.
Step 1, let’s get some data. I like to say that the core of the app is the data. I had enough here.
Using my account, I got a list of my followers and then simply downloaded the followers of my followers. At that time, I had around 200 JSON files with the result from the repeated API calls I made.
At that moment, I was only focused into building the relationships. All the data that we could use for analysis would be downloaded after.
This was the first layer of the app. Now I needed to add it into Neo4J.
Although this part looks fairly straightforward, it required a lot of time to carefully think who was going to be a “Friend”, who was an “Acquaintance”, and the different types of relations.
The current version works as follows :
Me, I needed a center for the graph to build around.
My “Friends”, they follow me.
My “Acquaintances”, they follow my friends.
then the relations :
More data ! So I can go on with the algorithm which I need to decide what it will do. I have a few ideas.
I plan to release the algorithm as open source code, but not yet.
If you're interested in more now, just drop an email at firstname.lastname@example.org