I’m interested in what works for you.
(of course, here’s my version)
What I found personally, is that it’s better to work on a project in a row (“deep work”).
Scheduling time at task granularity introduces too much overhead.
Scheduling time at project or customer granularity is alright, though.
In practice, I’d say the best is a combination of SkedPal (planning) + FocusMate (inducing respect into plan) + Toggl (tracking time – are you respecting your plan?)
All of that, integrated using Make/Zapier/n8n (I’m still buliding mine)