Service / 08

Slow.
Messy.
Made sane again.

Senior freelance support for fixing slow apps, cleaning up risky codebases, and removing the technical friction that keeps delivery slower than it should be.

Audit + implement
Performance & Technical Debt
— Senior delivery— Direct line— No middlemen

Service / 08 / Capabilities

What's covered.

Core Web Vitals fixes

LCP, INP, CLS, bundle size, render blocking assets, hydration issues. The work that makes real pages feel fast again.

Refactoring without the rewrite

Untangling risky areas of the codebase in stages. Safer than a big rewrite and easier to explain to the rest of the team.

Delivery bottleneck cleanup

CI friction, flaky tests, unclear boundaries, repeated manual work. I remove the technical drag that slows teams down every week.

Pragmatic audits

Not a 70-page report no one reads. A ranked list of the issues worth fixing first, with enough detail to act on immediately.

James Donnelly, freelance developer

10+ years senior delivery

Why me

Senior delivery you don't have to project-manage.

Some teams need a new feature. Others need someone to make the existing system feel sane again. This work is for the second group — pragmatic audits, staged refactors, and measured improvements rather than a 70-page report no one reads.

  • Pages feel slow even after basic optimization
  • Codebase is messy but no one owns the cleanup
  • New features take longer than they should
  • Performance regressions keep coming back
  • Team is avoiding fragile parts of the app

Engagement / Snapshot

A typical performance & technical debt engagement.

Lead time

<7

Days to start, contract permitting

Length

4-12

Weeks for fixed-scope work

Reply

<24

Hours, every working day

Day rate

POA

Quoted per engagement

FAQ / Performance & Technical Debt

Frequently asked

Q · 01

Do you only do audits?

No. I can audit first, but I usually stay to implement the fixes so the work actually lands.

Q · 02

Is this suitable for an existing team?

Yes. This is often most useful for in-house teams that need extra senior capacity to clear a backlog of hard technical work.

Q · 03

Will you recommend a rewrite?

Only if the current system is genuinely costing more to preserve than replace. Most of the time, staged cleanup is the better call.

How I work

Remote-first. Async by default.

Inspired by Remote and the way Basecamp ran a distributed team without burning anyone out. Meetings are expensive, writing is cheap, and momentum belongs to whoever can make a decision without a calendar invite.

01 / Specs

Specs before code

A short written spec covering problem, scope, and acceptance before anything gets built. Cuts rework, makes review easier, and means we never argue about what was agreed.

02 / Workstreams

Workstreams over standups

Active work lives in tickets and PRs with running notes. Async updates instead of daily standups, so deep work is the default and meetings only happen when they earn it.

03 / Loom > Zoom

Loom over meetings

Most reviews and walkthroughs go out as a 5-minute Loom you can watch at 2× when convenient. We jump on Meet / Zoom / Teams when the topic actually needs a conversation.

Channels / Tools

  • Slack

    Async, threaded, no expectation of instant reply

  • Loom

    PR walkthroughs, demos, design reviews

  • Google Meet / Zoom / Teams

    Booked when conversation > writing

  • Linear / Jira / GitHub

    Source of truth for the work

  • Notion / Docs

    Specs, decision records, retros

James Donnelly, freelance developer in Manchester

The pitch

I write the code, talk to your team, and ship what we agreed. No agencies. No PMs. No surprises.

James Donnelly

Freelance developer · Manchester