London feels is a project born from a conversation at a gig, where most of my friends were hooked on Twitter rather than enjoying the music and the feeling. The idea of millions of people in the same city expressing their feelings on Twitter at the same time captured my imagination, and it occurred to me that it would be really cool to be able to see everyone tweeting at my city, and, with the help of data science, have an idea of how each of them feels at any give moment.
With the help of Twitter's Streaming APIs, I created a node.js application that processed every geolocated tweet inside London's boundaries (which i defined, somewhat arbitrarily, to be the square that inscribes the M25. Twitter's api fires then any public tweets that contain location (this needs to be enabled by the user, unfortunately) and the app performs sentiment analysis on the tweet's content, determining on a scale from -11 to 11 how negative / positive the tweet is. The tweet is then sent in real time to everyone who has the app open. The result:
The app allows you to have a birds-eye view into the lives of Londoners, akin to what probably Boris Johnson might have on his desktop city dashboard. The circles reveal the happiness level of the tweet, ranging from bright red for very angry/unhappy tweets, to sky blue for happy, ecstatic tweets.
Clicking on the circle reveals the tweets content, as well as allowing you to navigate to the tweet's page to learn more about the tweets. It turns out you can learn a lot from these tweets:
Right after I released it, I posted it to hackernews where it got to the front page and providing me with a lot of feedback. I realised it could be a fun exercise to expand it to other english-speaking cities, so I recently made a New York version, altough i found people there are a bit more rude than here in London:
Turns out a lot of people like to tweet while on the bus or public transport, so you see the different stages of their mental state as they drive through the city, are stuck in traffic, or argue with people (as above).
Other times, you just get plain bad news, like this poor guy from the San Francisco version of the site:
Finally, I've started developing a 3D version of the site, using Rob Hawke's ViziCities platform. While it is not ready for prime time (there's currently an issue with live data on vizicities, and clicking on tweets doesn't always work), it looks amazing and runs really nicely on pretty much any laptop.