I generally try to get as much work done (in life) as I can. Some projects I can work for 12 hours a day on, others I'm tapped out at 6, so I just maximize output. If output is below the debugging cost of that code or something, I stop. Could be 2pm or 10pm.
Do you think this approach applies if you’re trying to save energy to work on side projects? I feel like if I work as hard as I possibly can at my day job, at the end of the day I’m not left with much juice left to work on the things I actually care about.
This is a place where having an awareness of what is important at your job can help. You described a process of adding features and fixing bugs. If you ever want to achieve balance, understanding the value of a feature so that you can determine what actually needs your time is important. Then, it's not about quantity of your time and effort that matters, but how much value you are adding.