Lessons Learned

This is the fourth and final entry in a series of posts (part 1, part 2, part 3) describing my failure of getting my web app StudioJoy off the ground and what I learned in the process.

This final post will sum everything up and go over some lessons learned.


One of the main things that I learned in this process is to not try and make the perfect product from the start. A better way to work is to break things down into small pieces and launch them iteratively.

For example, a MVP does not need to have a beautiful UI to gain traction. This can come later once you have validated your idea and have paying customers. A better use of your time would be to build a small feature, launch it, gather feedback from customers, rinse and repeat. You may find that you were completely off the mark when you designed a feature and have to go back to the drawing board. You also may realize that your assumptions about how your customers would use your product were wrong. Better to find all that out now after a small iteration than waiting until launch after you are feature complete.

Know Your Customer

You are building your product to solve a pain point for someone. This someone is your customer. They can be your dad, your co-worker, your neighbor or some random internet stranger. One thing that defines a customer is that they are willing to give you money for something that saves them time or effort.

To build something that helps your customer, you must first know who they are. You need to understand their pain points and make those pains your pains. If you can’t understand who you are building your product for and what problem of theirs you are solving then you will fail.

To understand your customer, you must talk to them. Talk to multiple potential customers who you think need your product. Send out cold emails, setup coffee dates, Google Hangouts or even just walk in their door. Do whatever you have to do to put your solution in the minds of your customers so that they can give you valuable feedback. This will also help you market your product as you should already have a group of people who are interested in what you are building.

Don’t Waste Time

One thing that causes burnout is wasting time on things that don’t matter. Your time is limited so spend it on the things that will actually help you gain customers.

Some of the things you shouldn’t worry about until you have your first paying customer:

  • A good looking UI
  • Tests (OK a few are fine. Test the ‘happy path’. Don’t worry about edge cases just yet.)
  • Automating things that can be done manually. You don’t need to automate your onboarding process if you can do it manually at first.
  • Being mobile responsive. Unless this is an absolute must for your customer, put it off.

Conversely you should spend time on things that do matter or ‘move the needle’ such as:

  • Marketing. Market from day one. Ideally you should be doing 50% development and 50% marketing.
  • Continuously validate your assumptions. Do this by talking to customers and showing them your product. Do this often.
  • Figure out how you will generate leads. Who will care about your product? Where do they hangout? Find them and make yourself known.
  • Cover the basics. Make sure you are doing the least amount of work needed to get to market.

Want It

Make sure that this is something that you want. It sounds great to be ‘building a startup’ or ‘working on a MVP’. It’s the new hotness. Don’t do it just to be hip. You have to be committed. Especially if you are doing this on the side and have a ‘real’ job, a family and other responsibilities. There is nothing worst than working on something that you aren’t passionate about. Burnout is real and will happen if you don’t love what you are doing. Ask yourself ‘Is this something I will still want to work on in 5 years?’. If the answer is no, move on.

Final Thoughts

Some final key points that I will take into account next time I build a product:

  • Set a release date. Hit it. This date is set in stone. Cut features if you must.
  • Make sure there really is a need for your product. Are people already paying for a solution to their problem? If so that’s good, it will be a lot easier to charge for something that people are used to paying for.
  • Talk to customers constantly. More than one.
  • Think about growth. Will you be able to consistently grow month over month or is your market stagnant.
  • Make sure its something you really want. Do you care enough about this product to support it for the next 5-10 years?

Finally, realize that you have no one to impress except your customers. No one matters except the people who you are trying to help with your product. Everything else is just noise.

Mark Phelps

Senior Software Engineer @codeship. Aspiring entrepreneur.