Replatforming without ruining product quality
Lift and Shift: When It’s the right move, and when it’s a trap.
or rather 'Lift and Shift': When It’s the right move, and when it’s a trap!
Replatforming is one of those decisions every product team eventually faces.
Your tech stack ages. Frameworks become legacy. Performance bottlenecks creep in. Hiring gets harder. Shipping slows. At some point you realise:
We can’t build the future on what we built in the past.
So the classic question appears:
👉 Do we rebuild from scratch, or do we “lift and shift”?
A lift and shift, taking your existing product experience, migrating it onto a new stack, and changing as little as possible, is often framed as the “safe” or “quick” option.
But like most “quick options” in product, it carries hidden risks.
In this post, I’ll break down:
- The real pros and cons of a lift and shift
- How it affects product management, engineering, and design
- Where teams go wrong
- How to do it safely
- And when it’s absolutely the right move
Why teams choose lift and shift
Here are the most common reasons I hear from CTOs, PMs and Heads of Design:
1. You need to escape a dead framework
- AngularJS → React.
- Old PHP → Node.
- JQuery spaghetti → literally anything.
Legacy frameworks make hiring hard, slow down delivery, and block modern tooling. A replatform becomes a business necessity.
2. You need backend or infrastructure freedom
Cloud migrations, monolith → microservices, or even regulatory changes. Sometimes the platform needs to change simply to reduce future risk.
3. You want to stop patching and start shipping
A lift-and-shift is often used to create a clean foundation before tackling UX/UI debt.
4. You don’t want to redesign everything at once
Doing design, product logic, and technical migration together is a recipe for scope creep. These are valid reasons. Sometimes, you genuinely just need a better foundation.
But there’s another side to this.
Where lift and shift goes wrong
Most teams underestimate the hidden risk of lift and shift: You’re copying yesterday’s decisions into tomorrow’s system.Which leads to…
1. Copying bad UX, bad flows, and bad assumptions
If the current product isn’t perfect (and it never is), migrating it as-is locks in your blind spots, and often makes them harder to change later.
2. Loss of quality during translation
Parity is harder than it sounds.
- Teams miss edge cases.
- Micro-interactions disappear.
- Accessibility regressions happen silently.
3. “We’ll fix it later” turns into “we never fixed it”
Once the migration is done, leadership often thinks the job is finished. The cleanup never gets prioritised.
4. You burn the same amount of effort as a redesign - without getting the benefits
Design teams especially feel this. Engineering changes everything, design changes nothing… until the last minute.
5. You build on new tech with old ways of thinking
A React codebase with 2016-era UX thinking is not innovation.
Why this matters for product teams
Replatforming is not a technical decision. It is a product decision. A lift and shift impacts:
Product Management
- Roadmap freeze
- Conflicting definitions of “parity”
- Misalignment on what “MVP for migration” means
- Decision debt resurfacing
- Stakeholder pressure for simultaneous redesigns
Design
- Dragging legacy patterns into a new UI system
- No opportunity to address friction
- Accessibility and usability regressions
- A rushed “copy-paste” mentality
- Zero time for discovery
Engineering
- The temptation to “fix” old decisions mid-build
- Under-scoped backend logic
- Increased risk of bugs in core flows
- Surprise performance differences
The irony?
Lift and shift often creates more risk than teams expect - not less.
So, when is a lift and shift actually the RIGHT move?
When the platform is holding you back more than the product
If your architecture is a handbrake, replatforming first is smart.
When hiring is blocked
If you can’t hire Angular talent but can hire React talent, that’s a business constraint.
When your UX is fundamentally sound
Some products have strong UX but weak infrastructure. This is the cleanest case.
When you treat lift and shift as a platform reset - not a redesign
And you plan a future design/UX improvement cycle afterwards.
How to do lift and shift properly - without losing product quality
1. Run a parity audit before writing a line of code
This is non-negotiable. You've got to map:
- What must stay
- What can be improved
- What must not be replicated
- What UX debt you refuse to copy
This is where product + design lead, not engineering.
2. Define “migration MVP”
Migration MVP is not the same as product MVP. Migration MVP answers:
- What must work on day 1?
- What can be deferred?
- What can be removed?
- What absolutely cannot break?
Get stakeholders aligned or expect chaos.
3. Use this moment to fix invisible problems
UX designers know the gaps that tech teams don’t. Bring them in early.
4. Create a Design Parity Framework
Three simple categories:
- Exact parity - must match today
- Enhanced parity - allow small UX improvements
- No parity - intentional deletion of poor experiences
5. Build a “replatform hit list”
These are small wins you can safely address mid-migration:
- Button hierarchy
- Accessibility basics
- Form validation patterns
- Error messaging cleanup
- Navigation consistency
These changes cost pennies, but prevent shipping old pain.
6. Plan a post-migration UX cycle before beginning
Do not let “later” vanish. Book a discovery and redesign phase upfront. Lock it in leadership calendars.