Batch by type of work. Thinking work, like data model decisions or working out what a screen should do, is terrible in 45 minutes and fine on a Saturday morning. Mechanical work, like writing a form or fixing a known bug, fits a weeknight perfectly.
Spend the Saturday deciding and the weeknights executing. Trying to decide something structural at 9:40pm is how the whole session goes to reading old code.