There is a simple law which rules every successful startup:
Do what people are willing to pay for.
Trivial, right? And yet — too many companies start with either the desire to scratch an itch or by following the lead of others. The former is in and of itself is a good place to start — just understand that sometimes it leads to a hobby but not a company. The latter often leads to a lack of real understanding of the market.
Do the following exercise: Go to ProductHunt and look at their daily listing of new companies/products. I bet you money that a good half of the listings violate the law of financial viability. That doesn’t mean that the projects are bad or useless — quite contrary: Many of them solve an issue and will surely make some people happy. But will those people pay for it, is a whole different question. And a lot of them are just variations on an existing product and thus will have a tough time finding their footing in the marketplace.
I can’t stress this enough: If your aim is to build a financially viable company, you have to go out and talk to customers (lots of them) and figure out if they are willing to pay for your product. Not in the abstract but in the “I will write a check right now if you can solve this problem for me”-way.