I agree with the consistency thing too. I built a search engine for talks (
https://www.findlectures.com), which has a UI plus lots of little scraper/ETL utilities.
If I have a small block of time (1-2 hours), I try to make 2-6 really small commits, so there is always progress.
If I have a larger block (4-6 hours) I try to build out a feature so it just works, just working on things that require that amount of time (leave all the short problems for later).
I found this also affects my decisions about what tools I use and how the software is designed. E.g. using npm libraries for UI components that are "good enough", which I might be tempted to start from scratch in a work environment. I also intentionally built an application that is easy to manage - no user accounts means no database to pay for / migrate / monitor.
I'm using Heroku to outsource monitoring/logging, and Aweber for email. Paid tools can be cheap compared to the time it would take to replace them, and if you don't pay for one of these, your side project turns into building those products as well.