There are a lot of tools I built throughout the years and it was very hard to watch them die (or get neglected). I once posted a new project on reddit and received a lot of good feedback. The comments that gave me most hope were the ones that said: If you add X and Y features I will definitely pay for it.

I made a compilation of those comments with X, Y, Z and A, B, C features and went back to the drawing board. With blood, sweat and tears I built every single one of them. My product was now ready. I posted back the link on reddit and didn't receive a single vote. Maybe it was just bad timing. So I waited in the morning, same time I posted the first version, and posted it again. Not a single vote, and I wasn't even caught in the Spam filter. Starting to feel desperate, I went back to send messages to those who asked for these features in the first place. None of them responded yet they were still very active on reddit. What happened? I built just what they asked for and they disappeared.

There is one more thing that I should have done but instead I told myself, if these people gave me good feedback in the first place, then there must be someone else that will think the same when exposed to my product. The project was up for a month and there was nothing but tumbleweed on the website.

So this is when I finally started doing the right thing:

Use the damn product.

There is nothing like eating your own dog food and sometimes it taste like shit. It turns out the tool was actually awful. It failed a lot. It had lots of bugs and wasn't that useful after all. It took using it as a customer to see it for what it really was.

It was the cold hard truth but I realized that I make shitty softwares with bugs. Here is the catch: Everyone does it. It's not just the little guy. Go check Microsoft (internet explorer), Apple (Maps), Google (buzz,wave), Yahoo (search), Most banks website, healthcare.gov just to name a few.

The problem is not whether your product is shitty or not; it is. What matters is that you know it and that you try to make it better. Nowadays when I am excited about a new tool, I still build it and make it publicly available. But I build it for myself and start using it. If it is useful to me first then maybe it can be of use to someone else.

So take that product that you are building. Yes the one you call your baby. I'm sorry to tell you but it sucks. But you can always try to make it better.

We don't know what the rest of the world need. We can always do a research and try to narrow it down as much as possible. However this is a difficult task and people's need change all the time. How about you solve a real problem you have. You can be your own first customer. Don't tackle a problem just because you think there is money in it. Have you ever heard someone who pretends to be a sports fan talk about sports? You just can't fake it.

Don't build something you don't care about. Eventually you will stop working on it because you don't care about it.