I broke it down into components and individual tasks, then put estimated hours against each one, then put it all into a giant spreadsheet, to track planned vs actual times.
If I remember rightly, it totalled about three months of elapsed work time. And it took me over a week to compile the estimate.
I also remember that I hit the predicted end date to within two days.
But the interesting bit was each individual task was inaccurate - lots were wildly underestimated, balanced by those which were wildly overestimated. Stuff like things I thought would take a day taking 15 minutes, other things I thought would take an hour taking a week.