AI search · A named line from bvd

Somebody gets recommended in your category. Right now it isn’t you.

When a buyer asks an assistant which supplier to use, it does not return ten links. It returns three or four names and a reason for each. That answer already exists in your category, and it is being given hundreds of times a week without you in it.

150 questions5 repeats each2 assistants under contractMethod v1.0, published3 engagements at a time

Measuring it is the easy half

Plenty of tools will now tell you whether an assistant mentions you. Most of the time the answer is no, and knowing that changes nothing on its own.

The work is the other half: being the business the machine reaches for. That means making your identity resolvable, making your pages readable by something that is not a person, and putting answers where the assistants actually look — then measuring the same questions again, the same way, and showing you what moved.

We built the scanner. The fixes in a plan of ours are fixes we can ship ourselves, which is the part most search agencies cannot say.

How an engagement runs

13 names · Eleven years · Four still running

Every name above is a system we built or still run. Clamp Bros has been on our invoicing system since 2015. Ask for the reference and we will give you a phone number.

Register A · Systems

What we built, and when

Not a portfolio. A register of what runs, who it runs for, and since when.

SystemSectorWhat it doesFrom
WebThreat.ioCyber SecurityDesign and development of an innovative SaaS product for next-generation threat detection and management.2025
Null ConsolidatedEdTech / SecurityComprehensive LMS system and website built to facilitate cyber security skills training and certification.2025
Babu OnlineHealth & FitnessA bespoke coach management SaaS and mobile application enabling seamless client tracking and program delivery.2021 — Present
Whitford ReclamationRetailModern UI overhaul and custom functional plugins for an architectural salvage e-commerce platform.2019 — Present
Clamp BrosLogisticsLong-term digital partner delivering a custom invoicing system that significantly reduced operational overhead.2015 — Present
Two ways in

Measure it, then move it

The Census

About four weeks

A frozen, dated baseline you own outright. Every question, every answer, stored word for word with the model identifier and the timestamp beside it — yours to keep whether or not you go further.

  • The frozen question set and its verbatim archive — every answer, with the model, the grounding state and the time it was asked
  • How often you are named, per assistant, with the interval around it
  • Who is recommended instead of you, counted across the whole run
  • The mechanical reasons a machine cannot read your site, each with the literal line of evidence
  • Where you sit in ordinary search, included because it is the check that stops anyone — us included — dressing one impression up as a ranking
  • The plan, costed and sequenced, and yours to hand to somebody else if you would rather

The Programme

Ninety days

The work. Entity resolution, machine-readability, and content built against the questions we actually sampled — then measured again on the identical census, under the same method version.

  • Entity resolution and disambiguation, so a machine can tell who you are
  • Machine-readability: crawler access, structured identity, canonical hygiene
  • Content architecture written against the questions we sampled, not a keyword list
  • Listings and profile hygiene where they feed the assistants
  • Digital PR, subcontracted — the specialist named, billed at their invoice, not marked up
  • Re-measurement at day ninety on the identical frozen census

We do not publish the fee. Both engagements are fixed-price, quoted in full before anything starts, and there is no setup charge — but the number depends on how many questions your category needs and how much of the work is ours rather than a specialist's. You will have it on the first call, in writing, before you are asked for anything.

Register B · The instrument

We wrote the scanner, so we publish it

12 checks against a site’s public pages, emitting 18 distinct findings. Every one has a published definition, the exact evidence string it prints, and the conditions under which it is wrong.

12checks, each with its own tests
18distinct findings it can report
4of them rated critical
25pages requested per site, once
FindingSeverityWhat it means
robots-blocks-sitecriticalrobots.txt blocks the entire site from every search engine
page-noindexcriticalPage tells search engines not to index it
canonical-mismatchcriticalPage tells Google to index a different URL
tls-certificate-expiredcriticalThe security certificate has expired
no-llms-txthighNothing tells AI assistants what this business is
www-duplicate-sitehighThe site is served as two separate websites
product-schema-no-ratinghighProducts show in Google with no star rating
no-https-redirecthighThe site still serves itself over plain http
mixed-contenthighSecure pages load insecure files
tls-certificate-expiringhighThe security certificate is about to expire
no-viewporthighSite does not adapt to phones
no-organisation-schemamediumNothing on the homepage identifies the business itself
no-titlemediumPage has no title for search results to show
no-meta-descriptionmediumPage has no meta description
no-h1mediumPage has no main heading
no-robots-txtmediumThe site publishes no robots.txt
og-type-mismatchmediumProduct pages describe themselves as articles
product-schema-no-identifiermediumProducts carry no manufacturer identifier

What the bot requests, at what rate, and how to block it →

Specimen

We run it on ourselves first

Today’s output against bvdworks.com. The last line is a real failure on our own site, and it is the one we are least able to hide from.

python -m bvdscan bvdworks.com --json

{ "domain": "bvdworks.com", "checks": 12, "findings": [
    { "code": "no-robots-txt",           "state": "pass" },
    { "code": "no-llms-txt",             "state": "pass" },
    { "code": "no-organisation-schema",  "state": "pass" },
    { "code": "schema.same_as",          "state": "FAIL",
      "evidence": "sameAs: [] — no profile resolves this entity" } ] }

We share a name with an apparel brand, a Moody’s subsidiary and a design agency in Stockholm thirty years older than us. Ask an assistant for a UK studio and we are not the answer either. Nobody will hand us a harder version of this problem than the one we already own.

Method v1.0

How we measure it

We agree a set of 150 questions in the words your buyers use, freeze it, and publish it in your report. It is not edited during an engagement — a measurement whose instrument moves is not a measurement.

Every question is asked 5 times to every assistant. The same question does not return the same answer twice, so the report gives a rate with an interval around it, never a position.

Only assistants with a stable, stampable interface carry a contractual target — Claude and Perplexity. The rest are reported and labelled as indicative, because they publish no identifier we can hold them to.

Read the method in full →

Register C · The ledger

Our own numbers, published monthly

Every month we will run our own instrument on the questions a buyer would use to find a studio like ours, and publish what comes back — including the months the answer is nobody. We have not earned the right to sell a measurement we have not survived.

DateAssistantNamed inShare
No readings yet. The instrument is being built; the first reading is due 2026-11-30, under method v1.0. When it arrives it appears here whatever it says, and it is not removed.
Limits

What we will not do

Four things, and we would rather you read them before the call than after the invoice. Every one of them is something somebody in this market is currently promising in writing.

A position, in any answer, on any assistant.

An assistant writes a sentence. Which businesses appear in it moves with the wording, the model version and the day. We report how often you are named, with the interval around it, and never dress a rate up as a placing.

A guarantee, in public.

Under the CAP Code a guarantee is a claim the marketer must hold documentary evidence for before publishing it. We hold none yet. What we do instead is put a countable target in the contract, where it binds us rather than decorates a page.

Review removal or reputation suppression.

It is the part of this market that draws regulators, and the operators offering a direct line to a platform do not have one. We do not do it, we will not subcontract it, and if that is what you need we are the wrong people.

A date by which it works.

The peer-reviewed position is that no technique has a demonstrated stable, cross-platform causal effect on how assistants recommend. Both engagements are fixed-price so they are fair to you even if the number does not move.

And what the measurement cannot see

  • Answers personalised by a signed-in user's own history or memory
  • Anything a model learned in training and has not re-read since
  • Assistants with no stable interface, which is why they are indicative only
  • Whether being named produced a sale
Who you would be dealing with

A small studio that ships

bvd is a UK software studio. We build the systems in the register above, and this is a named line on top of that — not a separate company with a different address.

3 engagements at a time, 9 a year. When we are full we say so here, with the date. The person who designs your census reads your answers; nothing is handed to a junior, because there is no junior.

Digital PR is subcontracted — the specialist named, billed at their invoice, not marked up. It is the lever most likely to move the number and the one we do not pull ourselves, so we say it here rather than let you find it in a schedule.

Capacity as at 2026-09-04

Tell us your category

If we do not think we can move it, we will say so on the call and there will be no proposal. You will have the fee in writing on that call, before you are asked for anything.