BrightPocket Software

Our method

Preserve what works. Fix what matters. Launch with evidence.

The same ten steps on every engagement, in the same order. The order is the point: reproduce before diagnosing, diagnose before repairing, verify before claiming anything is fixed.

  1. 01

    Reproduce

    Make the problem happen on demand. A fault that cannot be reproduced cannot be verified as fixed.

  2. 02

    Baseline

    Freeze and record the starting state before anything changes, so the work can be compared against it later.

  3. 03

    Diagnose

    Find the actual cause with evidence. Symptoms get captured; causes get named.

  4. 04

    Prioritize

    Rank findings by real business risk, not by how interesting they are to fix.

  5. 05

    Preserve

    Identify what already works and protect it. Most of a stalled codebase is usually fine.

  6. 06

    Scope

    Agree the smallest responsible piece of work with explicit acceptance criteria and exclusions.

  7. 07

    Repair

    Implement only the agreed work, in small reviewable changes.

  8. 08

    Verify

    Prove the repair with tests and evidence — in the environment that actually matters, not only on a laptop.

  9. 09

    Document

    Record what was wrong, what changed, what was deliberately left alone, and what remains unverified.

  10. 10

    Handoff

    Leave the work maintainable by someone else, including the next developer who is not me.

Why this order

Most of the value is in the first four steps

The temptation with broken software is to start fixing. It feels productive and it is usually wrong, because a fix applied to a symptom moves the problem rather than removing it.

Reproducing first means we can prove the repair later. Freezing a baseline means there is something to compare against. Diagnosing before prioritising means the ranking reflects causes rather than noise.

By the time we reach Repair, the hard thinking has been done and the work is comparatively mechanical — which is exactly how it should feel.

Verify means verify where it runs

A passing local test suite proves that the software works on the machine that built it. Hosting platforms apply their own defaults for permissions, configuration, and environment, and those differences are invisible locally.

We verify in the deployed environment. In our own demonstration, one entire class of permission defect existed only once the application was hosted — and every local check was green throughout.

Document means document honestly

A delivery report records what changed, what was deliberately preserved, and what could not be verified. That last section is the one that matters most, and it is the one most often left out.

Working with us

What you can rely on

No automatic rewrite recommendation

A rewrite gets recommended only when evidence supports it. Preserving working code is the default.

No free disguised code audit

A free conversation identifies the problem. Investigating the cause is paid work, and it is priced up front.

No silent scope expansion

Scope changes are raised and agreed, never absorbed quietly and billed later.

AI output is not proof

AI accelerates delivery. It does not replace verification, and it is never the accountable party.

No production changes without authorization

Access is not permission. Production work happens only when explicitly agreed.

Candid reporting

What could not be verified gets stated plainly, including when that is inconvenient.

See the method applied end to end

The ClientFlow case study walks through all ten steps on a real codebase — including the finding we did not expect to have.