I'd also highly recommend a book called "The War of Art" which was written by a procrastinator who eventually made good.
I'm still struggling with procrastination, but my personal feeling is that the key is probably to create a routine where you just execute your productive work during a set block of time everyday, much like a job. This is just so you don't have to decide whether or not to do the work "now" which will break the procrastination doom loop. Good luck!
Non-affiliate Amazon link: https://www.amazon.com/War-Art-Through-Creative-Battles/dp/1...
I have re-read this book constantly since purchasing it well over 10 years ago. The chapters on facing resistance and how to deal with it constantly resonate with me when working on my own projects.
Do the Work - https://www.amazon.com/Do-Work-Overcome-Resistance-Your/dp/1...
The War of Art - https://www.amazon.com/War-Art-Through-Creative-Battles/dp/1...
You have to build a muscle for this stuff. It's hard.
Examples: create things (write, program, compose); exercise; meditate; start learning something.
Sleep 8 hours every day. Or whatever is your optimum. But no more and no less.
https://www.amazon.com/War-Art-Through-Creative-Battles/dp/1... -- this book might resonate especially well now.
Set a time slot everyday where you will sit down and do nothing but work on creating your art. Doesn't matter if it's good or bad, your only job is to sit there and create for the whole time period. That's the key, is consistently trying to do it.
I highly recommend reading the The War of Art by Steven Pressfield, he goes into this a lot more - https://www.amazon.com/War-Art-Through-Creative-Battles/dp/1...
He also talks about the concept of "Resistance", which is basically a force of nature that's works against you getting things done, and that gets stronger the closer you are towards doing work that is meaningful to you.
 - http://www.amazon.com/War-Art-Through-Creative-Battles/dp/19...
I've found over years of starting and rarely finishing personal projects, that making a list of three targets for your session (the amount of time you can dedicate, right now, to the project) helps. Start at the top and crunch through it. Don't get caught up with what you should be doing, just get right to the doing. Code now, optimise later. You'll quickly learn how to prioritise tasks, and the act of ticking off a completed item gives you such positive feedback that it becomes the norm.
You are in a good place right now. You are realising the futility of your current method, and you can see the elements that are holding you back. Right now, dedicate that time to three top tasks in your latest idea and crunch through them. Do the work right now, and then look back and review.
Get to it, you have ideas to realise!
1. I've found it very beneficial to "Lock down" goals and objectives for the entire year.
Spend 2 days thinking of what you want, with a 4 day review period and match
them with a list of habits. Then put them somewhere you'll see every day.
For instance, I put them on the right hand side of my main Trello Board.
Every day, I see there's seven of them and that perhaps playing with this shiny object won't "move me" towards their realization.
2. The purgatory list
To deal with the shiny object problem, I've come up with a system for reviewing my urges of curiosity.
A "purgatory" Trello board for instance, which I review at the end of the week.
"Should I do it?"
"Will it move me forward?"
The answer is typically obvious.
During the week I'm focused on the things at hand, and when I'm done with my week I choose what to do next.
Separating the thinking from the doing is always beneficial.
Read "The War of Art", or "Daily Rituals", or listen to any kind of podcast by productive people.
They all say the same thing, losers have inspiration, productive people have systems.
Taylor Pearson has the "Weekly Entrepreneur Review".
I've implemented it. Tweaked it.
4. Information diet.
It's good to limit your consumption of information to X amount per day or to specific periods of the day.
If you're like me, you love to learn and you want to do it all the time.
At some point though, you'll know much more than you can show.
Remember "Show don't tell", how much do you know that you would not be able to show other people?
Probably a lot!
Nobody cares that you "learned X or Y".
They want you to show that you know those things.
Projects, experience, etc.
In that case, stick to your goal and do.
Instead of overanalyzing procrastination, he identifies the invisible but real force of Resistance and how to deal with it.
Do stuff as much as possible and focus on the output, e.g. look for quantity over quality.  It's important to have the proper mindset, so you have to learn how to ignore the frustration and how to fight your ego. The paradox here is that if you follow this approach, at the end you start producing more and more quality work.
Deliberately replicate other people's work. With the time you'll start noticing different patterns and trends and build on top of them your own ideas.
 Read psychology and have genuine interest in humans - why do we respond to given things, why these things work and experiment with them.
It's a very short book, but it may change your life. Read it twice. It is for procrastinators. I'm one of the worst there is, yet this book has helped me tremendously, and helped a ton of others as well.