The most effective way of coming up with new ideas for me is to work on something. Anything, really.
Two years ago, I had nothing but a long list of ideas I collected over the years. However, I didn't work on any of those, because I was looking for a perfect idea to focus on.
I thought "fuck it, I have to make something now". So I picked Lotus — an app for managing GitHub notifications. I focused 100% on it and launched it.
During development of Lotus, I needed a pleasant way of querying a SQLite database where Lotus stored all its data. So I built Rosefinch — an app for organizing and executing SQL queries.
As I was working on Rosefinch, I wanted a minimalistic browser for taking beautiful screenshots of my designs, so I made one.
All these apps are powered by Electron and there's a lot of useful boilerplate, utilities and features I copy paste between them. That will be my next project.
You see what I mean? I would've never thought of Rosefinch, Confectionery or many other ideas that spawned from working on these projects.
Pick an idea, work on it, take notes on the pain points and launch solutions to them as standalone projects. It's that easy.
It's not the only way of generating ideas, but it proved to be effective for me.
The hardest thing is to start.