legacy rewrites
Legacy application modernization: rewritten and live in 30 days
There is a server in your building nobody dares reboot, and everyone knows which one. We take it, rewrite it into Go, Rust and TypeScript with engineers who have 25+ years in production, and you are live in 30 days.
Send the stack today. Within 48 hours an engineer comes back with a fixed price and a start date.
PHP 5.6, a VB6 client, a Java core only one laptop can build, and the server nobody reboots.
- app.phpPHP 5.6
- legacy.dllVB6
- reports.cfmColdFusion
- crystal reportsunsupported
- ftp-dropplaintext
30 days, with the old system serving production every one of them
Go at the core, TypeScript on the front, Postgres underneath, the old servers switched off.
- coreGo
- reportingGo · read replica
- webTypeScript
- transferSFTP · signed
From your repository to production in 30 days
- 01days 1–4
Map the whole system
The platform reads every line: call graph, scheduled jobs, external interfaces, and the dead code, measured. By day 4 you hold a module map and a plan with a date on every phase.
- 02days 3–7
Put in the seam
A boundary that production traffic passes through, so old and new code run side by side and we compare them. Your users see nothing change.
- 03days 6–25
Rewrite module by module
Each module ships behind the seam, replays your recorded traffic and takes over when the outputs match. Your team keeps shipping features the whole time.
- 04days 24–30
Switch off the old system
We delete the old code, cancel the licences and power the servers down. From day 30 you maintain one system, and the invoices for the old one stop.
Our platform translates, our engineers decide
Reading the whole codebase and building the call graph
Platform
Including the dialect nobody supports and the file that has been generated since 2009.
Measuring dead code
Platform
Static reachability plus your production traces. Whatever never runs gets deleted, and the price drops with it.
Translating each module into idiomatic Go
Platform
Machine first pass, reviewed as a pull request, rewritten by hand wherever a reviewer stops following it.
Deciding which behaviour is a bug and which is a rule
Engineer
The system has rounded the same way for twelve years and someone downstream built on it. We find that someone.
Parity harness and data reconciliation
Both
Capture, replay and row-level reconciliation are ours. Your side signs off on which differences are intended.
Cutover and rollback
Engineer
We pick the night, hold the pager and write the rollback before anyone needs it.
Every module passes a senior engineer before it takes a single request, so on day 31 your team owns code it can read.
The best engineers you can put on this system
Our engineers have shipped production code for more than 25 years, and they are the best people you can put on this system. VB6 and Delphi desktops, Classic ASP and ColdFusion, PHP 4 monoliths, Perl cron jobs, PL/SQL packages, Oracle Forms, Java that predates Maven: dozens of migrations, all landed in Go, Rust and TypeScript. Your dialect is one they have rewritten before.
Fixed price before we start, the go-live date in the contract, and the code is yours. A phase that misses parity on your own recorded traffic is not accepted.
What CTOs ask before they sign
Can my team keep shipping features during the rewrite?
Yes. Features go into the old module until the day it is ported, and the parity harness catches anything that changed under us. Your release calendar stays as it is. Send the stack today, and the plan you get back shows which module moves on which day.
Why rewrite when we could refactor what we have?
Refactoring keeps the runtime that is out of support, the toolchain that lives on one machine and the hiring problem that comes with both. A rewrite removes them, and it is done in 30 days. Send the stack today and within 48 hours you can put our fixed price next to another year of patching.
Will machine-translated code be something we can maintain?
Yes. Each module is generated as idiomatic Go, reviewed like any pull request and rewritten by hand wherever a reviewer stops following it. Your engineers review the first module themselves before we go on. Get a quote and pick the module they will judge us on.
Our system is well over a million lines. Does 30 days still hold?
Yes. The platform reads a million lines in one pass, and we split the work into phases that each land on a date. Size changes how many engineers we put on it. The 30 days stay. Send the line count today and get the phase plan with a price on every phase in 48 hours.
How can you fix a price on code you have barely seen?
The platform measures module sizes, coupling and how much of the code still runs, and the price comes from those numbers. Engineers with 25+ years in production check them before the figure goes to you. Send the system today and the price and start date are in your inbox within 48 hours.
Send us the system today
Tell us the stack, the size and the date that is forcing this. In 48 hours you have a fixed price and a start date. In 30 days the new system runs in production and the old one is switched off.
Ten minutes to fill in. An engineer with 25+ years in production reads it and writes back.