I'm generally skeptical of outsourcing development in technology startups, although I have seen it work in rare occasions. Outsourcing your core competency is risky, and if you're a tech startup, your core competency (and what you will be competing on) is tech. If that's outsourced, you have little or no control over it.
This article presents an outsourcing horror story, but makes a larger point that applies also to projects without any outsourcing. "We're nearly there" is a cruel misconception. Admitting mistakes and fixing them for the long term is almost always better than assuming that the next corner will be the right one and all the problems will be left behind.
Problems only accumulate unless you take the time to actively fix them.
Of all the lessons learned in this process the most important one is never to stop asking yourself if you are being a frog. Keeping going on the false promise of "we're nearly there" is lethal. It leads to the equivalent of a startup killing death spiral that can suck up all your most valuable resources: morale, money, focus and worst of all, time.