I would spend an entire day "pre-programming" everything in my head, estimating the length of each little chunk, adding them up, then multiply by ~2.
It worked for me. But I still would never trust the estimates.
'How long did a project this size take last time?'.
As an aside, years ago I worked at a company that did thorough (and inaccurate) bottom-up schedules. I got dinged for not using quarter hour accuracy in the various task estimates.
I would spend an entire day "pre-programming" everything in my head, estimating the length of each little chunk, adding them up, then multiply by ~2.
It worked for me. But I still would never trust the estimates.