My strategy was fairly simple: I wanted to create a better version of a tool (in this case, Tinyletter) that:
1. I already used whose quality I thought was extremely poor,
2. I did not think the creators were incentivized to make improvements;
3. I could think of a sub-niche that I was well-equipped to build because it reflected my own experience (support for Markdown, a REST API — basically developer-adjacent functionality.) [^1]
I think we are in general pretty awash in bad products; it is not particularly difficult to pay attention to what you use over the course of a week and see what could use some obvious improvements.
[^1]: People often think of 'niching down' as adding features, but I would argue it is often just as much about removing features. As companies grow, they must add more and more surface area to satisfy certain use cases. Side projects do not have this problem; they can be laser focused on one or two such use cases, and as such remove all the surface area that many users find to be detritus.