1. 01X pays in points
  2. 02So what is the most points a post can get?
  3. 03Four more things happen after that
  4. 04Change one thing, change who sees your post
    1. 1On the list
    2. 2Still alive
    3. 3Eighteen checks
    4. 4Scored
    5. 5Top fifty
    6. 6Not deleted
    7. 7One per thread
    8. 8One of thirty-five
    9. 9Communities
    10. 10Replying to big accounts
    11. 11Posting too much
    12. 12Editing
    13. alsoHow long it lives
  5. 05Eight smaller things, all true
  6. 06Six things people say that are not in the code
  7. 07X Preflight will not write your post.
  8. 08Try X Preflight on your own post
  9. 09For agents
  10. 10Writing

X PreflightWritingAbout

How X decides who sees your posts.

X published the code that decides who sees your posts. Hardly anybody has read it. So here is one post, nine times over. Each time, one small thing about it is different. Each time, a different number of people end up seeing it. None of this is about writing better. All of it is about what you do with the post.

X pays in points

Somebody likes your post. Somebody else sends it to a friend. X pays points for both. It does not pay the same for both.

Here are four of the prices.

Somebody copies the link and sends it on20 points
Somebody replies to it5 points
Somebody likes ithalf a point
Somebody mutes youminus 59 points

Look at that list one more time.

A like is the cheapest thing on it. The thing everybody chases is the thing worth least.

And the bad one is bigger than all three good ones put together.

See all twenty-nine prices
Somebody copies the link and sends it on+20
Somebody replies, and they follow you back+20
Somebody replies to it+5
Somebody quotes it+5
Somebody sends it in a message+5
Somebody follows you+4
Somebody shares it some other way+2
Somebody reposts it+1
Somebody likes it+0.5
Somebody taps the post open+0.4
Somebody opens a link inside it+0.2
Somebody opens a video+0.07
Somebody stops to read it+0.05
Somebody opens a photo+0.05
Somebody taps a post you quoted+0.05
Somebody sees it in its first day+0.02
Somebody keeps reading, per second+0.004
Somebody taps your name0
Somebody bookmarks it0
Somebody watches a video properly0
Somebody watches a video in a quote0
Somebody keeps reading after tapping0
Somebody stays busy on X0
Somebody reads it, and follows you back0
Somebody scrolls straight past-0.02
Somebody blocks you-31.2
Somebody taps not interested-43.2
Somebody mutes you-58.8
Somebody reports you-234

These are X's own numbers in X's code. Zero means X counts it, but pays nothing for it today.

So what is the most points a post can get?

Here is the part almost nobody knows.

X is not counting people. It is guessing.

Say you write a post. Before one single person has seen it, X picks somebody who might.

Then it guesses about that one person. How likely is this person to send it to a friend? To reply? To like it? To mute you?

It adds those guesses up. That is that person's number.

Then it throws that number away and does the whole thing again for the next person. And again. And again.

So think about a joke.

The same joke makes one person laugh out loud. The next person just stares at you.

So how funny is that joke? Out of ten?

You cannot answer. A joke does not have a funny number. It only has one for each person who hears it.

Your post is the same. It does not have a score. It never did. X makes a brand new one for every single person it thinks about showing it to.

So when somebody offers to tell you your post's score, they are offering you something that does not exist. This page cannot tell you either. Nobody can, because there is no number to tell.

Four more things happen after that

X works out a number for one reader. Then it does four more things to that number before anybody sees anything.

Change one thing, change who sees your post

The same post, twice. One thing changed. A different ending. That is the whole lesson, nine times, and every one of them is a rule published by X.

RedYour post now.
GreenYour post after one change.
You can fix this one.
Nobody can know this one. Not even X.

gate 1 · On the list

now

My microwave is smarter than this.

posted as a reply under the company's big announcement

Only people who already follow you can ever see it. It never goes on the list X uses to show posts to strangers.

change one thing Say it as your own post instead of a reply.

after

I asked the new AI to count the letters in the word strawberry. It got it wrong. Twice.

Now it can reach people who have never heard of you.

X keeps a list of posts it is allowed to show to strangers. Replies never go on that list. Neither do reposts. Only posts you start yourself. And even then, most of that list only opens once somebody likes your post. The first like is a real door, not a nice extra.

gate 2 · Still alive

now

The new robot goes on sale Friday. I have some questions.

posted on Monday

By Friday, everyone is finally talking about it. But your post is more than two days old by then, and the For You feed has stopped showing it to anybody.

change one thing Post it Friday, not Monday.

after

The new robot goes on sale today. I have some questions.

It is fresh on the day people are actually looking.

X starts a clock the second you hit send. After two days the For You feed stops showing it to anybody. Nothing restarts that clock. So if people get interested on day three, there is nothing left for them to find.

gate 3 · Eighteen checks

now

I gave the new AI forty questions a nine-year-old can answer. Full results for subscribers.

locked to paying subscribers

It is pulled out of the feed of everybody who is not paying you. They can still reach it another way, but X will never put it in front of them.

change one thing Let everybody read it.

after

I gave the new AI forty questions a nine-year-old can answer. It got eleven wrong. Here they are.

Everyone can see it, so it competes like everything else.

X runs eighteen quick checks before it decides what to put in anyone's feed. One of them looks for subscriber-only posts. If the reader is not a subscriber, out it comes. This happens before any scoring. So the post never even gets in the race.

gate 4 · Scored

now

Anyone excited about this thing is a moron who has never done a real day's work in their life.

Nothing removes it. But X is guessing about each reader. And the guesses that go against you are worth far more than the ones that go for you.

change one thing Same opinion, without calling anyone a moron.

after

I do not think this thing is close to ready, and I think the excitement is going to age badly.

The guesses that hurt drop for readers who would have flinched. By how much, nobody can say, and it is a different amount for every single person.

This is the joke problem again. X is guessing about one person at a time. Make a reader flinch and the guesses that hurt you go up for that person. How far up? Nobody can say. It is a different amount for every reader.

gate 5 · Top fifty

now

One more thing about that robot and then I will stop.

your fourth-best post in this reader’s batch

Three of your own posts already score higher for this reader. So X cuts what this one is worth to about a third, before it even competes.

change one thing Be the only post of yours in the batch.

after

One more thing about that robot and then I will stop.

Your post goes in at full value. Whether full value is enough still cannot be known.

X does not want one person filling somebody's feed. It sorts your posts by score for that reader and cuts each one after the first. Your second-best is worth about five eighths. Your third about four tenths. It is your rank among your own posts in that batch, not the order you wrote them. After that, X keeps the best fifty posts out of about two thousand it gathered for that one reader.

gate 6 · Not deleted

now

Look what it drew when I asked for a hand. Six fingers. Six.

with the picture attached

People who follow you see it behind a cover they have to tap. For everybody else, the same post is removed completely.

change one thing Leave the picture off.

after

I asked it to draw a hand. It gave the hand six fingers. Nobody at the company noticed before shipping.

No warning label, so it is allowed everywhere.

One warning label. Two completely different results. If somebody already follows you, they get a cover they can tap to see it anyway. If they do not follow you, the post is just gone.

gate 7 · One per thread

now

1. Everyone is wrong about this robot. 2. Here is what it actually does. 3. Here is what it cannot do. 4. Here is why that matters. 5. Anyway, buy nothing.

a five-part thread

Parts two through five might be the best of it. Does not matter. Only one post out of the whole thread can turn up in anybody's feed.

change one thing Post them separately instead of as a thread.

after

Everyone is wrong about this robot, and it is the same mistake people made about the last one.

They are separate conversations now, so more than one can appear. They still compete with each other.

After scoring, X sorts the posts by which conversation each one belongs to. Then it keeps the best one from each conversation and throws the rest away. A thread is one conversation. So only one post out of it can ever appear.

gate 8 · One of thirty-five

now

This is the worst take I have read all year and I have read a lot of them.

quoting the person who wrote it

Your post picks up the worst safety rating of whatever you quoted. That keeps you out of the best spots on the page.

change one thing Say what they said instead of quoting them.

after

Somebody argued today that the robot is already better than a person at this job. Here is the test that shows it is not.

You keep your own rating and every spot is open to you. Whether you make the final cut still cannot be known.

Quote somebody and you take on their safety rating, not just your own. If theirs is worse, yours is now worse too. Then the whole list gets cut to thirty-five, and the ads take some of those thirty-five with them.

gate 9 · Communities

now

The new robot cannot count. I asked it four times.

posted inside a Community

Nobody outside that Community will ever be shown it. It does not go on X's list at all.

change one thing Post it to your own feed instead.

after

The new robot cannot count. I asked it four times.

Now strangers can be shown it.

When X builds the list it shows strangers from, it skips Community posts. Same as replies. Same as reposts. It counts them as skipped and writes down nothing.

gate 10 · Replying to big accounts

now

This is not what the numbers say.

replying under an account with a million followers

Because that account is huge, X sends your reply to a separate model that scores and ranks the replies under it. And it still cannot reach strangers.

change one thing Say it as your own post instead.

after

Everybody is quoting that number today. It is a guess somebody made in 2019, not a measurement.

No spam check. And now it can reach people who do not follow you.

If the post you are replying under belongs to somebody with more than a hundred and twenty thousand followers, your reply goes to a separate model that reads and ranks every reply under that post. Under a smaller account it does not. So the big account you were aiming at is the thing that gets your reply judged against everyone else's.

gate 11 · Posting too much

now

Alright, one more thing about the robot.

your fifty-first post in two days

X only holds fifty of your posts for the people who follow you. Your fifty-first pushes your first one out of the pile.

change one thing Post less in two days.

after

Alright, one more thing about the robot.

All of them stay in the pile.

For the people who follow you, X holds fifty of your own posts and thirty of your replies and reposts, going back two days. Go past that and your newest post shoves your oldest one out.

gate 12 · Editing

now

The new robot cannot cout. I asked it four times.

you spot the typo an hour later and fix it

The version people were already seeing is dropped. Only the fixed one is left.

change one thing Read it once before you post it.

after

The new robot cannot count. I asked it four times.

Nothing gets dropped.

Only the newest version of an edited post is kept. Every earlier one is dropped, and there is no exception for the person who wrote it. So you cannot tell by looking at your own timeline.

also · How long it lives

now

The new robot cannot count. I asked it four times.

written as words

The For You feed stops showing it after two days, and it drops off the list X pulls strangers from. Your followers can still scroll back to it in their Following tab, which is newest first and reaches back a year.

change one thing Say the same thing over a video.

after

The new robot cannot count. I asked it four times.

It stays on that list for up to thirty days. The For You feed still stops showing it after two days, so this buys a longer life in the pool, not a longer run in front of people.

Two different clocks, and people mix them up. One is the For You feed, and it is the same for everybody: nothing older than two days is shown there, video or not. The Following tab is not on that clock. The other is the list X keeps posts on so it can pull them up later, and video sits on that list for up to thirty days instead of two. It only counts if every single thing attached to the post is a video, and every one of them runs longer than ten seconds. Add one photo, or one short clip, or a GIF, and you are back to two days.

Eight smaller things, all true

None of these are big enough for a pair. All of them are real.

  1. Two @ names sends you to a spam checker. Two. Tagging a couple of friends is enough. Big accounts get taken out of that check. You do not.

    kevinhoff.com/x/two-at-names

  2. The little preview picture on a link can get your post covered up. You never uploaded that picture. You still get the cover.

    kevinhoff.com/x/preview-picture

  3. A reply to a reply to a reply does not show up. Not even for the people who follow you.

    kevinhoff.com/x/reply-to-a-reply

  4. An image buys 0.05 and can cost you twenty-eight days. Somebody opening your photo is worth 0.05. That is the smallest price on the whole list. Copying your link is worth 20. The real cost is the clock: a post only keeps its thirty-day place on the list X pulls strangers from if every single thing attached to it is video running longer than ten seconds. One photo, one GIF, one nine-second clip, and it drops back to two days. Both of those are time on the list, not time in front of people: the For You feed stops showing it after two days either way. Post a picture because a person needs to see it, never because the feed pays for it.

    kevinhoff.com/x/images-cost-the-clock

  5. X has two feeds and this page describes one of them. Everything here is about For You, the one X picks for people. The Following tab is different: it is newest first, nothing is scored, and it reaches back a year. Your two-day clock is a For You clock. On Following your followers can still scroll back and find you.

    kevinhoff.com/x/two-feeds

  6. Lock your account and strangers see nothing. Not one post. Ever. Only the people already following you.

    kevinhoff.com/x/locked-account

  7. Muted words are checked before any scoring. If somebody muted a word you used, your post is gone for them before X even starts working out numbers.

    kevinhoff.com/x/muted-words

  8. There is a list of 2,388 accounts written into the code. Quote one of them, or reply under one, and your post is dropped. It works that way everywhere in the world, not just where those accounts are.

    kevinhoff.com/x/the-list-of-2388

Six things people say that are not in the code

Every one of these gets repeated constantly. None of them is in what X published.

  1. The blue check does not change your number. Everything X adds up is one short list and the paid subscription is not on it. X does say paid accounts get pushed up in the replies under a post. That part is somewhere else, in code X did not publish, so nobody can check it.

    kevinhoff.com/x/blue-check

  2. There is no hashtag rule. None. Not a good one, not a bad one. X's scoring never looks at them.

    kevinhoff.com/x/no-hashtag-rule

  3. Nothing turns your post down as it ages. There is no fading formula in the code. But X does tell the guessing part how old your post is, hour by hour, so age is not invisible either. The hard stop is real. At two days it is gone from the For You feed.

    kevinhoff.com/x/posts-do-not-fade

  4. No rule matches your language to the reader's. Nothing in the code says show this to people who speak what you wrote in. But X does tell the guessing part what language your post is in, and what language the reader uses. What it does with those is not published.

    kevinhoff.com/x/no-language-match

  5. There is no dial. There is a switch. X cannot turn you down a little. But it can put a mark on your whole account, and then every post you write is hidden from everybody who does not already follow you. The people who do follow you still see it. So do you. That is why you cannot tell.

    kevinhoff.com/x/no-shadowban-dial

  6. A pile of people reporting you does not sink your post. X explains this in its own notes. The system guesses how likely you are to report something, one person at a time. It does not count up other people's reports.

    kevinhoff.com/x/reports-do-not-sink

X Preflight will not write your post.

Every other tool like this will also write the post for you. Here is why that is a bad trade. X now puts a mark on writing that reads like a machine made it. That mark sits on the post for thirty days. There is a second rule that marks the whole account instead. Also thirty days. While that mark is on you, nothing you post reaches anybody who does not already follow you.

And there is a simpler reason. The words are the only part of any of this that is yours. So this one shows you the machine. It tells you what the machine will do with what you wrote. Then it hands the pen back.

Two boxes. Grade my draft. Find the angle, from someone else's post, for a reply that earns a follow or a quote that travels. One rule. Never the sentence.

Try X Preflight on your own post

Paste in anything you are about to post. X Preflight runs these same checks on your real words. It tells you which ones you are about to trip, and what to change.

It will not write the post. That part stays yours.

Open X Preflight

For agents

The same read is an open API and an MCP server. An agent can check a post before it publishes it, the way it would check code before shipping it.

curl -X POST https://kevinhoff.com/api/grade \
  -H 'content-type: application/json' \
  -d '{"text":"the draft","pinned":false}'

openapi.json · mcp · llms.txt · the ledger as JSON · ai.json

Writing

The Team That Cannot Disagree. Agent teams are one mind wearing several names. September 4, 2026

It Scores the Reader. X published the ranking code. It does not say what everyone assumed it would say. September 3, 2026

Recursive Self Emergence. Why the bound belongs in the noun. September 1, 2026

The Frame Problem. Why the good ones get missed. March 28, 2026

Mirror or Entity. Most people are building a noisy copy of themselves. February 15, 2026