Peeved @
Peeved @ (Peeved At) is a Ruby on Rails site that allows users to declare their peeves on Facebook and view their friend's peeves. When they are peeved at something, they can peeve it by visiting Peeved @, logging in with their Facebook account and searching for a Facebook page that represents the thing they are peeved at. This results in a post on the user's Facebook wall that lets their friends know that they dislike something. The post contains a link back to the Peeved @ site to increase user traffic, and a custom Peeve link that allows their friends to also peeve the item. In addition to the post, friends that have accounts on Peeved @ have their data updated so that they know of the peeve. This allows users to see all of their friend's peeve from the website.
Visitors to the site can see the top peeves, latest peeves, and the most popular items peeved by their friends. Comments as to why they are peeved at something are collected and displayed on the item's page. The comments can then be voted on. If enough people disagree, the comment is hidden, which makes it an automated moderation system. The Facebook Connect social plugin allows users to log into Peeved @ with their Facebook account and not have to worry about creating another user account.
Programming Peeved @ was an exercise in performance tuning, as it is a site that could potentially handle thousands of views a day. It uses MongoDB for its database backend with the Mongoid adapter, and the code minimizes both the number of documents and data stored. It uses Memcache to store many of the query results, including Facebook user information, the latest results, top results, and recent Facebook searches. Calling the Facebook API results in a round trip delay of at least half a second, so it was important to minimize the latency of the parts of code that we could control. The response time of the Facebook search is directly proportional to the number of items to return, so our search algorithm checks already peeved items first so that we do not have to request as many results from Facebook. Peeved @ is deployed on Heroku and is ready to handle as many peeved Facebook users as it can get.
Visit site
Active Ingenuity