Skip to content

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.

Today

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

Day 30

Go at the core, TypeScript on the front, Postgres underneath, the old servers switched off.

  • coreGo
  • reportingGo · read replica
  • webTypeScript
  • transferSFTP · signed
We measure the dead code first and delete it. It is the cheapest work in the project, and it takes money off the price before we write a line.

From your repository to production in 30 days

A module takes real traffic only when it matches the old one on your own recorded traffic, which is how we keep the date in the contract.
  1. 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.

  2. 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.

  3. 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.

  4. 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

Our fine-tuned models translate at machine speed. What the code is supposed to mean is decided by engineers with 25+ years in production.
  • 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.

Get a quote

Ten minutes to fill in. An engineer with 25+ years in production reads it and writes back.