Also, architecture matters. It feels like you’re saving time cutting corners early in a project but every time you do it you’re increasing the complexity adding more features later. The trade off of course is that if you expect a perfect architecture you’ll never ship anything.
One other thing, build products that you want to use, but don’t expect that that automatically means there’s a market. Your judgement as the product’s creator is extremely important and users don’t know what they want, but products that take off virally are hard to predict.