Linux systems and hosting engineer. Blackpool, works remotely.
I look after servers for a living and have done, one way or another, since 2007. The last few years have been web hosting: two and a half years as the senior escalation engineer at Sub6 (Clook Internet), across 350+ cPanel/WHM servers and around 35,000 WordPress sites, then RedRaw Travel, where I built the dev, production and standby servers from bare Ubuntu installs and co-develop the Laravel platform that runs the business on them.
I'm the person the ticket comes to when first and second line are stuck. I like finding the actual cause, fixing it so it stays fixed, and writing down what happened so the next person doesn't have to work it out again.
Illustrative output from two scripts I wrote and run for RedRaw: the DR monitor that checks replication, tunnels and backups every five minutes, and the certificate watchdog that covers both certbot and acme.sh.
RedRaw takes card payments, so the production server gets a quarterly ASV scan from SecurityMetrics. In June 2026 it failed. The box had an sshd with a spoofed version banner, left by a previous admin, and the scanner wasn't fooled.
I built OpenSSH 10.3 from source with the PGP signature checked, installed it under /usr/local with a systemd drop-in so an apt upgrade couldn't quietly put the old one back, smoke-tested it on a spare port before swapping, removed the SHA-1 MACs, and closed the websocket and PowerDNS ports that had no business being public. It passed on the rescan. The version-string false positives it still throws get a written dispute each quarter.
JM3 is the system the whole business runs on, so losing the database isn't an option. I built a warm standby on a second provider: MariaDB replicating over a WireGuard tunnel using GTIDs, code and uploads synced from production, and restic backups off-site (database every 15 minutes, everything nightly).
A monitor checks replication lag, whether the replica is actually applying anything, and whether the backups ran, and pages me by SMS and email when something's wrong. The failover, reseed and secrets-recovery procedures are written down so someone who isn't me could run them.
In August 2026 we moved JM3 from a shared OVH VPS to a dedicated Hetzner server. I did the hosting comparison, wrote the build as repeatable Bash scripts (nginx, PHP 8.3-FPM, MariaDB, Redis, systemd units, Postfix with DKIM), rehearsed the data import on a day-old copy, and set a benchmark the new server had to beat before DNS moved. p95 response time went from 146 ms to 89 ms.
On the day I found Hetzner blocks outbound port 25 on new accounts, and moved mail to a relay before go-live rather than after.
An OpenLiteSpeed upgrade on the dev server broke the SSL listener maps, so browsers on the office network got the wrong certificate and pages hung. I traced it with openssl s_client, fixed the maps, rolled back to the previous version and pinned it, and added the IPv6 QUIC firewall rule that was missing. Then I wrote it up.
I'd rather you knew I make mistakes and fix them than think I don't make any.
I run Blackpool Web Design, pay-monthly WordPress sites and reseller cPanel hosting for 13 local businesses, and co-founded Snap The Day, an event photo booth company whose booking platform, boothzen.com, I built and host on my own Ubuntu server (OpenLiteSpeed, PHP-FPM, MariaDB, Redis, Cloudflare).
Before all of this I spent eight years as a police officer in Manchester, including the Arena attack in 2017 and a deployment to the British Virgin Islands after Hurricanes Irma and Maria. It's where I learned to stay level when things are going wrong and to write things down properly.
Email is best: [email protected].