My Baby is Ugly. From Concept to a nearly functional MVP.

394 days ago I posted to HackerNews that I not only had a startup idea but after a few brief conversation I had also “secured” some funding to build an MVP. http://news.ycombinator.com/item?id=2223764.

I am now at a crossroads and I am reaching out the the community and I am looking for some help. The technology works but my baby is ugly. Which essentially means that the interface is clunky, the user experience lackluster, the signup process and information screens don’t flow well and frankly there is no sex appeal. My biggest concern is that the system is overly complex and that without a UI/UX overhaul I have the feeling that this application will never see the light of day.

I am hoping for some guidance or pointers, but rather than just post a few lines and asking for recommendation for a UI/UX person I figured it was best to share my journey with you first.

This is a quick recap of the last few months and to update everyone on my progress.

First Few Days

The first few days were absolutely frantic, I had gone from concept, to keynote mockup, to speaking to people about investment all in about ten days.  There was a lot of activity but this is what stands out to me about the process.

Beginning of January 2011 – Thought about the idea when I was asking a friend for a referral to a good plumber, while he and I were sitting at Starbucks. I immediately realized that this was happening hundred if not thousands of times a day and then it hit me. People pay a few dollars per click to get strangers to come to their websites, why not allow them to redirect some of that spend to incentive additional business from existing clients?

I knew right then and there that I was going to build the application that would allow business owners to reward people for referring business in a trackable and transparent way.

Mid January 2011 – I internally validated the idea by calling and speaking to about 30-40 business owners or salespeople that were in industries that relied on referrals. I asked them “if there was a tool or an application that helped you to incentivize and track referrals from your existing customer base or contacts that did not rely on Facebook or having a website would you consider using the service?

My followup question to those who said that they would be interested was “if the service did exist would you pay to use the service?” And overwhelmingly business owners and sales people that were prospecting or relied on referrals said that they would pay on a monthly basis. The average was somewhere upwards of $15 per month.

March 2011 – I then took my findings and build a Keynote presentation outlining my concept. I limited the deck to 10 total slides and then started calling friends or people that I had done business with before and asked if I could come talk to them about a new idea.

A total of thirteen people responded that they would be interested in hearing about the service.At this point, I had no technology, no idea of how to get it actually started never mind completed – but I did have a passionate group of prospective early adopters and some “investors” who would be willing to listen to the idea.

I presented a total of 5 times and on the third, they said it was a fantastic idea and they would be willing to invest. I then leveraged this positive result to the next two people and let them know that there was already a major investor and if they wanted to participate at a much smaller level pending the other investor funding that I would be willing to accept additional investment.  Mistake number 1. I should not have said that their investment could be contingent on the other investor, perhaps I should have taken the money and run.  But with Friends and Family I wanted to be sure that the money was “safe-er” than if I only got a single marginal funder. This is what triggered the original HN post

This was the opening screen of the presentation. 

opening screen of the presentation

Looking back, getting to here was actually pretty amazing, I leveraged business contacts and was shameless about how it was going to innovate how business owners generated more leads. However what happend from that point forward was filled with a whole lot of  ups and downs.

Creating the Flows

I spent what seemed like hours building user flows, mapping out what would happen at each step of the signup process, the interaction between the application and the user and basically how the program would work. I started with high level diagrams and proceeded to building conceptual overviews and from there I drilled down to the dirty details of what each screen should look like. Mistake number 2 – At the time I felt like I did a brilliant job of defining how users would transition to the next screen, or what information they needed to see at any single step of the process. The lesson learned is, if you have NO idea of what you are doing during the planning phase, stay high level because when the developers see the detailed view – it makes it seem like it has already been thought through.

Super high level flow

Ruby, PHP or Python – The first big choice

Reflecting, it seems sort of backwards to have picked a language to use before really understanding the full scope of what I was trying to achieve. However I knew that if I did not just pick something and go with it, I would be talking to possibly hundreds of developers each expounding the virtues of their chosen language  – and as a novice I really wanted to limit my options.

I try to stay away from religious debates so lets just say I had to choose something and because of that I chose Ruby on Rails.  There was no particular reason, I did not know a python from a ruby, nor  perl from php.  I had “heard good things about RoR on HN” and being an amateur I figured that there was nothing worse than analysis paralysis so I spoke to a few developer friends of mine who were using PHP or Java at the time and I described them the vision and rather than asking if it could or should be build in that framework, I ask “what would the problems be if I build this in RoR?” None of them had any real issues, they felt it could scale so I choose Ruby on Rails.

Finding Developers

The next steps and it was probably the most difficult part of the process – I went to the Ruby website and did some digging on companies that could provide RoR development. I setup appointments and spoke with sixteen different Ruby development houses  including Hashrocket, Intridea, Thoughbot and half a dozen smaller firms all over the country. As a side note, after talking to each company and hearing their take on the project and getting an estimate they were always willing to give me a referral to another Ruby development house that could have been better suited to the project.

So after a few initial calls with some smaller companies, with NDA’s signed and after having 50,000 foot views with sales people and project managers I started to realize that I had no idea about what I was getting into.  There were concepts like pair programming, Agile, sprints, waterfall, user stories and iterations that were completely foreign to me.  But I was determined to at least sound intelligent about the process so google is your friend and in this instance so was Youtube – In about a day and a half I was able to get the fundamentals of Agile, Scrum, standups and user stories.  I ended up buying Larman’s Agile and Iterative development book for reference.

By the fifth or sixth call I felt a more confident in the discussions, my overview and flow documents were more refined – I discovered Balsamiq for building out screen and used keynote extensively for defining the flow of information. (One of my biggest struggles).  It got to the point that within an hour of speaking with the prospective development teams that I could convey the concept and they were able to articulate what I was trying to do and how they might be able to help.

I literally spent a month interviewing and speaking to development companies.

Balsamiq makes it easy…but you still need to understand the user experience, and I don’t. 

It Costs How Much for Pair Programmers?!#$

But then, sticker shock.  Although it is amazing how consistent the quotes were in terms of estimating their time and what the scope of services could be, there were a few companies that did stray from the defined scope so I just ended up ignoring their proposals.  I would say that everyone was within 20% of each other in terms of numbers of sprints that they estimates, the length of time for the project and what the MVP could look like in the end however the biggest difference was the price.  The average for the six companies that sent me a quote or some sort of proposal the cost was over $150,000 for an MVP. I was pleasantly surprised that some of the big names were not the most expensive and they supported their quotes with two pricing options. One for a full dev team as option one and Jr. level programmer assisted by Sr. guy for about $60,000.  However the tradeoff was time.  What was supposed to be a 10-14 week project would become 24-30 weeks with the Junior programmers.

Project Matrix for a 10 Week MVP – Including discount for their Logo on the website

Ruby on Rails Pricing Proposal

150k seemed like a huge expense for 12 weeks worth of work, but then again the +-$150,000 was inside my budget so I was pretty happy. The quotes were consistent and I felt that if that is the price amongst six different quotes from differing parts of the country – then the price had to be “reasonable.”   I immediately called my “investor” and let him know what the situation was and sent him the proposals that we had received.

We had a few more conversations and things looked good.  We went to meet his attorney here in town to setup a Corporation and discuss funding options.  I was armed with PG’s fundraising and  convertible notes information  (I even applied for YC Summer 11.) and ready to have conversation about the company and what the money would be used for. I am going to skip the in’s and out’s of the meeting with his attorney, but from my perspective things went well.

He wants me to “pitch” to his advisors.

About a week transpires between when we met with his attorney and our next conversation.  He is still very enthusiastic, but before we move forward he wants me to pitch to his team of advisors and employees.  He runs a very successful lead generation company and is also familiar with software development cycles, so I feel comfortable talking to them – and that they would add value to his decision process.

I went through my updated pitch deck and described what I felt was the moving forward plan based on the lessons that I had learned getting the proposals and talking other developers.  The first question out of their mouth was “Why Ruby on Rails?” – with the reason behind it being that it is tough enough finding highly skilled PHP developers who are reliable and get the big picture. Never mind what it would be like with a smaller install base or community how hard it would be to successfully sustain the development past the MVP point. And would I even be able to take it from MVP to production with a local team.

Great question, and after giving them my “why, and how I thought it would work” we moved onto the next step – which was their comparisons to other products in the marketplace.  The rest of the conversation was just a variation of  “isn’t this like product X, just without Facebook integration?”  Or I have heard of something like this before, there is already someone doing this.   I tried asking for specific competitors so that I could do my own research but they were unable to mention any by name.  I thought that I had presented well and that I had successfully deflected their barrage of questions and that there was enough value in the product to move forward.

But in the end I was unable to communicate the value proposition successfully and he backed out. 

I think that the main reasons could have been –

  • Perceived competitors already in the market
  • Market Size
  • Language Choice
  • Confidence in me

But ultimately I think that he held back because of the question – could I really get this done?

Once he backed out the rest of the folks who were going to support me stopped returning calls and after two weeks of chasing.  I was at the point where almost every non-technical person finds themselves – with the belief that they  need a technical cofounder. Because I had to answer for myself, could I really get this project off the ground?

The hunt for the mythical “technical co-founder”

We have all read the posts and the stories of people looking for technical co-founders, and the question usually is “where can I find a co-founder.”  I decided that if you need someone who has a completely different set of skills than you that the best way to find them is to go where they go, and not where you would typically hang out. So I went to meetup.com and found the San Diego Ruby Meetup, the San Diego Web Developers meetup. The SDWD group with a little to general so I ended up going to the SDRuby meetings.

At the end of each meeting their was an opportunity to announce who you were, and why you were here.   So on my first time there I expounded that “I have a project and I am looking to partner with a developer”  Needless to say, out of the 40 people that were there no one even so much as came up and introduced themselves to me.   I felt like I was fishing in an aquarium but using the wrong bait.  Developers everywhere but no one would talk to me.

Undeterred, I joined the mailing list and started getting involved in a few discussions.  And the next month when they met I said that “I am looking for a developer for a paid project.” This time a few people came up to me to talk about their experience and how they worked and the time that they had available and they were basically offering their services – before I had really told them about the project.   I was a little put of at first, but once I got used to the attention it was alright.   However the reality was that they were all looking to earn anywhere from $95 to $165 an hour,which is a fair wage – but now that this was coming out of my pocket, I needed to be certain that this was the direction that I wanted to go.

A little back story on me…

I am a huge fan of Tim Ferris and the 4 Hour Work Week.  I run the San Diego Four Hour work week meetup group and I am very comfortable outsourcing projects. I am extremely Unix friendly, tons of highly technical experience (I used to own and did a successful exit on a large regional ISP that provided dialup, shell and T1 services.  And an IT consulting service for Windows Server in SMB environments) but I am not a developer. So I finally figured out that if I could just get someone who could help me to coordinate the project in the USA I would be more than happy to offshore the development.  So at the next meeting, I said I was looking for a developer who would be looking to coordinate a remote team of Ruby Developers.

At this point (three months after I started looking) I had setup a Pivotal Tracker account, read some agile book, and had build about 50 user stories.  I had all of my screen in balsamiq and I setup a basecamp, and campfire for chat.

I wanted to play the part of someone who was ready to get this moving – and amazingly I found someone who was willing to take on the project!

Fast forward…

After going through all of the user stories and basically re-writing them, we were able to put the feelers out to the Ruby Community that he knew and we found a small development firm out of Brazil.  During the negotiations they told me how much they wanted per hour and at this point I said to them, that I would willing to pay their rate without question – IF they were willing to play by my rules for payment and acceptance.

 

 

My requirements for off shoring development and not trying to nickel and dime them on the per hour rate.

  • Two week sprints
  • All code is checked into GitHub
  • We build our testing environment from the live code
  • We would require unit testing
  • Payments would be made when the Unit Testing and user stories in Pivotal were accepted
  • And any bug fixes would be covered under the scope and payment for the previous iteration.
  • We would split the costs of any refactoring, and once again bugs were fixed on their dime and not the hourly rate.
  • I would agree on 30 hours per sprint
Another agreement that I had with the team was that they would be patient with me in helping me to understand why things take longer than anticipated, or the reasons and logic behind their decisions if I was willing to take a Ruby on Rails class.  It seemed like a great idea to me so I ended up participating in the first group with Kevin Wang and Chris Lee railstutors.com.  I learned about the class from HN. It was a little rough but in the end I was able to understand a little bit more about MVC and was able to build my own Reddit clone, however I was not able to do it without scaffolds.   Maybe next time.

Where we are today

There are about a dozen people using the software right now via Testflight and the feedback is positive – but I still need to hand hold each person through the signup and account setup process.

And this is how we have been working for the last seven months and funding this from personal savings and revenue from my existing business. I feel that we are really close to having a solid MVP with a few tweaks.

If you would be interested in working on the project I am looking for someone with strong UI/UX expertise that can help us to re-formulate the user interactions, adjust the signup process and that they can build the screens for the mobile as well as a web app.

Current Web App Screen Shots

Some Ugly Screens

IOS Simulator Screen Shots

TL;DR – Had investor, lost investor, decided to self fund, looked for co-founder, discovered alternatives, built MVP, took Ruby on Rails course, everything as works as outlined in the specifications I put together,  however it is not user friendly.  And I need UX/UI help.

The team is currently Four People Strong, with three developers and myself.

You can contact me at brad (at) reaction (dot) org if you are interested in helping – or you can fill out the form below.

Fill out my online form.

Thanks for reading.

Brad Slavin