The best way to learn is to build something for someone else. When someone else sets the requirements you have to engage in real problem solving and research the best tech to solve the problem. This keeps you from following just the easiest path as well as exposes you too new ideas.
You can do this at work, for a local non profit, for your friend's weird startup idea, ...