The instinct to rewrite a legacy system from scratch is understandable, and usually wrong. Rewrites fail for a predictable reason: the old system encodes years of decisions nobody remembers making, and a rewrite has to rediscover all of them under a deadline.
We favor incremental replacement behind a stable interface, moving one capability at a time while the legacy system keeps running. It's slower to start and faster to finish, and it never puts the business in a position where both systems are broken at once.