Hello! ☞ This is an archived version of Al Shaw's personal website. The current site is http://shaw.al.


Fourrific is a Foursquare Client for Your Computer

04/ 4/10
Design, Fourrific, Foursquare, Sinatra, code

I’ve been a lukewarm Foursquare user for a while, but it wasn’t until I attended SXSWi last month that I really started getting into it. It’s an awesome app for when there are a ton of people ‘playing’ within a relatively-constrained geographic area. Nevertheless, I brought the checkin habit back with me to New York, where I spend a lot of time sitting at a desk.

At that point, I realized that Foursquare: the Website pales in comparison to Foursquare: the App mainly in that it doesn’t give you a feed of your friends’ activities. I really wanted a Twitterific-style narrow column that I can keep around on my desktop to see where people have checked in recently without having to pull out my phone.

Fourrific screenshot

So, in one day of coding (and a couple more for bugfixing, styling and error handling), I built Fourrific, a really simple Foursquare app.

Fourrific is very glued-together: it’s based on Sinatra, my current favorite web framework, and a slough of gems. It authenticates to Foursquare via OAuth, and finds your location through your IP address via Geokit, though that can be hit-and-miss depending on your ISP (for example, when I’m at my desk in Chelsea, it thinks I’m in the Bronx). With that data, it can (very roughly) tell you how far away each person is, gathered from the <distance> node the Foursquare API returns if you pass it latitude and longitude parameters. If Fourrific thinks someone is more than 25 miles away, it will fade out that status, and hide it behind the “Everywhere” tab (the default active tab is your current city).

On the frontend, I’m using the beautiful new open source font Raleway from the League of Movable Type (embedded with @font-face), and the HTML5 <time> element, which the jQuery plugin Timeago can latch onto, to generate relative dates.

Of course, the source is available on Github with installation instructions if you’d like to fork or run your own instance. Though, to just start using it, go to:


and log in through OAuth. There is no database whatsoever, so none of your information is stored on the server, and the session cookie only lasts until you quit your browser or revoke your OAuth token.

Check it out, on your computer.