Structure in Android App Design

Good video for brushing up on your Android design skills. Will be releasing some mock android designs in the next few days.

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.