The following is a list of some of my favorite personal projects from the past several year, in rough chronological order. It's a mix of material I've put together on my own or with friends. Some of the projects I've just done development for, others have been one-man shows. Please have a look to get a sense of what I've been up to on The Internet, aside from actual work.
For stuff related to my various day jobs and other resume material please get in touch.
Stitchtagram is a product that allows Instagram users to design and buy throw pillows using their Instagram photos. Of my many, many profitless personal projects this one is actually making decent some money, which is awesome. I came up with the idea, and built the site - from the design and UX through server side through the markup and JS. It's more than a web app, it's also a business. There are suppliers to deal with, customers to service. It's been immensely satisfying.
My sister, a jeweler and crafts person, sews up the printed fabric into pillows and ships them out.
It's been a fantastic exercise in building something that actually delivers some joy to people, in the form of a real item, and it actually makes money. There are so many interesting aspects of it: Surfacing a digital, ephemeral set of social media items in the physical world. Building something that's appealing and easy enough for people to spend time. Making it all slick enough to sell a product.
Check out some of the customer photos, they're really great! It's been an absolute thrill seeing the site through from conception, design, development, and finally producing pillows that get delivered to happy customers.
We've sold a ton and got great press, and probably have made more money than half these start ups with piles of VC money.
Here are a few more customer photos taken off of Instagram - I love them:
This was a weird one. At Barbarian Group we celebrated Mike Ma Appreciation Day, for Creative Director and nice guy Mike Ma's birthday. I took it as an opportunity to play with the new face detection built into iOS5. This probably gets the award for the most niche iOS app in history.
The end result is this fine piece of advanced augmented reality technology, named Mike Ma Yourself. It processes the live video feed and super imposes one of several faces of Mike Ma. Tapping a face changes the expression. I'm doing some sort of fancy proximity calculations to determine which face is which between frames, so I can persist selected expressions. Images can be saved to the camera roll.
The Barbarian Group's 10th Anniversary party was one of extreme merriment. In addition to the usual debauchery we had a bank of iPads displaying fond memories from the past 10 years. I wrote custom OS X and iOS software to synchronize the video across the iPads over a local Wifi network. A server running on a nearby Mac Mini broadcast instructions to the iPad apps over Bonjour to keep them in sync.
Watch a video I hastily took at the event here.
In a recent version of the Foursquare iPhone app the ability to "shout" independent of a check-in was removed. Not a big deal to most people, but some long time users felt nostalgic for it. Rick Webb and I thought it would be fun to expose that disappeared bit of functionality through a dedicated iPhone app. Shouting was still availability through the Foursquare API, afterall.
Given my belief that few projects are too inane or niche to be worthy of development I present: Shouter!. An iOS app that lets you just shout. Go for it.
Design elements by Vincent Iadevaia.
In the course of experimenting with Cinder, the "library for professional-quality creative coding in C++", I created this. It's a hair simulation I built as a prototype for another idea. The final project never got realized but I got a kick out of the weirdness of this. So I made it a stand alone app where users could hair-ify any submitted image file. It got some press and, because we're living in weird times, it ended up being featured in a Berlin art gallery: I Am An International Artist.
Instagram is awesome, but I have one problem with it - after a while the photos your friends post drift off the end of your feed, into oblivion. Instagram doesn't really make it easy for you to revisit these items. Once those photos are out of your friends' feed, they're sort of gone, never to be seen again without some digging on your part. So I decided to make an fashioned screen saver, a medium that doesn't get much love these days. As it runs it shows you your friends photos letting the really sink in.
Tech notes: I built this with OpenGL using our favorite creative coding tool, Cinder. It was an interesting development experience. I probably spent only 10% of the whole build time on the screen saver functionality itself, such as the visuals or the web services to download the photos. The rest was all screen saver infrastructure work, and that took some time. The Snow Leopard screen saver engine is a cantankerous beast, known for its flakiness, and wrapping OpenGL with it was a challenge. All manner of surprises cropped up: The NVIDEA GeForce 330M graphics chip on some MacBooks hates a certain kind of anti-aliasing when performed in conjunction with a screen saver. The screen saver engine itself gets confused when you toggle between full screen mode and preview mode. The list goes on. OpenGL is tricky enough, but wrapped up in the crazy person strait jacket of the screen saver engine was something else.
What's really awesome is looking at all the Instagram photos people have tagged with #screenstagram. So meta!
Created with co-worker Ryan McManus for Record Store Day in homage the cover art browsing of yesteryear. As Ryan wrote:
"What is it that record stores offer that the Internet doesn't? What aspect of discovery have we lost?
"The thing we came up with, besides local community, is browsing by album art. Those of us old enough to remember used to sometimes just browse racks and racks of LPs or Longboxes and when we stumbled upon some bad-ass looking album art, our interest was piqued. Often, that's all you had to go on – if the clerk didn't know or have an opinion, you were on your own. No checking Pitchfork on your iPhone.
"LP Roulette picks an album at random from Amazon's stacks. You get the cover, the name of the record and the band name. That's it. No ratings, no preview, no social tools. Look good? Buy it instantly. Not your cup of tea? Try the next record in the bin."
Remember when Gap changed their logo and the whole internet threw a fit? Those were heady days. Co-worker Ryan McManus and I released CrapLogo.me, a parody of the Gap logo fiasco to participate in the antics. You could generate a crappy new Gap logo with your own name. It only took a few hours to initially build, using PHP and ImageMagick.
While the concept behind CrapLogo.me is mildly entertaining, its reception was absolutely shocking. We had 150,000 visits the first few days it was online. It got mentioned in AgencySpy, Mashable, BuzzFeed, Gawker, CNet, New York Magazine, Time Magazine, The Awl, Washington Post, Vanity Fair, and many more. Here's an recap we wrote up about how it happened and a little on why we think it took off as much as it did.
Be the Mayor was a website and iPhone app that "took the mystery out of the Foursquare mayorship secret sauce in order to show you exactly how many more check-ins you need to be the mayor of your favorite venue".
This one remains one of my favorites. It's sort of a diary driven by your Foursquare checkins. I did the design, markup, server-side stuff (first with Merb, then with Rails), etc.
It's super easy to use. You just sign up and it'll email you a list of your checkins from the previous night, and you can email back some notes about each one. It's awesome to look back a month after the fact and see what you were up to all those late nights.
The fact that the only interaction you really need to take is via email makes it really convenient to participate. Like Noah Brier said: email is "an interface that allows you to sustain interaction. Everyone checks their email every day (or almost every day) and replying to an email couldn't be easier."
ProbablyTrue is a Twitter bot that extracts short facts from Wikpipedia and periodically posts them on Twitter.
It achieves this by pulling random pages from Wikipedia until it finds an article with a first sentence that’s less than 140 characters and looks sort of useful. The first sentence is usually a good summary of the whole article.
I had just learning about stemming algorithms when I built this app. It collected your tweets and counted how many times you use any given word, grouping similar words by implementing the Porter Stemming algorithm. This process reduces words to a common roots, allowing us to identify similar words like "fishing", "fished", "fish", and "fisher". It gave a pretty accurate summary of what tou were all about on Twitter. It ran from 2008 to the beginning of 2012. 12,792 people participated, it parsed 1,609,632 tweets and stemmed 14,425,519 words. Not bad for a little Merb app.
Not long after My Twitter Weighs a ton came online people started unlocking Emojicons on their iPhone and tweeting them. I did some tweet analysis to see which emoji's were most popular and how they were used, resulting in this document.
Before Twitter had lists and the White House had logged on it was sort of interesting to watch various celebrities and musicians slowly make their way on board. I thought watching these rappers come online was fun, hence Rappers on Twitter. I made a Rockers on Twitter too but it was harder to track down appropriate people to list. It's much easier to just add one Ghostface and leave it at that rather than finding out of the bassist of some indie band had an account.
It also revealed the not so intuitive notion - to some anyway - that messages posts on Twitter leaked out into the greater internet. Some listed artists and commentators thought this site was unnecessarily segregating. Rapper Jean Grae said it was "like a little rap jail… and it's scary". That was something.