I feel like I have a disease to focus at this point, but I also feel like most developers can't ship a useful solo project and it recomforts me.
I only manage to focus in the evening or when I have somebody to talk with about the app or when somebody on a forum can help me to fix a bug.
So when you are blocked because the side project path is not clear, what do you do?
It was incredibly difficult to get started, but once you persist it becomes an automatic habit. I've written books, shipped several SaaS projects, and blogs in this time over the last few years.
This may be a good opportunity to zoom out a little bit, and work on a personal system for finishing side projects, or other projects that are taking a long time.
There are lots of possible ingredients, metaphors, and so on, but what's most important is to keep changing and reorganizing your approach in order to find those ingredients that work best for you and keep you engaged with the project over time. Even or especially when distractions or huge problems come up.
A really simple tracking ingredient that works well for me, for example, is to measure something I call executive distance: How much time has elapsed since I've done anything on the project. This distance can affect motivation, working memory, technology approach & technical debt, and so on, so it's important to track it as a way of helping you determine whether your overall plan is really working. If the xd keeps going up over time, your plan needs to change.
You may also want to look into using automation and systematization (more the latter at this stage, I'd guess) as topics to research. They require a more grosso-modo approach to some details, but in exchange you are able to design and manage a system, and this is the metaphor most people want when they need a lever (so to speak) to use on a daunting project.
Good luck to you, hope you find a way back to that project.
Mostly, I acknowledge to myself that I don't care enough to finish it into a "shipped project", and just let it go.
For me, most of my side projects are about learning and satisfying my own curiosity. The can have accomplished their entire goal without ever being "finished" in anybody else's eyes. Once I've answered "I wonder if you could do {foo} and get {bah}?", I'll mostly lose interest once I've demonstrated to myself that I can (or can't). Often I'll lose interest because in the middle of doing {foo}, I'll discover some other interesting {baz} that I want to investigate more than I want to achieve {bah}.
If you're doing your side projects for other reasons, you'll probably have different motivations. I'm not looking to fill up a portfolio of things to show off to potential employers, or trying to build passive income or bootstrap my own startup. If that what your side projects are for then shipping them actually matters. For me, shipping would be a boring but of extra crap to do after I've satisfied my own intellectual curiosity.
Allocate a certain amount of time per day eg. 4 hours in my case. Regardless of what happens, do your absolute best to hit that amount of time daily. Whether that's researching problems, applying fixes, or just writing code, do as much as you can. I used a time tracking app, and this helped me push forward and get some of my side projects done and launched.
Good luck!
Recently I have been wondering what will be my lifelong thing that I work on.
bonus: find someone that pays for what you published, and now you have a startup.
Though sometimes a deadline makes "completion" more of a certainty, if you want to complete a side project you may need to push the milestones to a conclusion in some unfamiliar way other than the well-known corporate deadline.
And completion may look very much different, you may end up with less of an MVP and more of an incredibly useful product.
So you work on it anyway, even without a clear goal all the time, you want to make progress regardless dont you?
Something good will come up in ways that will not happen if you halt.
Originally a lot of my ideas were standard SaaS websites but I later realized the core functionalities that I wanted to build can be accomplished by simpler things such as userscripts or electron apps