I do something similar to Flowtime but without the bookkeeping: Orodomops.
Set a stopwatch going but out of sight. When you run out of steam check it. If it’s been less than 25 minutes keep going. If greater, have a break scaled to the time you worked.
I started doing this because I couldn’t get on board with breaking up the work I enjoyed doing, but I recognized the utility of having breaks when that wasn’t the case.