Driving into the Kelowna felt much like driving from SFO Airport into San Francisco. The Okanagan is dry, arid wine country with a mediterranean feel. If you ignore the patches of snow that are currently on the hills, you could almost imagine you were entering the bay-area 30 years ago. There are arrays of large bill-boards, but unlike modern San Francisco, none of them are for tech, unless you count washing machines in your “tech”. There are no billboards for “DropBox”, “iCloud” “Your Cloud” or “myCloud”. Just good wholesome profitable companies who likely do not have their social networking strategy figured out just yet.
- The Scene
- Our Team, The Badgers
- Where Can I Find This Great Service?
- 54 Hours?
- Upcoming Startup Weekends
I was curious if there was a tech scene in Kelowna and I was not disappointed. Of the 80 participants signed up for the weekend, the majority were not technical, but almost all fit the profile for building a startup. Everyone had brought their passion and enthusiasm to the event. The vibe the first night was quite exciting. Lots of pitches and some good ideas. Some were out of the scope of building in 2 days, some had been done before, some were just bad ideas and some… “yeah, that might not be a bad idea”.
Our Team, The Badgers
The team I joined was “Time Badger” (originally “Twitter Badge”).
We had more technical members than some of the other startup teams. We had all of two developers, including myself. In total we were 5, with 2 others adding support as needed.
Our plan was to build a service that could add a badge to your Twitter profile image and revert it back after a set period of time. I will not pitch the whole concept here, but there are endless things you can do with overlaying images and campaigns have the possibility of going viral (“sign up to get Justin Bieber’s eyebrows on your profile. Tuesday only”). Revenue model? Yes, we had one of those, too. Honest.
Where Can I Find This Great Service?
We actually managed to build a decent functioning service at https://www.timebadger.com. You can also find us at @timebadge on Twitter. Yes, it is not @timebadger, just @timebadge. Is it now actually harder to get Twitter handles than domain names?
Under The Hood
We used HTML5 on the front-end, so we have limited the service to people that have a modern web browser. Remember, Startup Weekend equates to about 21 hours of development time and that includes brainstorming, planning, talking to mentors, other meetings, eating and a bit of fun. Also, skill-sets between developers do not always line up. The key phrase is “ship it!” whether it is good, bad, ugly or broken. The clock is ticking.
Brent Luehr, my partner in crime for the weekend, did an amazing job of throwing up a UI using HTML5′s Canvas. Using the interface he built, you can drag your chosen badge image to overlay in the correct position and even scale it to the size you want. The browser itself merges the images and POSTs a single JPEG back to server. This was great. It meant that we did not be worry about installing any image manipulation packages on the server.
We used Twitter for the login to the site. This made sense, since our focus was on using the Twitter API to update the user’s profile image and we needed them to authenticate with Twitter.
The reason for using Amazon S3 was for storing each user’s original Twitter profile image for reverting back to. We also stored our badged versions of the profile image in S3.
Amazon were a sponsor of the Startup Weekend and like most sponsors they were offering some of their services for free and prizes for the best usage of their service. Often few, if anyone, utilizes these low hanging fruit easy wins. This was a great tip from Daryl Chymko.
Since we were coding in Python we used the Boto library to interact with Amazon S3.
Tornado / Python
I had used the Tornado web server/framework for my previous project and I knew we could easily do Twitter OAuth. Luckily Brent had some Python experience and was onboard with using it. My fear had been that any project I joined would be using Ruby On Rails and my rusty RoR would slow progress. I think Tornado was a good choice, but I maybe biased here.
My new found love for Tweepy comes from the fact that I was bashing my head against a wall trying to get the profile image upload to Twitter working. The rather unhelpful Twitter API was either returning a HTML page saying “something went wrong” or JSON as though something went right. Either way, the profile image was not updating. Tweepy was at the right place at the right time. After trying various approaches and feeling the sands of time slipping away, Tweepy just worked. “Woo-hoo!”, I cried and quickly moved onto the next task.
After not going to Startup Weekend Vancouver a few months ago, I really regretted it when I heard what a great experience it had been for everyone involved. I found out about this Startup Weekend in Kelowna only few days before and jumped on the opportunity to go and I am glad I did. One of the sponsors, Contractually, helped me out with a ticket, so I hit the road.
I encourage anyone interested in building a startup to join this movement when it comes to your city. Most of these events are organized by volunteers who have been to Startup Weekend’s in other cities and wanted to bring it home. For instance, Daryl Chymko went to Startup Weekend Vancouver and wanted to host one in the Okanagan, as did Evan Willms, who is hosting Startup Weekend Victoria (BC, Canada) at the beginning of June.
They say Startup Weekend is “54 hours”, but that is only if you are completely nuts and do not sleep. I’m not nuts. As I write this, that “54 hours in the Okanagan” is growing, since the road back to Vancouver is closed due to accidents and snow. What a great opportunity to write a blog post, I thought.
Upcoming Startup Weekends
These Startup Weekends are happening in just the next few weeks.
March 9-11, 2012