It helps to think of some of your projects as a learning tool.
Don't hesitate to reinvent the wheel, you should definitely try rebuilding something that's out there and you're familiar with it. It'll give you guidance on what needs to come next and when it can feel "complete", I bet you'll find a lot of tricky parts of that being things that appear to be very simple at first. E.g. for a web project, for me, I always spend a lot of time figuring out how to best organize a project, seems very simple in hindsight but sometimes I just don't think about it when starting a project.
Learning syntax is easy, the art form is morphing that knowledge into something that's actually got a function or purpose, then making something that's maintainable and secure is a whole different game again.
Most of my programming skill was improved from writing small apps to solve something, generally something part of the day job that was boring, menotinous or time consuming.
When I'm going to benefit from the output it's far easier to be motivated, I find it much harder to code on side projects as they're benefiting others more than myself...
Keep expanding and improving your small scripts, and you'll eventually end up with a "system" which does a load of different jobs, then improve that system
I wouldn't say start small, or learn anything in particular. My suggestion: get excited, get pumped up, find something fun to do and do it! Project euler and /r/dailyprogrammer are imo both ways to amp up the fun and get in the zone.
Certainly as you work with it you will have changes, as you work with it you will get the feel of the structure and mod it all the ways you want to see if you can do it different or better. Once you’ve groked that project a bit you will realize the basics of writing yours from scratch, make something maybe borrow code, it get easier and more you as you work on stuff.