Honestly, you’re closer to being job-ready than you think. Most people who ask this question haven’t built anything real. You already shipped two apps on Spoilya and another on React — that shows you can finish work, which is the hardest part for juniors.
The only thing I can’t see from your post is how comfortable you are with the contract side of things. A lot of mobile/Web3 devs can build UI but freeze the moment something fails on-chain. If you can read the contract you’re interacting with, understand why a function reverts, and reason about state changes, then yes — start applying. You’re not “too early.”
Where an internship helps is depth. If Solidity or tests still feel shaky, a 2–3 month stint in a small team can level you up quickly. Smaller teams are better for this — you’ll actually touch contracts instead of being a UI helper.
If I were you, I’d take one of your projects and go a bit deeper: add a simple contract or improve the existing one, add a few tests, clean up the README, and show some thinking in the commits. That’s the stuff founders look at quietly.
So short answer:
You’re not a beginner anymore. You just need a bit more depth on the on-chain side.