To be honest when I started a while ago I was on the same boat. I stopped worrying about finding an open source project I could contribute to because it felt forceful. Instead I continued studying and practicing.
Nowadays I make PRs after I have been using a library, node package, framework, for any of the projects I'm working on (either personal or required by my job). Sometimes it's a typo on the docs, sometimes it's adding more examples on docs and eventually it's a new feature or a bugfix. As others mentioned, there are projects with issues beginners-friendly if you wanna really dig into it.
But what I found more "natural" is just working on a project and...getting frustrated! Then I address that frustration with the hope of preventing anyone else to fall into the same trap. The way I address it is usually with a PR!
So go ahead and try to build something. If you use a library and the docs are confusing, submit a PR! You find a typo, submit a PR! You find a bug, try to your best to fix it and if you can't, open an issue!
Thanks for the advice. That is a good process, especially the adding to the docs of packages I find confusing.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.