It really depends on what direction you want to go with it. If you are having a hard time starting projects, take a look around github, and maybe find projects that are meaningful to you that you can contribute to.
Get to meetups, or mashups, or bootcamps. There are always people there looking to do stuff, but who don’t have the skills you sound like you do. Get involved, and network. Find others looking at doing stuff that may appeal to you --it’s always easier to devote time to a project you believe in, and understand.
What is it that you feel difficult?
Starting from scratch?
Coming up with a good abstraction?
Try and take some small projects and expand later, something you think might be useful or fun to try. Maybe try a free API? Plenty free public API’s here.
There’s the general stuff like small games,
- Black Jack
- 4 in a row etc…
After it’s done, maybe add some authentication and betting system with play-money? That could be saved to a DB and loaded when user logs back in? Let your imagination flow
Managing infrastructure and
Coming up with a good abstraction
On infrastructure I would suggest to start simple, like using ready to go services like Netlify and Heroku. Getting a grasp at too many things at one is really hard.
Abstraction is experience. The more you do, the more you improve. Remember that it is always good to start from somewhere, even if it is not the best approach. One thing you can do to improve you coding designs is through tests. You write a test, the make a stupid code to pass the tests, when you known it works, you can start changing it, knowing it does the right thing, keep changing it, if something looks awful, change it back.
Getting code reviews is also really helpful.
I am open to help, just shoot a message.