The initial burst of inspiration is always exciting: you've got a novel idea, there are no restrictions, no deadlines, no requirements. You don't care about bugs or beauty, just about making things happen. You could even abandon the project and it wouldn't affect anyone.
But the last 20%… I usually struggle with that last sprint. You need to handle the boring aspects of the project only to make it solid enough to launch and "decent" enough to share. This happened with CSS Reference [1]: very excited at the start about the concept, but then I had to go through all CSS properties one by one, and it took a very long time.
My most successful side projects are actually the ones that were quick to start and quick to finish. I had the idea for a "Web Design in 4 minutes" tiny project once [2], and for a few days, I couldn't stop thinking about it. I managed to design and code it rather quickly (as a result, several bugs still exist, but at least it was launched).
In comparison, "JavaScript in 14 minutes" [3] took me months, and I was dreading not being able to finish it. It was in the end less successful.
[1]: https://cssreference.io/ [2]: https://jgthms.com/web-design-in-4-minutes/ [3]: https://jgthms.com/javascript-in-14-minutes/