Server engineering

cPanel hosting fleet migration

Moving a set of cPanel accounts onto new infrastructure, websites, databases, mailboxes and DNS, with the cutover planned so downtime stayed in minutes.

WHMcPanelIMAPSyncrsyncCloudflare DNSCertbot

The problem

Describe why the move was needed: end-of-life hardware, cost, performance, or a provider change.

Approach

  • Full pre-migration inventory: domains, DNS records, mailboxes, cron jobs, SSL certificates, PHP versions and anything living outside the account home directory.
  • Accounts staged and verified on the destination server under their real hostnames using local hosts-file overrides, before any public DNS change.
  • TTLs lowered several days ahead so the cutover was reversible within minutes rather than a day.
  • Mailboxes synchronised with IMAPSync and a dual-delivery window, so mail arriving at either server during the switch was retained.
  • Post-migration crawl compared against the pre-migration URL list to confirm no page had quietly started returning a 404 or the wrong redirect code.

More work

Backend & infrastructure

Multi-tenant Laravel platform

A Laravel application serving multiple client organisations from one codebase, with per-tenant data isolation and queued background processing.

LaravelMySQLRedisHorizon +2
AI engineering

Retrieval-grounded support assistant

A support assistant answering from the organisation's own documentation, with citations on every answer and a clean handover when confidence was low.

Claude APIPythonFastAPIpgvector +2
Performance engineering

E-commerce performance rescue

A WooCommerce store where the caching plugin had been maxed out and the site was still slow, diagnosed to the actual bottleneck rather than the assumed one.

WooCommerceMySQLRedis object cacheCloudflare +1

Something like this on your plate?

Describe the situation and I will tell you how I would approach it.

Start a conversation