But I think a lot of the common advice (too simple to work!) is actually helpful:
- Limit scope
As much as you think 'no one will use this without XYZ feature'; no one will definitely use it without it existing at all. Just make the basic functioning product and see below:
- Get real users using it early (release early)
Having real users (perhaps even paying users) using my project, relying on me for fixes/updates, seems to be a nice kick-in-the-pants to fix/work on the project. Even with minimal users or zero-revenue, having that feedback that someone finds what you're doing useful rather than coding into a void is really motivating.
- Build something for yourself
If you need/want to use it, you'll continue to work and improve the project to suit your needs. Theres some additional work likely to make it available for others to use, but if you're using the product yourself often - perhaps thats motivation to see how others could benefit from it as well.
Also realize - it's never 'finished'. If it's a project that you either (a) enjoy working on or (b) actually has users, there will always be more to do. So embrace that and find (a) or (b) early.