It all comes back to enthusiasm for what your doing. Consider this the “fuel” that drives you to build stuff.
Since building this stuff takes some energy, you “burn your enthusiasm” as you go along. If your project takes longer than your initial enthusiasm drove you to start it, you might need to start “burning” something else. For example, you could start pushing yourself through some kind of “fear”, IE fear of failure, fear of not getting the job, fear of other people’s judgement, etc etc. This might be a helpful thing in some situations, but generally it can be a negative as very few of these scenarios are actually as bad as you think they are.
Once you complete the project, your relief is you taking your foot off the pedal so you can finally relax without feeling like “you didn’t finish it”, or “gave up” or some other similar feeling. If you feel exhausted that might mean you were “burning” some other thing, and in the process pushing things much farther without that initial enthusiasm.
So there are a few ways to address this “problem”.
Don’t push yourself as hard, rather work only off that enthusiasm. So even if you feel tired, if your tired because you just love doing what your doing, it turns into a good tired. Not an exhausted tired. If you don’t feel enthusiasm for what your doing, then just pause the project and find enthusiasm from something else, or for another project.
Another option is to just find ways to “re-energize” that enthusiasm for what your doing. This is where that “do what you love” term comes from, if you love what your doing, you’ll be willing to keep doing it. I’m not saying you need to 100% love what your doing, but you should find some kind of drive to help push you through doing this stuff.
Put simply software development is a grind. It requires a lot of energy, time and effort. Being able to “stick with it” requires a lot of investment, so knowing how to “pay” for that investment is how you can sustain yourself over time.
Finally I want to point out that there is more to live than focusing on 1 thing all the time. If that 1 thing is work/development/whatever, I’m sure there are other things you can enjoy just as much and be able to take a break from that 1 thing. The idea developers are 100% always working, studying, building stuff is a fake narrative. I’m sure some strive for it, but I don’t find that as enriching.
Go outside, breath the air, watch the clouds, read a nice book, spend time with family and loved ones. Let those moments in life recharge you