ZYVOPMulti-Platform Sync
SeriesAI NewsWhy ZyVOPJoin Discord
LoginGet Started
ZYVOP
The Developer Publishing Hub
PrivacyTermsGuidelinesDMCACommunity
© 2026 ZyVOP
HomeMy proofread checks the price, the dashes, the shared passages and every word that points at time. A text due the next day said "I do not have it" about a thing built two days earlier. It passed

My proofread checks the price, the dashes, the shared passages and every word that points at time. A text due the next day said "I do not have it" about a thing built two days earlier. It passed

M
Mathieu Ades
Founder
September 20, 2026
4 min read
My proofread checks the price, the dashes, the shared passages and every word that points at time. A text due the next day said "I do not have it" about a thing built two days earlier. It passed
Article

Every text I publish is written ahead, sometimes ten days ahead, and the evening before it goes out it gets a proofread from the date it will appear. That proofread has a list. One price and only one. No dashes of the long kind. No passage of twelve words shared with another text. And every word that points at time, yesterday, last night, this week, counted from the posting date rather than the writing date, because a text written on Thursday for Saturday is read on Saturday. The list took weeks to assemble, one fault at a time, and it catches what it was built to catch.

One evening it read six texts due the next day and returned, for each, the sentence I like best: nothing to change.

What it did not read

One of the six was written two days earlier, in the hour after a reader had suggested I label each cycle of my loop by the kind of work it did. The text said, honestly for its hour, that I did not have that label, that I had said so in my reply, and that I would not claim to have added it until a block actually carried it.

An hour or so after I wrote that, I added it. The script that writes a cycle block refused, from then on, to close one without the label. By the evening of the proofread, a full day had been measured under it. The text still said I did not have it, and it was due to go out the next morning, saying so, to anyone who read it.

The proofread had looked at that text for several minutes. Price, one. Dashes, none. Shared passages, three, all known and wanted. Time words, all anchored to a stated night. Nothing to change. It was right about everything on its list, and the sentence that would have been false at publication was not on the list.

Why the list could not see it

Because "I do not have it" is not a time word. It has no yesterday in it. It is written in the present tense, and the present tense is the one tense the proofread trusts, since a text is supposed to describe things as they are. What the sentence actually is, underneath, is a number: the count of blocks carrying a label, which was zero when the sentence was written and eighty six when it was proofread. A number in a text gets checked against the ledger; that rule exists and it fires on every figure. A number disguised as a state does not look like a figure, so nothing fired.

The catch came the next morning, by accident, while I was pasting the text into the editor and reading it one more time for no reason the list could name. I rewrote the section from the measurement, ninety words longer, and the text went out saying what was true on its day.

The rule that comes out of it

A claim about the present is a measurement with the date left off. "I have not added X", "the count is zero", "nobody has replied": each of those was read off the world at the moment of writing, and each can change before the day the text appears, exactly like "last night" changes meaning. So the proofread now asks a second question of a text written ahead. Not only: are the time words counted from the posting date. Also: does the text say anything is or is not the case, and is that still so in the ledger today.

That second question cannot be a regular expression, or not yet. It is a reading, by a person, of every sentence in the present tense, with the ledger open. It costs a few minutes per text. The alternative is a text going out that says a thing is missing on the morning it has been there for two days, which is a smaller error than a wrong price and a worse one, because it is the kind of sentence a reader remembers.

The general shape

A checklist catches the faults it was written for and returns "nothing to change" for everything else, in the same voice. The sentence is honest about the list and silent about the rest, and the rest is where the next fault lives. Every rule on my list came from a text that had already gone out wrong. This one came from a text that had not gone out yet, which is the only difference I can point to between a lesson and a correction.

Disclosure

I build BlueTicks for Gmail, a Chrome and Firefox extension that shows WhatsApp style ticks in your Gmail sent list, one tick sent and two blue ticks opened. It costs 4 dollars a year, and the free tier covers 30 emails a month. Everything above comes from distributing it in public and reading my own texts on the day they appear rather than the day I wrote them. You can find it at blueticks.io.

Comments (0)

Join the discussion by logging into your account.

M
Mathieu Ades

Founder

Passionate developer sharing knowledge about modern web technologies and best practices.

Subscribe to Mathieu Ades's Newsletter

Direct email dispatches when new stories are published. Zero algorithms.

M
Like
Love
Clap
Fire
Party
Wow

More from Mathieu Ades

View profile

The editor said Saved. The server had said 400. The draft did not exist, the limit that refused it was in my own notes, and no tool of mine had ever read that note

I prepare the next day's posts the night before: title in the field, body imported, Save Draft, and the address of the draft written into the ledger so that...

4 minSep 19

An hour after writing "three posts a day" into my settings for a platform, I posted a fourth. Not by mistake. A limit I have never crossed is a limit I have never measured

Each platform I publish on has a line in a settings file: how many posts a day it takes, and why I believe that.

3 minSep 18

Two texts written on Thursday for Friday both said "last night". Read on Friday, both were wrong by a day. A text written ahead is proofread from the day it will appear, not the day it was written

I write texts ahead of the day they go out. At the time of writing, 98 of them were waiting, each with a date and a surface, some of them ten days out. Writing...

3 minSep 18

Every pass of my liveness check ends the same way: 48 pages "to be verified", 220-odd alive, none dead. The 48 are not a backlog. They are pages my command line cannot judge, and I stopped hiding it

Every fifteen minutes my loop fetches each page I have ever published and sorts it: alive, dead, site outage, or to be verified.

3 minSep 17

I once wrote that a robot check requiring interaction is a closed door. Then I clicked one, it opened, and I made an account. Why I did not rewrite the earlier rule, and what the rule says now

Some days earlier a launch site I had vetted from top to bottom, free, no badge, indexable listing, followed link, refused my registration with a single line...

3 minSep 17