Technology Services

Change It Without
Holding Your Breath.

The problem with an old system is rarely that it stopped working. It is that it still works, nobody remembers exactly how, and every proposed change carries a risk nobody can size. That fear has a cost of its own: the business stops asking for things because the answer is always that it is too risky to touch. Modernization is about making the system safe to change again, and only then changing it.

The Approach

A Piece at a Time, Not All at Once

The instinct with an old system is to replace it wholesale. That approach concentrates every risk into a single day, and it is the reason rewrite projects have the reputation they do.

Big-bang rewrite

A window where nothing is proven

The old system is switched off and the new one switched on. Between them sits a period where the business is running on something that has never carried real work, and going back is expensive or impossible.

Replaced incrementally

It never stops running

One piece is replaced at a time, each proven in production before the next begins. The system keeps working throughout, and any single step can be reversed on its own.

  • A period with no proven working system
  • Replaced and proven, still running
What Makes It Risky

Why Nobody Wants to Touch It

The age of the code is rarely the real problem. These are the things that actually make a change dangerous, and they are what we address first.

No tests

Nothing tells you whether a change broke something. Every deployment is a hope, and the only test suite is your customers.

Undocumented behaviour

Rules that exist only in the code, including the deliberate exceptions that look like bugs until you break one.

One person knows it

The system runs because someone remembers how. That is a business risk long before it is a technical one.

Unsupported dependencies

Libraries, runtimes, or platforms that no longer receive updates, which turns a routine security patch into a project.

Fragile environments

A server nobody wants to reboot, no staging environment, or a setup that exists on exactly one machine.

Manual deployment

Releases that depend on a person following steps correctly, which makes rollback slow at exactly the moment it is needed.

Where We Start

Safe to Change Before Changed

The first phase deliberately does not change what the system does. It changes what you can find out about it, so that everything after is a controlled step rather than a gamble.

Understand it

Work out what the system actually does today, including the behaviour that was never written down. This is where most of the surprises live.

Get it covered

Put tests around the behaviour worth protecting, so a change that breaks something tells you immediately rather than in a support call.

Make releases boring

A repeatable deployment and a way back. Being able to reverse a step cheaply is what makes the rest of the work safe to attempt.

Then replace

Only now does anything get modernized, one piece at a time, each proven in production before the next one starts.

Sometimes the honest recommendation after the first phase is to stop there. A stable, understood, well-backed-up old system that does its job is a legitimate place to stay, and we would rather tell you that than sell a rewrite you do not need.

How It Works

From Fragile to Maintainable

01

Assess the real risk

We look at the code, the dependencies, the deployment path, and what the business actually depends on, and separate genuine risk from age.

02

Establish a safety net

Tests around critical behaviour, a repeatable deployment, and a rollback path, agreed in writing before anything is modernized.

03

Replace incrementally

One piece at a time, with the old and new paths running side by side where that is possible, and each step proven before the next.

04

Hand it back maintainable

Credentials, documentation, and written instructions, with the system in a state your own team or the next contractor can pick up.

Scope

What Is and Is Not Included

A modernization engagement covers the work we agreed to do. These boundaries come from our Terms of Service and apply to every technology engagement.

Included in a scoped engagement

  • Assessment of the current system and its real risks
  • Tests around the behaviour identified as worth protecting
  • Re-platforming and replacing agreed components
  • Data migration and backfill where the scope calls for it
  • A repeatable deployment path and a documented way back
  • Credential turnover and written handoff documentation

Not assumed unless agreed in writing

  • A full rewrite unless that is explicitly what was scoped
  • Ongoing monitoring, maintenance, or support after handoff
  • Recovering data that was already lost before we arrived
  • Managed IT, cybersecurity monitoring, or formal security audits
  • Legal, tax, accounting, privacy-law, or regulatory advice
  • Third-party licenses, hosting, or vendor upgrade costs

You remain responsible for backups of your own systems and content unless we expressly agree in writing to perform backup work. On this service in particular we will ask you to confirm a working, tested restore before any replacement step begins, because that is what makes an incremental step genuinely reversible.

Transparent Pricing

How Modernization Is Priced

Work is priced by scope, not by the hour. You get a written scope with a fixed price before anything starts, and larger builds are split into milestones. The ranges below show where engagements typically start. On this service the assessment comes first, because until it is done nobody can estimate the rest honestly.

See Starting Prices
EngagementWhen it fitsInvestment
Fit CheckYou know the work hurts, but not yet what to build, or whether to build anything: 30 minutes to find out.Free
Custom EngagementsNew products, AI agents, private AI, custom applications, modernization and data platforms, scoped and priced in writing.Quoted in writing
Operations Automation PartnershipAfter a build: monitoring, maintenance, vendor and API changes, and small improvements.From $750 / month
Third-party costsHosting, licenses, platform upgrades, and vendor charges.Customer-paid directly

Estimating a full modernization before the assessment would mean guessing, and a guess on this kind of work is either padded or wrong. If the assessment shows the job is larger than described, we say so and re-estimate before continuing rather than absorbing it quietly or running up an open bill.

Hosting, domains, licenses, subscriptions, and processing fees stay in accounts you own and are billed to you directly by each vendor whenever practical. Where we must place an approved charge on your behalf, that amount is collected before we incur it.

See all pricing

After the Build

Every build ends with documentation and a handoff, so your team can run it. If you would rather not, a monthly partnership covers monitoring, vendor and API changes, and small improvements under its own written agreement.

See Partnership Levels
Ready to Look

What Are You Afraid to Touch?

Tell us which system everyone works around. We will assess what the real risk is, price the work honestly, and tell you if the right answer is to leave it alone.