Imagine the application you have written a few months ago has become unmaintainable and messy. What would you do in such situations? Improve it or re-write it?
What would be your decision and why?

If it happened a few months ago, then it obviously didn't take 12 months to write, so throwing in some over-time and rewriting it shouldn't be that big of a trainsmash - obviously re-using bits and pieces of that software that can still be salvaged.
If it's completely unsalvageable and the developer who caused the mess made a mess before, I would seriously consider getting rid of that developer for the sake of the startup, startups can't afford one developer keeping the startup back.
For a startup my instinct would be to re-write, but of course you have to consider the impact on income first. The cost of putting sticking plaster over a badly designed application both in terms of development hours and customer/support issues can very easily become too much for a small company to bear. I cannot stress the need for a proper design, properly structured code and simplicity in the beginning for a (software ?) startup.
You've to actually measure the cost for maintenance ('if we rewrite it, would it be cheaper and less time consuming than trying to do little fixes on a long term?'). Do your users need the fix or notice the messiness? I think there are three things you have to consider for making a choice: 1. Cost 2. Needs of users 3. Time. If in a long term it would be cheaper and will be faster than doing little patches and bug fixes without affecting the users then you should rewrite but don't throw away all of the code. By now you should know which parts of the code work and which don't. But if it needs to be done quickly for the sake of the startup and users then perhaps you should just try to improve it and when it's safe to do it, rewrite it.
We've struggled with rewriting generally. Make sure if you do decide to rewrite that you commit to you and don't stop half way. What happened to us is we stopped half way, and when we decided again to continue what was done was old tech, and the people developing it had left so getting someone new into a half-developed solution was impossible.
Sean Ryan
Husband, Father, User Experience Lead, Music Lover, Occasional Gamer
From the user side, does the app work? And are those users generally satisfied?
If the answer to both of those questions is "yes," then a wholesale rewrite could bring about issues that could put those users in jeopardy in terms of satisfaction and loyalty.
Couple that with the fact that rewrites ALWAYS take longer than estimated, the safest bet is to refactor in chunks, either as you jump in to that code to add a new feature, or as a stand alone "let's refactor" issue.