> By picking a programmer's problem, you're picking an oversaturated market.
The majority of programmers' ideas on what they'd like to build fall into three categories:
(1) games
(2) tools (a utility, a compiler, etc.)
(3) social version of ______
Yeah, great fortunes have been made in all 3 areas. But every programmer is getting those same ideas, so you're going to have insane competition. In the case of (2), people do those for free. In the case of (3), because of network effect, out of 1000 people that try it, one will be winner-take-all. A good first pass might be to eliminate ideas for games, tools, and social whatnot.
> Make something for parents, old folks, hikers, knitting clubs, etc.
But intersect that list with problems where people are already paying significant money but getting mediocre results.
Eg., old folks pay $3000 for hearing aids, but elderly people often say that the results are awful. For many old folks, it's a speech discrimination problem -- sound amplification is not what's needed. What if you built a system that captures what the senior is listening to, and repeats it back in a slow, smooth, clear voice into his ear in near real-time?
For further refinement, you could eliminate extraneous noises and conversations from the input, use a voice and accent that the old person is accustomed to, and allow for automatic repeating if he tilts his head slightly left.