There are several replies that start with "find a problem". How do you find problems small enough for a single developer to tackle but not trivial enough for having people willing to pay for a solution?
Developers like myself have a tendency to reinvent the wheel, as in, solve problems like online team chat over and over again. Because that's what we know first hand and are comfortable with.
The webapp for online marketeers I'm currently building, with feedback from a friend in the industry, caters to a bit of a niche but I'll probably have far greater success with it because that niche is quite underserved. I would never had thought of that particular idea had I not wondered off outside my comfort zone and talked to people in other areas.
I don't expect my project to become a passive income stream. It'll take work. But maybe the same method can be applied to find a problem which has a trivial, low-maintenance solution.