Things that are impossible just take longer.
The first step of any project is to grossly underestimate its complexity and difficulty.
Later equals never.
Le Blanc's law
Features, quality, time: pick two.
The sooner you start to code, the longer the program will take.
Estimate always goes wrong. That too in one way.
After you finish the first 90% of a project, you have to finish the other 90%.
Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.
Source code available @ githubpull requests are more than welcome ;-)