Say good bye after 6 months
I've worked on many different projects and I didn't want to finish many of them. I continually wanted to improve the systems by making them easier to use, adding more functions and continue to refactor the code.
The problem is once we have created the base of the product, it is hard to make significant changes. We are confined to the limitations that we built in the first place. What this means is that no matter how long we spend on the project, we will get to a point where it improves at a very slow pace. Once you hit this point, you should give up.
After around 6 months you should think about if the project is worth pursuing. Start something new, think of new ideas and take a break. If you come back to the original project after a couple of months, you'll see a lot more than when you were originally involved in the project. You will see new ways of doing things and be able to recognise the mistakes you made.