But also that Flow state is often a bad way to write code.
One, virtually everyone has a tremendous case of Sunk Cost Fallacy around things done in Flow state. If someone spent 10 hours in a week working on code that you say is badly conceived in a code review, you'll get pushback and grumbling. Argue with someone who did the PR in a single sitting? They will fight you. Hard. This is the most amazing code ever written (because I felt amazing while I was writing it). The rush goes to their heads.
Two, writing code for other people requires empathy. Rumination. Flow state is considerably absent of both of those. So the problems and gotchas you know about ahead of time get handled, but anything you find along the way is very likely to get ignored. The quantity of your code goes way, way up, the quality goes considerably in the other direction.
I made a conscious decision a while back (making official an unconscious one I'd already made) to stop seeking out Flow state. I felt better, but objectively, it hasn't done me any huge favors professionally. From a practical standpoint, me writing less code means that people who write more baroque code than I do at my worst get to set the narrative for larger slices of the codebase. But I've also done something I hate: reason that if a lot of something is bad, none of it is better.
I need a new plan, and I need it bad.