Craftie

October 19, 2020

Back in 2012, the craft beer scene in Wellington was exploding with new beers, bars and breweries. It was great fun seeing what was new each week. However, the pace was so fast it was hard to keep track of my favourite beers. “An app could fix this”, I thought.

Enter Craftie.

The idea was simple, bars would manage their tap lists online and users would get notifications on their phones when bars or beers they follow are restocked.

I thought this would take a few weekends. Naive and young, I sent an email to Volstead one of my favourite bars nestled away in Christchurch.

Hi, I’m thinking of building an app that would allow customers to get notifications for when beers they like are back in stock.

Would you like this?

Their reply was enthusiastic, and so I set off.

At this point, I was a law student doing computer science electives for fun. Safe to say I did not know where or how to start with the web and mobile development required for Craftie.

Undeterred, I had a friend who was great with web development, and on weekends we would hang out at Wellington’s public library and they taught me how to build PHP applications running locally with PHP my admin and proudly bespoke authentication and routing layers. It was a delightful time of discovery.

And with this new wealth of knowledge I made the first version of Craftie:

Unfortunately I have only this screenshot to remember it by. I believe there was an SVN repository, but the sands of time have claimed it.

But there it was. Craftie, a website where bars could login and manage beers, update their stock status, and even include an image or description. It wasn’t responsive, or secure, or accessible, or scalable, but I loved it.

When it came to developing the iOS app I remember devouring all the WWDC content and furiously copy/pasting the relevant Objective-C into my Craftie iOS xcode project. Eventually the table view controllers could fetch the beer data and display it in a list. I must have felt daring because users could not only favourite beers, but also rate them. Gamification, amirite.

Building the web app was cool, but having an app I built on my own phone took the cake. I had switched major to software engineering around this point and never looked back.

Surely with the webapp in place and the iOS app working, it was time to deploy the thing and let real users experience it right? Yes… but only after I had the chance to improve a few things.

You see, once I became more fluent with the web dev lingo, I caught on to frameworks like codeigniter and Laravel, where lo-and-behold you didn’t have to write bespoke authentication or routing. And they even had a sensible file structure you could follow along with. So I fell into the classic hobby-project trap of always doing one more thing and never actually shipping.

Even after rewriting in Laravel:

And then again in Rails:

And then refreshing the iOS app to fit with the iOS 7 aesthetic:

It was with slight relief when Untappd came out with notification functionality in their app.

Now in 2020 I visit Volstead’s site to see how they’re doing. The beers still look fantastic and it’s cool to see that the tap list is online. I see some light grey text at the bottom of the list: “powered by Untappd”. No tears are shed, I swear.