← All guides Strategy · 12 min

When everyone can generate words, the only edge left is data nobody else has

Writing has become abundant and nearly free. Knowing something first-hand has not. Bots are how a small operation collects the second thing at a scale that used to need a department.

Something has quietly inverted in the last few years. Producing competent prose used to be the expensive part of publishing and having something to say was assumed. Now competent prose costs approximately nothing, and having something to say is the whole game.

You can watch this happen in any competitive search result. Ten pages, all fluent, all structured, all saying the same synthesised version of the same received wisdom, because they were all assembled from each other. None of them contains a fact that didn't already exist somewhere else. The fluency is no longer a signal of anything, because fluency is free.

What still can't be faked is a number you measured, a thing you observed, a change you noticed first. That's the scarce input now. And collecting it systematically is a bot problem.

Why this follows from how generation works

A language model produces excellent renderings of what is already known. That is its function and it does it remarkably well. It cannot tell you what a specific price did last Tuesday in your market, how many of a thing appeared this month, or what changed on a competitor's site at 4pm — not because it's inadequate, but because that information was never in it.

So the division of labour is clean, and it's the same division as bots and agents. Collecting facts is deterministic work: fetch, record, compare. Turning facts into something readable is generative work. Most people are doing the second half brilliantly and skipping the first, which is precisely why the output all reads the same.

Generated text built on public knowledge competes with every other piece of generated text built on public knowledge. Generated text built on data you collected yourself competes with nothing, because nobody else has the data.

What "original data" actually means

It doesn't require a research budget. In practice it's one of four things, all of which a small bot can do.

Something you counted. Prices across forty suppliers. Job listings mentioning a skill, month by month. How many restaurants in a town do a thing. Counting is unglamorous and almost nobody bothers, which is exactly why the number is yours.

Something you tracked over time. This is the compounding one. Any single observation is mildly interesting; the same observation recorded weekly for a year is a dataset nobody can replicate without also having started a year ago. A scraper that logs one number every day is, after twelve months, a genuine moat — and it cost nothing to run.

Something you tested. You ran the thing and reported what happened, including the parts that didn't work. This is why the build sheets on this site include the actual terminal output and the bug we hit with character encoding: that came from running the code, and a page assembled from documentation could not contain it.

Something you noticed first. A monitor that tells you a competitor changed their pricing page this morning gives you a day's head start on writing about it. Being early is a form of originality that requires no cleverness at all, only instrumentation.

The loop

Put together, it's a simple repeating machine:

bot     →  collect data on a schedule       (free, forever)
bot     →  store it, keep the history       (free, forever)
bot     →  notice what changed              (free, forever)
you     →  decide what's worth saying       (judgment)
model   →  help draft it                    (cheap, and now grounded)
you     →  check it, publish it             (judgment)

Note where the model sits: near the end, helping express something, rather than at the start inventing something. That ordering is the whole difference between content that has a reason to exist and content that doesn't.

Note also that the collection half runs at zero marginal cost. Once the scraper works, a year of daily observations costs the same as one day's.

What this looks like in practice

A few shapes that work, in rough order of effort:

The index. Track one number across a category on a schedule and publish the series. "Average price of X across the twenty biggest sellers, updated weekly." It is genuinely useful, it accrues value automatically, and other people cite it — which is the point.

The census. Count something nobody has counted properly. How many companies in a sector still do a given thing. What share of listings mention a particular requirement. One thorough crawl produces a piece that gets referenced for years.

The teardown. Actually use the thing and report specifics — real numbers, real failures, real screenshots. Unfakeable by definition.

The monitor. Watch a defined set of sources and report movement. Low effort per instalment, compounds into being the place people check.

Each of these is one scraper, one database and a schedule. The change watcher is the whole first half of every one of them.

Doing this without becoming the problem

There's an obvious failure mode where "collect data at scale" becomes "hammer other people's servers and republish their work". That's not originality, it's laundering, and it's the thing that gets scrapers blocked and occasionally sued.

The line is reasonably clear. Facts you derive are yours. Content you copied is theirs. Observing that a price was £40 on Tuesday and £45 on Friday creates your own record of a fact. Lifting someone's product descriptions verbatim does not. Aggregating across many sources into a number nobody had is original; reproducing one source's page is a copy.

Practically: identify your bot honestly with a contact address, honour robots.txt, rate-limit deliberately, cache so you never fetch the same page twice, take only the fields you need, and cite sources where you're reporting someone else's figures. Scraping behind a login you agreed terms to reach is a different question again, and usually a no. The scraping guide has a fuller section on where the lines sit.

The honest test is the one that works for most ethical questions: would you be comfortable explaining this project to the owner of the site you're reading?

Why small operations win here

The surprising part is that this favours the small. Collecting a proprietary dataset used to require headcount — people manually checking things, entering things, maintaining things. That cost is what made it a large-company advantage.

A scraper doesn't get bored, doesn't need managing, and costs nothing per observation. One person with a Raspberry Pi and a weekend can now start a dataset that, eighteen months later, nobody can buy their way past — because the missing ingredient isn't money, it's having started.

The corollary is worth sitting with: the best day to start collecting is the day before you need the data. A year of history cannot be bought or generated retroactively. It can only be accumulated, and accumulation only starts when someone sets the thing running.

Start the collection now, worry about the output later

The usual instinct is to plan the article first and gather evidence to fit. Invert it. Decide what's worth measuring in your field, set something running today, and let the material accumulate while you get on with other things. In three months you'll have something to say that nobody else can say, and the writing — the part that's now free — will be the easy bit.

Concretely: pick one number that matters in your market. Build the change watcher this evening and point it at a handful of sources. Put it on a free scheduled host. Then leave it alone. That's the entire cost of entry, and the clock starts the moment it runs.

One new build sheet a week

Guides like this one, plus a new build sheet every Thursday. Written by a person who built it.