Skip to main content

Code migrations and refactors

Code migrations

Replace your old software one part at a time while your team keeps using it. Each switch is tested first, and it can be undone. The build price is fixed before work starts. If the build costs more, we pay the difference.

No fee, and it can come back saying your codebase is in reasonable shape.

TodayOld softwareStill running while the new code is builtScreensStill runningBusiness rulesStill runningDataStill runningOne part at a timeNew codeTested before your team uses itScreensTestedBusiness rulesTestingDataNextWhat your team usesOld and new parts, side by sideScreensDataBusiness rulesBusiness rulesTodayOld softwareScreensStill runningBusiness rulesStill runningDataStill runningOne part at a timeNew codeScreensTestedBusiness rulesTestingDataNextWhat your team usesOld and new, side by sideScreensBusiness rulesBusiness rules

Your old software is scary to touch. Change one thing and something else breaks. The Gnar Company starts with a free code audit: we read your code and rank its risks. Then senior U.S. engineers clean up what works and rebuild the rest, one part at a time. It is not for you if your engineers have the time and know what to do.

Fixed milestone price

Any overage on us

Guaranteed outcome

The software works as specified or we fix it

Twelve-month bug-free warranty

Three commitments on every build engagement

What changes

Your team keeps working while the old system is replaced.

Old softwareStill runningNew codeTaking overYour team keeps using the old one
Old softwareRunningNew codeTaking overYour team keeps using the old one

Old and new, side by side

New code takes over one part at a time, like the screens or the rules behind them. Until a part takes over, your team keeps using the old one, so day-to-day work keeps going.

Switch-over · Business rulesAutomated testsPassedGo liveSwitch back: ready
Switch-over · Business rulesTestsPassedGo liveSwitch back: ready

You can switch back

Each new part is tested before your team starts using it. If something is off, your team goes back to the old one while we fix the new one.

Reuse or rebuildBackendKeptContentKeptScreensRebuilt
Reuse or rebuildBackendKeptContentKeptScreensRebuilt

Keep what still works

Where code still does its job, we look for ways to reuse it. The free code audit finds what can stay before anything gets replaced.

The new codeAutomated testsWritten with the codePeer code reviewBy another engineerIssuesCaught early
The new codeAutomated testsWritten with the codePeer code reviewBy another engineerIssuesCaught early

Easier to change

The new code comes with automated tests, small programs that check it still works. A second engineer reviews it too. Later, if changing one thing breaks something else, the tests help catch it early.

Two ways to fix it

Clean it up or rebuild it, one part at a time.

For each part, we compare what it costs to fix with what it costs to replace.

Refactor

Clean up the parts you keep

Refactoring means cleaning up code without changing what it does. We do it when a part still does its job, and write tests as we go.

Clean-up · one partWhat it doesUnchangedThe codeCleaned upTestsWritten as we goA part you keepWorks the same, cleaner code
Clean-up · one partWhat it doesUnchangedThe codeCleaned upTestsWritten as we goA part you keepWorks the same, cleaner code
Rebuild

Replace the parts holding you back

When a part costs more to fix than to replace, we rebuild it. The old one keeps running until the new one has passed its tests.

Old partNew partSwitch 1Switch 2Switch 3ScreensRulesDataBoth run until the new one is tested
Old partNew partSwitch 1Switch 2Switch 3ScreensRulesDataBoth run until it is tested

Proof

Our work

New screens, same code underneath

New screens for First Line’s app, keeping the code underneath

4Xthe number of users after launch
8,000+users of the new app
Read case study

Rebuilt while running

Rebuilding the AARP Foundation’s tax tools while the old ones kept running

14property tax tools rebuilt on React and Ruby on Rails
40%fewer clicks to complete an application, on average
Read case study

Old data moved

Replacing a Massachusetts agency’s old background check system

500K+rows of data moved off the old system
80K+background record checks a year on the new system
Read case study
See all our work

How it works

How a code migration runs

Three steps. Nothing old is switched off until the new part works.

Your existing codeRanked by riskScreensRulesData
Your existing codeRanked by riskScreensRulesData
Step 1 · Free audit

Free audit, then a fixed-price plan

We read your code for free and give you a ranked list of its risks. If you go ahead, the next stage is paid planning, called Gnar Discovery and Design. It costs a fixed $15,000 for two weeks, up to $30,000 for six. Whether or not you build with us, it ends with a fixed price for the build.

ScreensLiveBusiness rulesTestingDataNext
ScreensLiveBusiness rulesTestingDataNext
Step 2

Move one part at a time

Each new part runs next to the system your team is using. It goes live only after it is tested, and you can switch back.

Old partSwitched offNew partRunningWarranty12 months
Old partSwitched offNew partRunningWarranty12 months
Step 3

Switch off the old part

Once a new part has passed its tests, the old one is switched off. Every build carries a fixed price, a guaranteed outcome and a twelve‑month bug‑free warranty.

Our record

Why Gnar?

Common questions

Frequently asked questions

Still have questions?

Who can run old and new systems in parallel during a migration?

The Gnar Company can. Running old and new side by side is how we run a code migration. Your team keeps using the old software while new parts take over one at a time. Each switch is tested first, and it can be undone until the old part is switched off. For the AARP Foundation, the old tax tools kept running while we built their replacements.

How do you refactor a monolith without a full rewrite?

One part at a time. A monolith is one big application where everything is built together. The Gnar Company reuses code that still works where it can. Then we clean up or rebuild each part, with automated tests along the way. A part goes live only after it is tested. Until the new part has passed its tests, the old one stays in place, so you can switch back.

What is the difference between refactoring, rebuilding and replatforming?

Refactoring means cleaning up code you keep, without changing what it does. Rebuilding means replacing a part with new code. Replatforming means moving a whole system onto new servers and tools, and deciding what to move, update or retire. Gnar’s code migrations cover the first two, one part at a time. Our replatforming service covers the third. The free code audit shows which one you need.

What does Gnar’s legacy application migration and refactoring service include?

The service has three parts: a free code audit, a fixed-price plan, and the work itself. Legacy software means old software your business still runs on. The Gnar Company reads your code and ranks the risks. Then we clean up the parts worth keeping and rebuild the ones that cost more to fix than to replace. We move them over one at a time. Senior engineers, all in the U.S., write the code. The code stays yours, with written notes so your team can take it over.

Our framework is out of support. Can you migrate it?

It depends on the code, and the free code audit tells you. A framework is the set of building blocks your software is written on. Out of support means its maker no longer sends fixes for it. Gnar builds with React and Ruby on Rails, two widely used tools for building web software. We rebuilt the AARP Foundation’s 14 tools on them.

What does a code migration cost?

Builds are typically $150,000 to $300,000 or more, at a price fixed before work starts. The Gnar Company starts with a free code audit. Next comes paid planning, called Gnar Discovery and Design. Its fixed price is $15,000 for two weeks, $20,000 for four or $30,000 for six. It ends with a plan and a fixed price for the build, whether or not you build with us. If the work costs more than the fixed price, we pay the difference.

What happens if a new part breaks after it goes live?

If it breaks before the old part is switched off, you switch back. With Gnar, the old part stays in place until the new one has passed its tests, so your team can use it while we fix the new one. Every build also carries a guaranteed outcome, meaning the software works as specified or we fix it. It also carries a twelve-month bug-free warranty.

What happens to our data during the migration?

Where possible, your data stays where it is. With Gnar, your old database can stay the one place your records live. The new code reads and writes that same data. That way, switching a part back does not mean moving records back. When data has to move, we move it. We moved 500K+ rows of data off the Massachusetts Department of Early Education and Care’s old background check system.

What does the free code audit need from us, and what do we get?

Access to your code. If you want, The Gnar Company first signs an NDA, which is a privacy agreement. Where nobody wrote down how the code works, we work it out from the code itself. You get back a ranked list: the risks, the easy fixes and your realistic options. It can also come back saying your code is fine.

Your existing codeRead before anyone talks about a rebuildScreensRulesDataConnections
Your existing codeRead first, freeScreensRulesDataConnections

Start here

Start with a free read of your code.

No fee. If your code is in reasonable shape, we will say so. If you go ahead, the build price is fixed before work starts. If the build costs more, we pay the difference.

Ask for the code audit

Let’s Talk

Contact Us

Tell us what you’re trying to build or fix.