So, implementing the concepts that you learned is a good way to solidify your learning. What is the best approach? Do I make a hobby project for myself, or should I have to build something that is meaningful and useful to others?
I think you need a bit of both. Hobby projects are a great way to solidify specific learnings. You want to learn CSS? Build a website! Simple, right? But we tend to build our hobbies differently, we treat them specially, and it's easy to get bored when they're no longer about the thing you wanted to learn about.
Building stuff for other people forces you to bend the project in ways you might not want to. It forces you to focus on their problems rather than your own. It also forces you to actually deliver. I've got countless projects that went nowhere once I was satisfied I'd learnt the initial, easy, 80% of the area. It's that remaining 20% that makes you an expert, though.
Everything in moderation!
It's like asking whether you need a pencil or pen to write. Just do a bit of everything, see what u like and go vertical on the things that stuck with you