SEO · AEO · CRO · Automation

I turn search experiments into workflows that run without me.

An SEO idea is worth something once it runs every week, measures itself, and keeps working when I am on holiday. Getting there needs APIs, version control, a schedule, and an interface a non-technical colleague can open.

15+free SEO tools built and running on this site
1SEO product shipped, with a public API
Weeklycontent refresh loop, unattended
8+years in marketing before the engineering

The shape of the work

A loop that closes itself

Weekly SEO loop: scan Search Console, pick pages, queue work, publish, then measure at four and eight weeks and feed the result back into the scan ScanSearch Console, weekly Pickranked, not clicked Queuebaseline frozen RewriteA PERSONjudgement stays human Measureat 4 weeksand again at 8 the result decides what gets picked next week EVERY MONDAY, UNATTENDED
Everything except the rewrite runs without anyone starting it. The measuring step is the one teams skip, so it is the one I automate first.

What I build

Search workflows that run themselves

Scheduled jobs that read Search Console, pick the work worth doing, queue it, and come back weeks later to check whether it worked. The measuring is the part that gets skipped, so I automate that first.

Data pipelines behind them

Google APIs, CRM APIs, ad platforms, and SERP data pulled into one place with sensible caching and clean failure. Every job degrades on its own rather than taking the run down with it.

Interfaces, not just scripts

A script only its author reads is not a system. I wrap the work in a page, a dashboard, or a tool a strategist can open without asking me anything.

Answer engine visibility

Auditing how a brand shows up in AI assistant answers, not just in ten blue links. Different retrieval, different failure modes, and worth measuring separately from rankings.

Tooling

How I use AI tooling day to day.

I work in Claude Code daily and write my own skills and MCP integrations for it. Every project I run is a git repository with instructions checked in, so an agent picks up the same context a colleague would.

What I do not do is let a model near anything expensive and unobserved. The rules that filter leads are three plain conditions a person can read. The jobs that write to a CRM run behind a human approval flag. Models draft, summarise, and sort. People approve, and the system logs it either way.

  • Git for everything, including the copy and the agent instructions.
  • APIs over exports, so the job can run again tomorrow.
  • Every scheduled job writes a log and shows its own health somewhere visible.
  • A fallback for every model call, so a failed request degrades the output rather than stopping the process.

Evidence

Shipped and running

SEO kaizen loop

A weekly scan that queues content refreshes and re-measures each one at four and eight weeks.

Read the case study

RefreshAgent

My own product. GA4 and Search Console monitoring with an API, which is the data layer the kaizen loop runs on.

Read the case study

Paid search testing

Campaigns split by intent, one variable per test, and landing page work driven by reading every lead.

Read the case study

Growth cockpit

A Rust dashboard over five systems that hands its context straight to an AI coding session.

Read the case study

Weekly reporting system

Eight channels, one script, a written summary, and a deck that builds itself.

Read the case study

Free SEO tools

Fifteen working tools on this site, each one a route in a Rust application, deployed on push.

See the tools

Working with people

Explaining the change plainly to a client.

I spent eight years in marketing before I built any of this, which is why I can sit in a client call and explain what changed in plain words. An algorithm update or a shift in how assistants answer questions is only useful to a client once it is a short list of things to do differently.

It also means I know which ideas to refuse. Most automation proposals fail on maintenance, not on whether they can be built. Choosing the three that will still be running in a year is the more valuable skill.

Confidentiality

What I withhold.

The case studies describe methods and structures. Employer figures are rounded or given as change rather than absolute values. Account identifiers, keywords, campaign names, page URLs, and anything about a named contact or deal are left out.

I will walk through any of it in detail in a conversation, at the level of method.