Instead of letting you talk yourself out of ideas, let others talk you out of the ideas. Thrash anything you come up with. Ask other potential users if they would use it. Ask if they would pay for it. I think you're probably wasting a lot of time jumping into the code without talking to others. Before you know it, you'll hear "You know, that's a really good idea..." You'd actually be surprised how honest friends can be; or maybe my ideas are just that bad...