“Rewritten from the ground up”.
Please. Your old version mostly worked, except for those few corner cases that I’d learned how to work around. Now I don’t know whether the stuff that did work does work now, and I don’t know that I’ll find that stuff in the same place any more.
There’s a reason that old, crufty code in the core of your application was old and crufty. It is old because it works, well enough to pay the programmers who work on maintaining it and building the new things. It is crufty because the problem you’re trying to solve was not perfectly understood, is still not perfectly understood, and is evolving.
Your old, crufty code contains everything you’ve learned about your problem and your customers. And now you’re telling me that you’ve thrown it away.
Three companies I’ve worked for decided to “throw it all out and rewrite it” because of reasons. All were surprised that it took a lot longer to ship, and all have gone out of business.
I’ve been involved in three major rewrites, sometimes enthusiastically, sometimes reluctantly (for the reasons given here). All were huge successes, and in each case the rewrite was warranted.
Not trying to negate the advice, which is solid. Just saying that it’s complicated.