My personal advice would be to find an open-source software you can contribute to. While building from scratch is fun it's difficult to maintain and harder to find inspiration. You also miss out on collaboration and community, which are very important, in my opinion
But if you really want to make something yourself then I'd say be patent and wait for a problem to arise. Practice thinking about solutions to problems you could solve yourself. For example, my friend once complained that Apex Legends doesn't have a random button, so I made him a website to randomize a character. I didn't sit down and think about all the domains I know, I came across the problem naturally and was just aware that I could "fix" it