Firstly.
> 5. You also would like to ship it ASAP too.
Take that away from your mindset immediately! You can't do anything ASAP. I am a firm dis-believer of, "I can build it in a weekend".
Take a bit of paper and actually map out the project. Break it down into small pieces. Now start to work on the first piece, then take a break if needed. When you start again, work on the next.
Doing things this way, gives you multiple benefits:
1) allows your brain to focus on the task at hand. Otherwise it starts to focus on the entire project and thats when you short-circuit.
2) gives you a sense of accomplishment and you see your project go from start to finish.
3) allows you to easily come back to the project if you decide to take a long break from it.
It's also important that if you see things that you want to change. STOP! Take out another piece of paper and write down things for version 2. Now carry on with the work.
It's also worth mentioning, perhaps to keep some kind of journal with notes. So you can tell yourself things to investigate should you come across them in dealing with a problem.
Once you have finished and shipped version 1. You can then decide if you want to start again or wait until other things happen. Such as a community forming, you get stars on github, do a show HN. Whatever the ultimate goal is for the project.
Or you can decide to write another side project.
Ultimately, it's your time. Learn to use it well.
Btw, this is coming from someone who has built 40 side projects that easily could be their own SaaS start-ups thus far.