You Compete Me

How it works

From a changed page to a script in a rep’s inbox.

Six steps, every one of them a background job. The interesting part is not that a model is involved — it is everything built around the model to stop it being confidently wrong.

Step one

Collection, without getting you blocked.

You give it a competitor’s domain. It proposes the pages worth watching and you approve the list. From then on it reads them on a schedule.

robots.txt, honoured properly

Full user-agent grouping, longest-match allow and disallow, wildcards, and crawl-delay. One request at a time per host. The crawler says who it is.

An unchanged page costs one 304

ETag and If-Modified-Since on every request. Most of what it watches does not change on most days, and nothing is gained by downloading it again.

Structure, not just text

Tier cards and amounts from a pricing page, entries from a feed, role families from a job board, structured reviews from JSON-LD. Twenty never-content tags and about thirty-five noise selectors are stripped first.

Step two

Did anything actually change?

This question gates every pound of model spend, so it is answered in cheapest-first order — and in an order that has been wrong before and was fixed.

Money first

Extracted prices and structured fields are compared against the untouched text, before any normalisation. Normalisation masks numbers, which is right for “is this the same page” and catastrophic for “did the price change”.

Normalised equality

Dates, counters, relative times and session tokens blanked. Most detected byte differences stop here and cost nothing.

Near-duplicate

Catches reordered carousels and lightly reworded boilerplate — then confirms with an exact measure before dismissing anything, because a false dismissal loses a real signal silently.

Score it

Change ratio, source importance, competitor tier, whether money moved. Below the threshold it never reaches a model at all.

There is a regression test named after the specific bug this ordering fixed: a page going from $449 to $549 being filed as “only volatile content changed”.

Steps three to five

Signals become a reading.

This is the product. Thirty days of a tenant’s signals go in, and what comes out is not an alert — it is a position, with its own weaknesses stated.

A taxonomy that cannot be argued with

Each kind of page may only produce certain kinds of signal, enforced in code as well as in the schema. A job board cannot report a pricing change. Without this, a careers page mentioning “pricing strategy” eventually becomes a confident claim that they changed their prices.

Deduplicate before correlating

One announcement is usually seen four ways: the blog, the changelog, the press page, a tweet. Four signals describing one event would look like a pattern, and the whole value of a reading is that it is a pattern.

Three fields it cannot omit

Why this confidence and not another. The specific observation that would prove the reading wrong. What argues against it, or an explicit statement that nothing does. All three are required by the schema, so there is no version of the output without them.

Confidence is calculated, not quoted

Capped at 45 for a single signal and 72 for two; capped again when fewer than half the signals carry a verbatim quote. The model does not get to tell you how sure it is.

The new channel

Whether ChatGPT recommends you.

A growing share of buyers never reach a search results page. They ask an assistant who they should buy from, and act on the answer. That is a ranking you are already in, and almost nobody is measuring it.

Asked the way a buyer asks

A standing set of the questions your buyers actually use, put to each engine with search enabled — because a buyer asking a current question gets a searched answer, and measuring the unsearched one measures the wrong thing.

Scored identically across engines

Each adapter only puts the question and returns the answer. All interpretation happens in one scorer, so a share-of-voice number means the same thing whichever engine produced it.

Which sources it cited

When a competitor is recommended and you are not, the citations tell you where the model got its picture — which is the list of pages worth influencing.

Step six

The work arrives already done.

The gap most tools leave is between knowing something and doing anything about it. A reading that ends in a dashboard is a reading nobody acted on.

The artefact, not the instruction

Not “you should prepare an objection handler”. The objection handler. The sales script. The campaign brief. The rewritten proposal clause.

Routed to whoever owns it

Matched to an audience, given a deadline — capped at ten days for a complaint spike, because that window closes — and delivered to Slack, Teams, a webhook or your CRM.

Rejecting it requires a reason

That reason is the only signal the system gets that it produced something which did not fit. Below 40% confidence it produces nothing at all, because acting on a guess is worse than not acting.

It is easier to judge from the inside.

Three competitors, fourteen days, no card. Point it at the companies you actually lose deals to and see what it makes of them.