I've gotten a lot better at "shipping" hobby projects in the last few years.
I still start a whole bunch of things and then get busy or distracted or it stops being interesting or I hit a roadblock.
But a few years ago I started looking at my existing projects and deciding for each exactly what they need to be releasable. It doesn't mean done; just a good stopping point. And I just try to get there. And then I work on what is needed to release. It's documentation, READMEs, package management, installers, logos, screen shots, etc. And I treat all that as separate project.
For some reason thinking of the release as a separate project helps me to get it done.
And it's now a process that I can repeat over and over. I have all these defined steps that I do now when I release something and it becomes easier to do. Then, at least then if I never get back to one of these projects, I have contributed something to the world.
I still start a whole bunch of things and then get busy or distracted or it stops being interesting or I hit a roadblock.
But a few years ago I started looking at my existing projects and deciding for each exactly what they need to be releasable. It doesn't mean done; just a good stopping point. And I just try to get there. And then I work on what is needed to release. It's documentation, READMEs, package management, installers, logos, screen shots, etc. And I treat all that as separate project.
For some reason thinking of the release as a separate project helps me to get it done.
And it's now a process that I can repeat over and over. I have all these defined steps that I do now when I release something and it becomes easier to do. Then, at least then if I never get back to one of these projects, I have contributed something to the world.