How to win Startup Weekend

This weekend, I got a chance to participate in my first Startup Weekend: Startup Weekend Seattle EDU. Education has always been important to me (got into Teach For America and was a click away from teaching in Memphis!), so this event was a no-brainer.

Overall, it was an awesome time with 7 dedicated team members. We built Office Hours, lessons to catered to your senses. The site is a little wobbly, but check out our awesome 60 sec video pitch to learn more. Our team consisted of 3 biz dev, 1 idea curator/presentor, and 3 devs spanning organization like Amazon, Microsoft, Code Fellows, and UW faculty. I like to think we had the most fun, grabbing drinks once it was over and vowing to keep in touch. I hope so!

I helped design and mock the mvp product, prioritizing features and figuring out what was feasible in a weekend. In addition, I worked on the dev side, doing html, css, and a bit of rails. The best part of this weekend was working as a dev, and taking instructions from the business side on different feature requests. It helped reinforce what it’s like to be PM’ed with changing requests or pivots!

Unfortunately we didn’t place 1st or 2nd out of the 12 teams, but heard from two judges that if we had a better scaling strategy, we could of placed! For most of us, it was our first Startup Weekend, so I wanted to write down what I feel is important if your team wants to win a Startup Weekend.

How to win Startup Weekend

  • 25% – business model validation
  • 25% – product execution
  • 25% – user experience design
  • 25% – education impact

Our Startup weekend final presentations were broken down into the categories above. With only 5 min, it’s important to maximize your time to hit all 4 categories.

Product execution and user experience design – This means you should only spend 2 min max on a technical demo. Most Startup Weekends weigh Product Execution as 25%, which means you don’t need a full fledged, function product with user sign ups, about pg, landing pg, and other niceties for a functioning app. Instead, build a technical demo, not a technical product, and make the demo design worthy. It can be tricky to separate the two, but because design is the other 25% of the judging, a slick looking demo with a cool experience definitely helps. Judges don’t care if Facebook Connect works or if your app is responsive in one weekend. Framing the product as a polished demo will help eliminate extra features that take time from what truly makes your product unique.

Business model validation – Build a beautiful powerpoint/presentation. Practice it! Our business team did a killer job researching the market, receiving validation from users, and polishing the presentation into an intriguing story. Your powerpoint represents your team’s design elements as well, so make it easy to understand and pretty!

Education impact – This is where a team with industry experience (in this case, education) is key. It’s not always easy to know what the education space needs if you’re analyzing it as an outsider. I’d say just make sure someone on the team has direct experience with the problem your Startup Weekend is themed around. For us, that was Jonesy, our startup visionary who helped us see that students could learn through tactile and visual lessons as well. Very cool!


Useful Product Management Links

Recently, I’ve been meeting with successful PMs to learn more about the role and skills required for this position. Madhu Prabaker, a Product Manager at Yelp was kind enough to share the resources below with me, which I felt was an awesome guide for anyone interested in learning more about Product Management.


What is Product Management?

Product management isn’t a role or a function, it’s a set of skills. Those skills help remove obstacles and grease the wheels so that the functional experts can do their jobs best. Product management also balances the needs of users, the business and the team and makes the difficult tradeoffs needed to keep pressing ahead. In that way, Product Managers are very similar to CEOs. Very few would argue that a company doesn’t need a CEO. Product managers are simply CEOs of their products.

Product Management as Just Three Responsibilities

What game are we playing, and how do we keep score? This line sums up the responsibility of Product Strategy. Being able to understand the objectives of implemented features is important, and so is measuring whether they are effective as well. ttp://


Metrics for a PM

Metrics allow PMs to measure the results of new features and products. This Quora article helps dissect some of the basic metrics important to a PM.


What does a top 1% PM do well?

The top 10% of product managers excel at a few of these things. The top 1% excel at most or all of them: Think big, communicate, simplify, prioritize, forecast and measure, Execute, understand technical trade-offs, understand good design, and write effective copy.


Designer vs. Product Manage – The Turf Battle

It must be the goal of every aspiring User Experience Designer to eliminate the need for Product Managers who do anything other than outbound marketing. An interesting view on perhaps a trend where PMs will become increasingly design focused.

Design and Product Work

As I apply for different technical positions, I thought it’d be relevant to show a bit of my self-taught design experience. I don’t claim to be an expert, but greatly enjoy design, tinkering in illustrator, and trying to create clean UI’s for people to use. If I could do it over, I would have studied CS or Graphic Design instead of Finance. in Feel free to contact me at sing.drew at gmail dot com if you have any questions. Most recent work displayed first (you can see if I’ve improved with time).

Tools used: html, haml, css, scss, Illustrator, Photoshop (Using CS6 currently)

2013 – StayTraders

In 14 days, I built StayTraders with 1 other Rails Dev. Because of our sprint time crunch and having to work on back-end as well, I didn’t get to polish the product as much as I would have liked (smaller pic sizes for people, cleaner profile designs, simplified navigation). Still proud though of the usable product  and features we were able to pump out.

Screen Shot 2013-08-10 at 9.55.21 PM

2012 – Recess Vibe

With my evenings and weekends, I worked on an MVP with 2 other Rails Dev. My role was strictly design, haml, and sass. Recess Vibe isn’t up anymore, but here’s a home page I designed. Our goal was to bring together 18-24 year olds in Sydney with a social booking platform that displayed who has booked via fb connect. I enjoyed trying to design a standout nav bar, while still following basic nav bar principles.


Recess-Vibe Logo





2010 – Hangchillparty

My first attempts at product design. I designed the UI, graphics and hacked the html and css. My goal was to provide the fewest features possible to allow for a simple, usable interface (You can view our previous iteration three months beforehand here, which shows the product design only had room to get better).

What is a Developer Evangelist?

Recently I’ve discovered a few startups have been hiring for a role titled “Developer Evangelist”. Being curious, I decided to learn what this role entailed.

B2D (Business to Developer) startups have been trending lately due to increased API developments and a need for products built for developers. The Developer Evangelist role melds Engineering and Marketing to help promote a technical product to developers. This means improving the awareness of APIs through documentation, developer support, and community outreach at startup events.

 I recently had a chat with Vidyard and regarding what a Developer Evangelist does for these two companies.

Carter Rabasa is a Developer Evangelist Manager at Twilio. He mentioned their Evangelist role consists of 1) Event participation 2) Community engagement and 3) Writing technical content related to the different uses for their API. In a nutshell, inspiring devs to build interesting things, and reaching out to them via the web or at community events. Becoming a genuine member of the community is important he mentioned, because you don’t want to come off as a leechy salesman type. This is one reason why Twilio helps sponsors many startup events. As you could imagine, this role requires travel (up to 40%) to help engage developers in different cities.

Vidyard, a video marketing and analytics company, mentioned one of the most important characteristics of this role is patience. It would require customer support skills and an ability to relate to the customer. For Vidyard, their Evangelist role focused on API documentation and support.

General requirements for a Developer Evangelist

Developer Background – To be able to communicate with devs regarding APIs and usage. An understanding of multiple languages is important to communicate with all sorts of devs.

Interpersonal Skills – Developer Evangelists must be comfortable socializing with devs and joining communities!

Patience – Ability to clearly explain and be patient when dealing with questions or concerns.

Live for Free: StayTraders. Bitmaker Final Project

Last Friday, we had the chance to see some of the final projects from the Bitmaker Summer Cohort. After only two weeks, the result has been some amazing MVPs. From dining deals and reservations to a Github for DJs, it’s amazing what we can build now.

Our Bitmaker project is up online at Create an account, play with it, and email me at sing.drew at if you have any questions!

If you want to hear about the technologies we used and features of the site, feel free to read onwards.

Screen Shot 2013-08-10 at 9.55.21 PM

StayTraders is an accommodation for skills exchange that allows guests to teach or work for their hosts. In return, they get a free place to stay. Users  can contact hosts listed on the site. If a host has accommodation available, they can then offer it to that person for a maximum of 20 hours of work a week. I’ve always enjoyed traveling and immersing myself in different cultures, which is one reason why seeing the physical MVP online has been so rewarding.

I was lucky enough to work with Eric Szeto. I feel we got along really well, and got into a solid work flow once we understood the goals of our MVP (I highly recommend interviewing him for his full-stack skills, and on top of that, he’s a personable guy who’s quite funny!). We managed our tasks with Asana, and scribbled text on a shared google doc when further notes were required.

StayTraders utilizes Haml, Sass, Sorcery for user authentication, pry for debugging, and bootstrap-sass. Instead of using CoffeeScript, we used javascript to try and cement our js understanding.

A cool gem we found was Figaro, which is used to keep our sensitive keys confidential since this is a public repo. And our site is hosted on Heroku’s handy setup!

For testing, we’re utilizing Rspec and Capybara. Our intention was to use BDD. Most of our views are covered, but admittedly we have fallen behind on the specs and need to spend some time catching up on them.

Carrierwave, mini_magick, and S3 – Our images are hosted on Amazon S3. We’re using the carrierwave gem for image uploads and a Jquery cropping plugin called Jcrop for image cropping. Configuring everything was a bit tricky because for some reason mini-magick wasn’t saving the cropped image coordinates (x, y, w, h). In our crop method, we then open the image and manually write the new cropped image dimensions to make sure it saves and displays properly (see asset_uploader.rb under app/uploaders)

State_machine -To get an understanding of state machines, we used them in our admin panel. We transition the state of a hosting to pending once it has been submitted by a user.
This allows an admin to approve the hosting for display on the site if all the requirements have been filled out.

Polymorphic assets – StayTraders allows multiple image uploads for both Profiles and Hostings. Initially, we set up lis_images and pro_images models and controllers, which wasn’t very DRY and became a bit confusing. We then refactored all our images into an assets polymorphic tree, which can be accessed by both Profiles and Hostings. Our assets table also has a column called “state” (probably not the best name), which is used to label whether an image is the default profile image or not (active or inactive).

Google Charts! – For logged in users, we recently implemented a google chart to display the country location of all hostings and people with a toggle button. Check out our maps_controller.rb for how the data is organized.

Mailers – Test our mailers :-). Upon registration, we’ve set up mailers to send an automatic email to the user. We’ve also implemented a contact form for both hostings and profiles, which automatically is sent to the recipient via email. It allows us to keep emails private until a user has reached out to another StayTrader.

Overall, it’s been extremely rewarding to work on this fun idea. Eric has been an awesome partner. His attention to detail is amazing, and I hope to be able to continue working on StayTraders with him in our free time.

Bitmaker Life Update: Apologies for the vacant blog

Sorry for not posting since week three. It has been a mental marathon. My tweets, blog posts, and life in general have been cut down to maximize my learning over the last 10 weeks (ten because the Bitmaker week off provided an great chance to catch up and prepare for Rails).

Every day I’ve woken up and been excited for lecture to see what new skills we would gain. Some days have been a tougher grind than others. I’d equate the feeling of these days to being lost in the woods without a flashlight. Ramen dinners and late night sessions have become routine, but it has been an adventure. I’ve never ran a marathon or climbed a tall mountain, but I have to think there are some similarities in the mental mindset that is required during these activities of mental endurance. On days where you grasp concepts and make good procress, it feels like you’ve leveled up in an RPG or something. Ahhh, the new found hit points and tools you now have!

I’m excited to continue working on my skills. Whether or not I get a position during interview week, I’m stoked to see where I’m at in one month and three months. Analogy wise, I feel I’ve finally learned how to fish when it comes to programming, and the web has all the resources I need to extract the skills applicable to become a dev.

Next post: A summary of our Bitmaker Final Project!

Canadian Government just shut down my rails bootcamp.

I assumed it was going to be a plea to keep the space more tidy. Or maybe we weren’t working hard enough. As all the instructors lined up at the front of the room, I realized this was more important. Once Matt finished speaking, the class fell under shock. Bitmaker Labs (9 week intensive rails course similar to Dev Bootcamp) has been forced to cease operations as of this Monday.

I’ve always had trouble explaining Bitmaker Labs to anyone not in the tech “let’s accelerate education” discussion. I’ll normally say it’s a full time trade school, kind of like one an electrician or plumber would attend, which usually gives folks a vague understanding of what I’m doing. Definitely too vague though, as I was pulled over at the Canadian Border for this unknown “course” I was attending. Luckily I made my flight from Vancouver to Toronto, where I’ve received the most robust education of my life thus far.


Above: Students studying on their own.

If all goes well, Bitmaker Labs will be up and running in the coming week or two.  The team’s objective right now is to register as a private career college on an expedited basis. Will we have a chance to finish the remaining ⅔ of our course? That is yet to be known. Best case, we’ll get to learn ruby on rails starting next week. Worst case, we will have been the last dev course to live in Canada, until it went the way of the dino due to an education technicality meteorite.

I saw a man in a Canadian Uniform walk by around lunch time today. Must have been the inspector from the MTCU checking up and making sure class isn’t in session. I’m sorry officer, but I will be continuing my education with or without your stamp of approval with my friend Stack Overflow. I may even plan on collaborating with existing students to continue our learning. Throw us in jail for our rebellious behavior. We’re education outlaws causing a ruckus as we build our skills with each commit we push to Github.

Bitmaker Blog: Week 1

And so it begins. Anxious and excited describe my feelings as I struggled to fall asleep the night before the summer Bitmaker Labs Cohort started on June 3rd, 2013.

Beginning a dedicated 9 weeks with aspiring developers is motivating. The eve of our first day, I met with four fellow students, which was great to discuss everything stirring in our minds.

On the 1st day we learned how to use unix, git, github, and how to utilize these tools to collaborate with others. For our group assignment. One person would clone the assigned Bitmaker repository and the rest would clone that user’s repo, updates to the file, then commit and push. It was important at the end for each team member to clone the repo to their own individual github account, which required the use of git clone.

Utlizing git remote -v was important to make sure, when pushing our new repo up, that we were properly pushing to our desired repo.

During certain periods of the day, I felt I had a strong grasp of the material, but at the same time, there were times were I felt lost and unprepared for the course. 



The Little Hash Key that Could Answer and Solution – Rubeque

I found this question simple to understand, but difficult in finding how to display the “key” for the min “value”.

def key_for_min_value(hash)
hash.key (hash.values.min_by {|a| a})

This code finds the min value, and avoids using a sort_by loop by placing the values method within the hash.key. This allows the key to be printed, while allowing values.min_by to target the smallest value. – Helpful in learning the very basics of hashes.