It’s pretty straightforward. Google Autosuggest to find the keywords and then a manual check of the SERP.
If the search intent is satisfied by any result on the first page, I skip it.
It takes a lot of time but it works really well. Most people are too lazy to do it this way and they rely on tools that everybody uses.
I don’t use any tools. The two main filters of any tool are keyword difficulty and search volume. Both are totally inaccurate. So I don’t see the point. It’s highly unlikely to find low competition keywords that way.
It’s easy to find keywords with 0 difficulty and sort by volume in any tool. If that worked, everyone would be a millionaire.
I don’t even bother with competitor keywords for anything except keyword ideas. If a competitor is targeting and ranking for a keyword while satisfying the search intent, there’s no easy way to beat them. I’ll need links or significantly better content. It’s extra work that’s unnecessary. Especially when there are millions of keywords that nobody is targeting.