Getting to version 1.0

This week I launched  It is still a very early stage site and there are many things I’d like to add on and improve, but I decided I needed to draw a line in the sand and just ship something.  Anything.

In this blog post I want to give a general sense of how I went from idea to v1.0 going live.

Step 1: Proof of Concept

In this phase I wanted to rule out any potential major unknowns.  The two biggest ones were:

  • could I use Songkick’s API for my show listings
  • could I build a radio player around Youtube videos

The first one was answered fairly quickly.  The Songkick API features loads of shows and venues and while it’s not the cleanest data (dates are not always proper), it is a great start.

The second was a bit more involved.  I want to make a radio player so that when a song completes, it automatically moves on to the next song without the user doing anything.  I found a great library tubeplayer.js that did this.

Step 2: Get an ugly site up and running

It doesn’t have to be ugly, but I wasted no time in making anything look good.  I had buttons all over the page, images showing up over controls and other oddness.  But I got the functionality implemented.  The user hits play and:

  • The Youtube video starts playing
  • An artist image is downloaded via Youtube’s API
  • Venue info is retrieved from Songkick
  • Artist info is retrieved from Wikipedia.  I since removed this as it was the wrong half the time.

Step 3: Decide what constitutes v1.0 and do it

It’s probably no surprise that this step took the most time as now I needed to start caring about error handling and CSS and data validation and everything else that makes a real site, real.  I added Bootstrap, built a little admin page for syncing hopscotch data with Songkick.  Made a best guess effort at what a clean, simple user experience could be and from feedback I’ve gotten, I think it’s a decent start.

Step 4: Hosting and stuff

I originally put it on heroku as they have a free starter level.  But the 20 second startup time just to get the page to load is ridiculous so I’ve now switched to nodejitsu.  Data is on mongolab.  It’s all in the cloud.  It’s all happy.

Step 5: Go see a show!

That’s what is for so why not?



We wanted an easy way to track where each of us was spending our time each day.  We have a couple products which we could be working on any day, and also general General and Administrative (G&A) tasks like interviewing, buying office supplies or meeting with realtors to look at new office space.

We decided on a simple system we’re calling Chips.  The basic concept is every day you get four chips.  At the end of each day you allocate these chips towards one or more of the buckets of work .  Then I tally up everyone’s chip count in an Excel spreadsheet with built in tallies and rollups. 

Example: say I spent half my day working on our Mother product (that’s the internal name for our tariff collection product).  Then I spend a couple hours working on Brother (our consumer facing site and an hour looking at resumes.  My chip count would be:

  • 2 chips Mother
  • 1 chip Brother
  • 1 chip G&A

It’s an approximation and certainly not a scientific measurement but it works.  Even though I probably spent more than 4x of time on Mother vs G&A, I still log them as 2 and 1 and then the next day if I have the same distribution, I may just put 3 to Mother and 0 to G&A.

In our first month of doing this, we were surprised to see how much time we had put towards G&A, which was a lot of time posting jobs and interviewing candidates.

And for the implementation of Chips, we use a Mancala board.  It’s already got buckets which we label with each bucket of work we want to track.  And each person gets their own color chips and they distribute this within the appropriate buckets at the end of each workday.

Mancala comes with four different color chips, so once we expanded to five people, the new hires started using pennies and quarters as their chips.

It’s a lightweight process that adds ten seconds a day and gives a good insight into how the team is spending their time.  If you try it out, let me know how it goes.