Upgrades and migrations
Runtimes, frameworks and databases moved to supported versions, with the way back written down first.
22 outcomes. Prices are untested starting points; work is agreed after your enquiry.
Job
Convert one small CodeIgniter 3 app to CodeIgniter 4
Inventory every route in a small CodeIgniter 3 app, convert its production paths to CodeIgniter 4, and test five key flows in depth before the site holder switches it live.
From £995 · untested offer price
Job
Move a Django 1.11 site off Python 2.7 on a test copy
A bounded existing app builds and its agreed pages, login and form flow pass on a test copy using Python 3.12 and Django 5.2; no production switch is implied.
From £1,495 · untested offer price
Job
Move one Heroku web app and its Postgres database to a host you control
Move one Heroku web app and its Postgres database to a host you choose. A backup you restore is reconciled table by table, and a cutover with a rehearsed way back is agreed first.
From £1,295 · untested offer price
Job
Upgrade one Laravel 6–10 app with its key business flows tested
Upgrade a Laravel 6–10 app to a currently supported version on staging. Inventory every route and job, then deeply test five agreed business flows before the client-controlled release.
From £1,495 · untested offer price
Job
Pull one self-contained module out of a monolith behind a tested interface
One module of a monolith gets a documented interface that every caller uses, a contract test passing on the current code and on a separate copy, and a switch that selects which answers.
From £1,495 · untested offer price
Project
Move one legacy front end onto a maintained build and replace its worst features
For one Webpack-built front end: the build moves to Vite, then up to three jQuery or AngularJS features are replaced one by one, each proved by the same browser checks before and after.
From £3,500 · untested offer price
Job
Replace one jQuery or AngularJS feature with maintained code and keep the page working
Replace one feature on a page built with old jQuery plugins or AngularJS with maintained code, proved by the same browser checks passing before and after and the rest of the page unchanged.
From £895 · untested offer price
Job
Change one column on one large table in steps, with every row reconciled and a way back
Change one column of a large PostgreSQL or MySQL table in steps while the app runs: new column added, backfilled, reconciled row by row, then switched, with the old column kept until sign-off.
From £895 · untested offer price
Job
Move one MySQL application database to PostgreSQL with data reconciled and queries passing
Move one application's MySQL database to PostgreSQL: schema converted, every table's rows reconciled, the app's queries and tests passing on PostgreSQL, and a rehearsed cutover with a way back.
From £1,495 · untested offer price
Job
Move one Express 4 app to Express 5 with route patterns and error handling tested
Upgrade one Express 4 app to Express 5: converted route patterns, removed methods replaced, async errors reaching your error handler, and a before-and-after URL table proving the same responses.
From £495 · untested offer price
Job
Move one Node.js 18, 20 or 22 app to Node 24 LTS with builds and tests passing
Run one Node.js app on Node 24 LTS: clean install from the lockfile, native modules rebuilt or replaced, the test suite and the container or CI configuration all on 24, checked on a copy.
From £695 · untested offer price
Job
Keep an old PHP website running when your host moves it to PHP 8
Make a custom PHP 7 website that nobody maintains run on PHP 8.3 or newer, tested page by page and form by form on a copy before your host switches.
Priced in a written proposal
Job
Make one WordPress plugin run cleanly on the PHP version your host is moving you to
Patch one custom or abandoned WordPress plugin so it passes an agreed PHP compatibility scan and an agreed list of functions on a staging copy at the target PHP version.
From £295 · untested offer price
Job
Move one Python 3.9 or 3.10 app to Python 3.13 with removed modules and wheels sorted
Run one Python 3.9 or 3.10 application on Python 3.13: dependencies installed from a clean environment, removed standard-library modules replaced, and the tests and named flows passing on a copy.
From £795 · untested offer price
Job
Move one Rails 7.0–7.2 app to Rails 8.1 with its key flows tested
Take one Rails 7.0, 7.1 or 7.2 app to Rails 8.1 one minor version at a time, on the Ruby each step supports. Tests and five named business flows pass on a staging copy before your release.
From £1,495 · untested offer price
Job
Add a column to a large table and backfill it safely, with a rehearsed rollback
One new column is added to a large PostgreSQL or MySQL table and backfilled in batches on a staging copy under write load, rows written meanwhile also get the value, and a rollback is actually run.
From £695 · untested offer price
Job
Convert one JavaScript module to TypeScript with strict checks on that folder only
Convert one named folder of a JavaScript codebase to TypeScript under strict checking, with the rest of the code untouched, the tests passing and the type check running in CI.
From £595 · untested offer price
Job
Get a tested, ranked upgrade plan for one app's runtime and dependencies
One repository: every runtime, framework and direct dependency checked against the vendor's published support dates, the existing tests run as a baseline, and a ranked upgrade path.
£395 · untested offer price
Ongoing service
Keep your app's runtime and dependencies on supported versions, month after month
We check one repository each month against vendors' published support dates, open tested pull requests for patch and minor updates, and warn you early when a major step is coming.
£195/month · untested offer price
Ongoing service
Keep a test run on the next framework or runtime version green, month after month
A second test run on the next runtime or framework version stays in your pipeline. Every failure cause is investigated and ends in a compatible fix pull request or a tracked reason.
£195/month · untested offer price
Project
Bring one legacy app's runtime, framework and key dependencies onto supported versions
An inventory and ranked plan first, then each agreed step taken in order, tested and accepted, until the app's runtime, framework and key dependencies are on supported versions.
Priced in a written proposal
Job
Move one Webpack single-page app to Vite with its routes, settings and tests intact
Replace the Webpack build of one browser app with Vite: every loader and plugin accounted for, environment variables renamed safely, and the same routes rendering from the new build.
From £795 · untested offer price
A need we have not covered yet?
Tell us what you need accomplished. We confirm whether we can offer a useful scope before accepting work.
Describe a custom outcome