Skip to content

The Method

First I learn your work. Then the machine builds it.

Understanding your problem is my job and it doesn't get delegated. Once I can specify it precisely enough that a machine can be held to it, execution runs through a pipeline that refuses its own bad work — decomposed into verifiable contracts and gated twice before anything reaches you.

The failure mode
everyone has lived

Most AI-built software dies at ambiguity. The spec lived in someone's head. The demo worked. The real system didn't. Everyone involved was competent and nobody was lying — the requirements were simply never forced to be true and complete before code got written.

The gap was never typing speed. Generating code stopped being the constraint a while ago. What's left is the harder half: figuring out what is actually supposed to be true, and then proving that it is. The first half of that is human work. The second half is what machines are finally good at.

So the method splits along exactly that seam, and this page is explicit about which side every step falls on.

00

Before anything
gets built

Me, with your team

I sit with the people who actually do the work and watch how it really happens — not how the org chart says it happens, and not how it was described in the first meeting.

This is the part I don't automate, because it's the part that decides whether everything downstream is worth building. The problem as reported is frequently not the problem. A team asks for a faster report and the real cost is that three people are reconciling the same numbers by hand. Someone asks for a chatbot and what they need is for one form to stop lying to them. You only find that by being in it.

What I'm after: where the time actually goes, which steps carry judgment and which are mechanical, what happens today when something goes wrong, and which facts only you hold. That last one matters more than people expect — the ground truth about your business is never in the codebase, and a system built without it is confidently wrong.

Then I write the specification myself. Not a model, not a queue. That document is the contract everything downstream is graded against, and handing that job to a machine would be handing over the only part that requires knowing your business.

How the work moves after that

Four stages, each refusing to hand off until its own condition is met. Every one is labeled with who owns it.

01 Me — graded by the machine

Specification is an interrogation, not a collection

What I learned in discovery gets written down as a specification — by me, not by a model. Then an independent reviewer scores every claim in it against your actual codebase and systems, and refuses to let the work proceed while ambiguity remains. A spec is done when the machine that consumes it stops asking questions, not when the meeting ends.

02 The machine, from my spec

The spec becomes contracts

Approved work is decomposed into a dependency graph of tasks, each with binary success criteria, an explicit file scope, and machine-readable ordering. No task says "make it better." Every task says "this exact thing is true when you are done" — which is the only kind of instruction a machine can be held to, and the reason you can see what "done" means before anything is built.

03 The machine, gated twice

Execution runs autonomously behind two gates

Implementation happens without a human in the keyboard loop, but nothing merges until it passes both gates: deterministic checks that run identically every time — build, types, a project-specific quality scan — and a fresh-context reviewer whose only instinct is to refute the work. The agent that wrote the code never grades its own homework.

04 Me, deciding how much rope

Autonomy is earned, never assumed

The first task on any project is reviewed by hand. Broader autonomy is granted only after a clean track record on that specific codebase, and I decide how much rope the machine gets at every rung. The ladder gets climbed; it does not get skipped.

Read the labels top to bottom and you have the whole arrangement: I own the understanding and the judgment; the machine owns the execution and has to prove it. Neither side gets the other's job.

The receipts

Here is what the gate caught on my own work.

This website was rebuilt through the pipeline. Over one working session the verifier rejected the work five times, and not once was the code defective — every rejection caught a decision the work wasn't authorized to make. Each one became a permanent rule.

The point isn't that the machine is clever. The point is that the execution layer is held to a standard I don't get to wave through when it's inconvenient — including on my own site, where nobody would have known.

01

A task tried to invent its own branching strategy

The pipeline owns how work is structured. Tasks own their content and nothing more.

02

A task tried to silence a type error with a hidden global override

A shortcut that would have outlived the task and rotted quietly. Refused.

03

A task closed its own ticket before the work was verified

The board must never claim "done" before "verified." It lied within the hour, and the gate now forbids it.

04

A criterion the reviewer physically could not execute

The reviewer is read-only by design. It marked the check "unverifiable" and failed it rather than guessing — the fix was to move that check into the automated gate, not to lower the bar.

05

A flawlessly documented proof task with an intentionally empty result

Some work produces no artifact to grade. The system learned to route that to human review instead of failing good evidence.

Five refusals. Zero defective lines shipped. Five permanent lessons.

A shop that has never been caught making a mistake is a shop that isn't checking. What you want is a system that catches them and a person who publishes the list.

"I found no actual defect or scope violation — only an un-run gate."

The reviewer, verbatim, on a rejection that turned out to be a tooling gap rather than a defect. That is what verification sounds like when it is honest.

Knowing when
not to use it

The same discipline that runs the pipeline also refuses it. Judgment-heavy work — voice, design, naming, strategy — goes to a person working live, because a machine that can't judge tone shouldn't be the thing gating tone. Mechanical, wide, checkable work goes to the pipeline. Most real projects are a blend, and knowing where the seam falls is the actual skill.

The copy and voice of this page were written by a person in a live session. The verification gate that graded the rest of this site was built by the pipeline, and it still runs on every change. Both of those facts are the point.

The receipts above cost real time and real compute. I ran the numbers, learned exactly where the pipeline earns its overhead and where it's pure ceremony, and adjusted. Buying software from someone who knows when their most impressive tool is the wrong tool is the whole value.

Common questions

Do you just hand my project to AI agents?

No. I learn how your work actually happens and I write the specification myself — that part is never delegated. The pipeline executes against that specification, and everything it produces is graded by automated checks and an independent reviewer before it reaches you.

How is this different from hiring a dev shop?

A dev shop hides its mistakes behind a status update, and the person who understood your problem is rarely the person who writes the code. Here they are the same person, and every rejection the system produces is surfaced and converted into a permanent rule rather than quietly absorbed.

What does "verified" actually mean?

Two independent gates: automated checks that a machine runs identically every time, and a separate reviewer with no memory of how the code was written whose job is to try to prove it wrong.

Can this work on our existing codebase?

Yes. The specification phase reads your actual code and refuses to plan against assumptions. Grounding the work in what is really there is the precondition, not an afterthought.

What do you need from us?

Time with the people who actually do the work, access to the relevant systems, and judgment: what "better" means for your business, which trade-offs you accept, and the ground truth only you hold. The machine can execute decisions; it cannot make the ones that matter.

Is it fully autonomous?

No, and that is deliberate. Autonomy is earned per project and capped by a human at every rung. Judgment-heavy work — voice, design, naming, strategy — is done live by a person, because a machine that cannot judge tone should not be gating it.

Have something worth building properly?

It starts the way everything here starts: a conversation about the problem, and an honest answer about whether this is the right way to solve it.

Get in touch