Service

Bug fixing and legacy code rescue

Comfortable stepping into a codebase I didn't write and making it reliable again.

  • Next.js
  • React
  • Node.js
  • Python
  • AWS

Who this is for

  • Teams with a production bug nobody has managed to track down
  • Founders who inherited a codebase from a previous developer
  • Apps with failing builds, deploys, or errors that appear only in production
  • Products that need a safe way to upgrade old dependencies and frameworks

What you get built

  • A root-cause diagnosis, not just a patch over the symptom
  • The fix itself, with a test or reproduction where practical
  • Safeguards so the same class of bug is less likely to come back
  • A clear write-up of what was wrong and what changed
  • Where useful, a prioritised plan to clean up or upgrade the code

Typical engagement scope

Triage

Reproduce the problem, look at the relevant code, and give you an honest estimate before committing to anything large.

Fix and verify

Make the change and confirm it works, including checking that nearby behaviour hasn't broken.

Report and prevent

Explain the cause in plain language and suggest practical ways to stop it recurring.

Fixed-price gigs

Clearly scoped starting points with a set price, delivery time and number of revisions. Need something bigger or different? Custom projects typically start at $1,000.

Guide · 9 min read

eMudhra CA compromise: check whether your servers still trust the bad certificates

Browsers blocked the eight compromised eMudhra intermediates within days, but servers, containers and scripts trust whatever their bundled store says. Tested results for Node.js and Python, a checker that tries the real test chains, and what to update.

Guide · 11 min read

Node2Shell in Python: the Brotli bug (CVE-2026-111497) in requests, aiohttp, pyarrow and Pillow

The Brotli C decoder bug reaches Python through brotli, brotlicffi and copies bundled in pyarrow and Pillow. Fixed versions, tests showing what requests, httpx and aiohttp decode, a checker that finds every copy, and stop-gaps that actually work.

Guide · 12 min read

Node2Shell beyond Node.js: Brotli CVE-2026-111497 in Go, Java, .NET, PHP, Ruby, Linux and proxies

One C decoder, copied everywhere. A single table of every affected component (Node.js, Bun, Electron, Python, Go, Java, .NET, PHP, Ruby, Envoy, curl, Debian, Ubuntu, Alpine, RHEL), its status, how to check it and what to do where there is no fix yet.

Guide · 6 min read

October 2026 security updates: Next.js, Node.js and PHP in one place

Next.js, Node.js and PHP all shipped critical fixes within a week. One table of fixed versions, a two-minute check for each, what to patch first, and the dates coming next.

Guide · 10 min read

Next.js security update, October 2026: check and patch CVE-2026-96889

Two critical RCEs and a denial of service in Next.js: which apps are affected, a no-dependency script that checks your installed versions and features, the sharp 0.34 trap on Next.js 15, and the upgrade I ran on this site.

Guide · 11 min read

PHP2Shell (CVE-2026-109618, CVE-2026-109619): check and patch your PHP

Two critical PHP flaws allow unauthenticated remote code execution. Fixed versions, a tested script that tells you if a server is patched (including Ubuntu backports), patch steps per setup, and what to do if you cannot update today.

Common questions

Can you work in a codebase someone else wrote?+

Yes - it's a large share of what I do. Reading unfamiliar code quickly, finding where it actually goes wrong, and changing it without breaking other parts is a skill in its own right, and clients often tell me this is what they valued most.

How quickly can you fix a bug?+

Small, well-defined bugs are often quick. For anything larger the first step is a short look at the code so I can give you an honest estimate instead of a guess. You'll know the likely time and cost before any substantial work begins.

What if you can't find the cause?+

I'd tell you plainly what I've ruled out and what I'd try next, so you can decide whether to continue. Hard-to-reproduce bugs sometimes need better logging first; I'll suggest that when it's the right move.

Related services

Stuck on a bug or an inherited codebase?

Send me the error or describe the symptom. Free first look, clear estimate before any work starts.

Book a call