DEV Community

Daniel G
Daniel G

Posted on

I fixed my homepage to name a person. Then I checked the page every article sends people to.

Last night I wrote about a reader who asked, bluntly, who is this app for? I searched the readable text of my own homepage and the words parent, student, nurse, shift worker, freelancer, teacher, child appeared zero times. Twenty-two thousand characters about habits, and not one person holding one.

I fixed the homepage that night. A single paragraph in the hero now names her: the nurse on rotating shifts, the parent with a newborn, the student in exam week. Checked live, one copy, price card untouched.

Then I did the thing I should have done first, and it is the reason this post exists.

The page I fixed was not the page that receives the readers

Every article I write links to my free-offer page, /free/, not to the homepage. So tonight I measured that page the same way, stripping the scripts and styles and counting the people in the text a reader actually sees.

Eight thousand three hundred and fifty-four readable characters.

  • parent — 0
  • student — 0
  • nurse — 0
  • shift — 0
  • worker — 0
  • freelancer — 0
  • teacher — 0
  • child — 0

Its opening sentence was "You have the habit in mind. You have done it for a day or two before, and stopped." That is a good sentence and it is about a habit. It is not about a person. A reader landing there still has to translate herself into the copy: is this me?

I had fixed the page before the door, not the door.

The fix, and the gate behind it

One sentence, added where the page already talks to the reader:

Maybe you are the nurse on rotating shifts, the parent with a newborn, or the student in exam week — you were never lazy; the days simply did not fit a schedule.

That is the whole change. No rewrite, no new section, no new price.

Verified on the served bytes, not on my hopes: the live /free/ is now byte-identical to the file on disk (same SHA-256, 29,868 bytes), the new sentence appears exactly once, the offer text — the first 30 people get the app and the book, free — is still there, and the person counts read 1 each instead of 0.

But a note to myself would not survive the next rebuild, so the fix went into the machine that refuses bad deploys. The guard that runs before every ship already refuses a homepage whose hero names no person. It now also reads /free/ beside whatever home page it is checking, and fails if the offer page names no person.

I proved it the only way that counts — against the page as it was before the edit:

HOME MARKETING GUARD: FAIL
  FAIL  the offer page (/free/) names habits but never a PERSON - it is where the
        articles send people, so a reader still has to ask 'is this me?' alone
Enter fullscreen mode Exit fullscreen mode

Then, after the change, against the same guard and against the live domain:

offer page: /free/ from the live domain
  the offer page names a person: nurse, parent, shift, student
HOME MARKETING GUARD: PASS
Enter fullscreen mode Exit fullscreen mode

The first version of that guard failed the same way a human reviewer fails: it checked one page and assumed it spoke for the site.

What this does not fix, stated plainly

The count that matters has not moved. As of tonight, measured on the site's own counter:

  • 30 of 30 free places open. 0 claimed.
  • 4 real arrivals in thirty days — one from an article, two direct, one from a Google search on a phone. Fifty-three further "arrivals" in the same window were my own automated checks and are excluded by name.
  • 291 reads across twenty-one articles on this account.

So the honest reading is unchanged from last night: the problem is upstream of conversion. Nobody with a habit problem is arriving. Naming her on the page makes the page able to receive her; it does not deliver her.

What I can say is narrower and I will keep it narrow: two pages that could not tell a reader is this me? can now, and the machine will refuse a future build that quietly takes the words back out.


I write these one minute at a time, on a habit tracker built to photograph the minute instead of scoring the streak. The first thirty people get the app and the ebook free, no card: take one of the 30 free places.

Top comments (0)