Last week I launched a pet-product called Minus Board. It’s an iPad app that allows you to share your drawing with your co-workers via a link. From having the idea to launching it, it only took me few weekends.

This product may look simple, but it actually involves many cross domain components to build:

Given only few weekends, it sounds like mission impossible? Well, it’s actually achievable, and here’s how I did it.

Build a product for yourself

As a software engineer, I found myself needed to explain things to my remote co-workers, they could understand me better if I could illustrate the idea by drawing.

Since I have an iPad Pro with Apple Pencil, which I enjoy using, I wanted to find a simple app that allows me to draw things and share it on internet in real-time easily, but I couldn’t. As no one built a product I wanted, I decided to build it for myself.

There are many successful products sharing a common fact — they are all built to meet the creator’s own needs, and finding a need is the first step to build a product. If you build a product based on your own need, you could save huge efforts from doing market research and figuring out what people really want in this stage because you knew it the best.

Also, since you use it on daily basis, you will encounter problems while using it, you know what needs to be improved. Overtime, it gets better and better.

Pursue better instead of prefect

As a builder, it’s very scary to just think about how people will use your incomplete work. It feels like you can almost hear the curse from the users when the bugs hidden in the corner bite them, you can see them uninstall your app because it doesn’t have the fancy killer feature X.

Your product sucks!

The users in your imagination yelled.

But wait, let’s ask ourselves, when will the product be complete?

Just add this one more must-have feature, then it will be awesome!

You said this to yourself, again and again, but the truth is, you will never be able to roll the product out.

The sooner you roll the product out, the sooner you will know whether you’re on the right track. Rolling out a product is like pushing yourself out off the cliff, you need to be brave. Face it, you have zero user, well, if you count yourself, that’s one, there is nothing to lose. The product will never be perfect, instead of pursuing perfect, you should pursue making the product better over time.

Keep it simple

Adding a new feature is easy, but removing one without decreasing the value your product provided is hard. Since it’s easy, we are all so attracted to add tons of features. These unthoughtful features not only slow you down from rolling it out, they are pretty often not what users really want, also make the product very complex and difficult to use.

Less is more

Instead of adding new feature and making product complex, you should spend more time on thinking how to reduce it down to a minimal set of features which provides the core value to your users.

Outsource things you’re not good at

I can build software I want rapidly, however, when it comes to graphic design, I am not really good at it. Instead of spending hours in something I am not really good at and producing the result I am not happy with, it’s better to outsource it.

I outsourced the app icon design job to a designer from Romania, and I am really happy with the result.

For Minus Board, it is a Minimalism product, surely, I need a Minimalism design. I browsed through many portfolios on Envato, it’s a website for outsourcing graphic design. Finally, I narrowed down the a handful of designers, compared the price, contacted the designers I like to see if they are available.

Next, as the designer accepted the offer, I expressed what’s the product for. You can pitch the designer as a customer, the more they understand your product, the better they can deliver. Don’t be shy to tell them what’s in your mind, it’s your own product not theirs after all.

Use Trello to track what to do

Even you are one person alone, it’s very easy to get lost in what to do next, especially when you are not building the product as a fulltime job. To track what to do, I use Trello, a task management tool.

Here’s what I do, whenever something comes to my mind, I’ll add a card into the board, such as a bug to fix or a feature to add. I have lists like

Backlog — for available tasks

Next release — things to be done before the next release (or launch)

Next iteration — tasks to do in the next iteration, like a week

Doing — what I am doing now

Done — what I have done

In this way, when you context switch back from other projects, you won’t forget what needs to be done next. However, be carefully, like what I mentioned above, it’s really important to think about what’s the minimal features needed to be delivered, you can go crazy, add as many cards you want in backlog list, but be wise on the card you pick from it.

Use services and tool as much as possible

Remember, time is the most valuable resource you have, ideally you should only spend time on building the product. To save time from doing unrelated things to building product, you should use services or tools as much as possible.

For an iPad app product, I need to provide screenshot with iPad or Mac mockup like this one

I used to purchase stock mockup photo and place screenshots into it with Photoshop. It’s easy, nevertheless, it takes few hours to do. I am not a graphic designer, definitely it’s not a good use of my time. Fortunately, I found a service Placeit

It’s a service for making mockups quickly even without knowing how to use Photoshop. All you need to do is uploading the image, and it will do the reset for you. Thanks to it, I save several hours from fighting with Photoshop.

Another pain in ass for launching a product is setting up the databases, servers and maintaining them. To avoid time wasting in operations, and focus more on the product development, I use Heroku for running the servers.

Software as a service, platform as a service, or whatever as a service, there are more and more services available on internet nowadays. Before do it yourself, it’s always a good idea to google around to see if somebody already made it a service. You will be surprised how much time you can save when you find the right service to use. Even if there is no such service yet, which also means this could be yet another good side project idea.

Building a product is hard, but just don’t give up

Building a product is never an easy task, what’s covered in this article is just tip of iceberg.

Comic from http://oktop.tumblr.com/post/15352780846

Many times, when it comes to step 4, you think you almost got there, but actually there is still a long way to go. And the devil is in the details, which is the most difficult part.

My app got rejected several times by Apple due to some in-app-purchase issues, I almost gave up at one point. But I thought just because it’s hard, it’s worthing spending time to do it. Even in the end you may get nothing from it, at least you will learn a lot during the process. Therefore, just don’t give up, focus on the real important thing, keep doing it, and you will get there eventually.

The journey just began, have fun

Launch of a product is not the end, the journey just began. And launching is actually the easy part. There are still many things to do after a product launches, such as finding your first user, marketing, improving the product. Will it work out or not, nobody knows, but if you’re like me, enjoying building products, then the most important thing is — have fun :)