Understanding pain points (problem) and then talking to them about solving that problem and its worth to them.
Ask them if they can pre-pay (with additional incentive of course).
And then building it rather than trying to build first and then trying to sell it.
Stop thinking in terms of ideas and start thinking in terms of solutions for problems.
So I would rephrase your question to: How do I discover problems worth solving?
This is a much easier question to answer, although it is somewhat personal. Here are the related questions I ask myself:
You can do this research before you write any line of code, but coding a prototype can also be a good way to get answers to these questions. Finding that balance depends on your specific circumstances.
Edit: My questions are more about validating a specific problem, than coming up with problems to solve. To come up with problems you can later verify, there are some suggestions:
👋 Join WIP to participate