All essays
Trust

Somebody already wrote it. That is the useful part.

Palash Jain·August 9, 2026·3 min read

Most writing tools start you on a blank page, which is a strange thing to optimise for, because almost nobody doing content work actually starts from nothing.

You start from a competitor's post sitting above yours. You start from something you published two years ago that has become embarrassing. You start from a link a colleague sent with "can we do one of these". In every one of those cases the research already exists and somebody else paid for it. The blank page is not the beginning of the job. It is the part of the job you skipped past to get here.

So Mastheads takes a URL.

Three jobs, one field

Paste an address into the same field everything else goes into, and choose what to do with it.

Refresh - your own page, brought current. Rewrite - the same ground, in your voice, at your standard. Outperform - somebody else's page read carefully, and something more complete built against it.

I want to be exact about that third one, because it invites a promise I will not make. Outperform means the desks read what is there and build something more thorough than it. It does not mean you will outrank them. Anybody guaranteeing that is describing an outcome they do not control, and I would rather ship a mechanism than a claim.

One URL or twenty-five. Drop a file in and it keeps the lines that hold an address.

The half of this that matters more

Here is the failure I built the feature around.

Hand almost any AI writer a URL and it will write you something confident. It will do this whether or not the URL loaded. A dead link, a paywall, a login wall, a page that is only a list of other pages - it does not distinguish, because it never really needed the page. It needed the words in the address bar, and there are usually enough of those to fake a topic.

That is not a small bug. It is eight hundred words about a page nobody read, delivered in exactly the same tone as eight hundred words about a page somebody did.

So: nothing is sent unread.

Give it URLs and every page is fetched before a single word is generated. You get back what we found - the headline, the domain, the word count, the date - and then you decide. Three pages in gives you three rows to check against what you thought you were sending.

And when one of them cannot be read, this is what happens. The row comes back unticked and greyed, with "We could not reach this page" printed on it. The header reads 2 read · 1 unreadable. The run counter, which a moment ago said three, now says IN THIS RUN 2.

The product took work away from itself, in front of you, because it could not verify one input.

That is the screenshot I would put in front of somebody who has thirty seconds and wants to know whether this is different from the rest. Not the article it produced. The one it declined to produce.

Why it is built this way

Because the alternative is faster and looks identical right up until it is not.

Skipping the read would save a few seconds a page and would be invisible on every URL that works. It would only ever surface on the ones that do not - and those are precisely the moments where you need a tool to tell you something rather than confidently fill the silence.

There is one rule underneath all of this, and it is the only one I properly trust in this category: report, never infer. Show what actually happened, including the parts that went badly. The read step does it before you spend anything. The run list does it afterwards - the runs that failed are in there too, not hidden.

A tool that only ever shows you its successes is telling you nothing about its successes.

New accounts get ten articles over seven days, free, with no card. If you want to understand this in one go, hand it a URL you know is dead and watch what it refuses to do.

Keep reading
Subscribe

One email per essay.

No marketing fluff. Unsubscribe any time.