Migrations
Modernize the code your business relies on.
Zerg helps teams migrate languages, frameworks, and dependencies in reviewable steps. It uses tests and failures to refine the migration tools and apply what works to the next batch.
What the work produces
21 days
Durable’s key legacy module agent run, covered in our case study
Small steps
Changes your engineers can review
Behavior
Tests check the result in the application
The problem
The details are where the work lives.
The syntax changes are often straightforward. Preserving behavior across a real application is harder. Edge cases, old assumptions, and hidden dependencies turn migrations into a long-running drain on engineering time.
How we approach it
Build the checks into the work.
- 01
Define the target and capture the behavior that must stay the same, including critical user flows and failure cases.
- 02
Transform a bounded part of the code, run checks in the application, and repair the failures before moving on.
- 03
Reuse and refine migration rules and test harnesses as the work reaches the next module.
Who it helps
Engineering teams modernizing an existing product while continuing to ship and support it.
The systems involved
Migrations