Almost 50 Shades of Your City

1598547_345715608957842_7442990014404149848_o

Want to hang out but don’t know your city? Let us introduce you to “Almost 50 Shades of Your City”!

During the weekend we were lucky enough to participate in SomeJam 2015. An event where you are among great minds. We had 48 hours to implement an idea which should help people, specially the youth. Beside all the intensity to implement something useful in 48 hours we also had much fun and great food. It all started when the three of us couldn’t find any group in line with our interests which lead to forming a team ourselves.  Since we were all computer scientists, Martin Radev, Farbod Faghihi and Ankit Kariryaa,  we wanted to use advanced knowledge in computer science and not only a normal service.  Since we were interested in Location-based Services and Machine Learning concepts we came up with “Almost 50 Shades of Your City”.

11025281_345714965624573_6111801854069214185_o

There are times that one is lonely and cannot find their desired places to go and like minded groups and related events are not found easily. As a new student you want to know more about different regions in the city in order to find desired places to hang out or as a person who is moving to the city because of his or her new job you want to know which regions contain events in line with your interests. As an agency working for improving the city, you want to know which parts of the city are deprived of cultural, technological or social event, so that we can work on these areas and making such events available to a large population. So we decided to get all the information from the services that organizes event such as Eventbrite and Meetup to make people more familiar with their city. The idea was to find out that what kind of events are held at which regions of the city. We have an intelligent user interface that provide the user with different levels of abstraction relative to the area that the user is viewing in the Google Maps. So as the user zoom in or zoom out we would classify different regions on the map into corresponding type of event that is happening there. For this goal we use clustering methods such as K-Nearest-Neighbors.

So here you can see three different figures, each with a different level of detail. The first one shows the Europe which we can see that the dominant event is business. In the next figure we went further and you can see a view of Berlin which is interesting because we can see the we have three separate areas with different kind of events. It shows that in the south west we have technical events while in the center the dominant type of event is business and finally in the south east music events dominates the events in that area. You can go even further, in the third figure you can see one of the Berlin neighborhoods with lower level of abstraction.

level1

 

level2

 

level3

We divided the challenge into 3 sub tasks, Martin was responsible for gathering data about events around the world, Ankit was responsible for the clustering of the data  and Farbod took up the job of visualizing the data. We went through different event hosting sites and decided to use www.eventbrite.com as our first source of events and then expand further if time would allow. For clustering the data, we decided to use,  K-Nearest-Neighbors clustering algorithm, here class labels are determined by a majority vote in its K-Nearest-Neighbors. In this way we were able to determine the most popular event in a certain area. For visualization, Google Maps API was selected and marker were used to display the finding of the clustering method.

We implemented the back-end i.e. the web scraping technique and clustering in Java. The front-end was implemented in JavaScript. We used github.com for source code management. We are happy with our choices as it worked out very well in the end (Yes we were one of the winners! 😀 ). We really enjoyed participating this event and would like to greatly thank everyone responsible in organizing the event.

Leave a Reply

Your email address will not be published. Required fields are marked *