Instead of building something you want, ask people what they want.
I am an Engineer my self and love building things. I have a way of thinking and I think that every one should think the way I think. This lead me to build a product that solves a problem in a specific way.
Here is where the mistake happens. I can start building things under the assumption that the world thinks like me. Other option is that I start asking the people if they would use my product ( Or pay for it ). Most difficult follow up question is to ask for upfront deposit for product. This is where the reality check happens. Earlier the question of cost comes in, better it is. People are generally nice enough NOT to refuse a free product.
So Summary, do ask the difficult question from the person you are building product for. If you do not, chances of success are rare.