Algorithm Intelligence Report
The X Algorithm
Playbook
How to build reach on X — derived directly from xAI's open-sourced ranking algorithm. Not tips. Not guesswork. The actual source code.
JK
Jeremy Knox
jeremyknox.ai · Published May 2026
Source: github.com/xai-org/x-algorithm · Open-sourced May 15, 2026
Introduction
Everything Changed on May 15, 2026
On May 15, 2026, xAI published the complete source code for X's For You feed algorithm. Not a blog post. Not a press release. The actual code — every scoring function, every model architecture, every filter.
Most people glanced at a headline and moved on. If you're reading this, you didn't.
This playbook translates the algorithm into a concrete content strategy for founders and creators building a personal brand on X. Every recommendation in here is traceable to a specific function in the codebase. If something sounds like advice you've heard before, it's because this is where that advice was always coming from.
"The system eliminated every single hand-engineered feature. The transformer does all the heavy lifting by understanding your engagement history."
What that means for you: there are no hacks. No keyword tricks, no hashtag stuffing, no engagement pods that game a formula. The model learned what good looks like from billions of real interactions. The only thing that works is being genuinely interesting to the right people.
This playbook tells you how to do that — efficiently and systematically.
Part 01 — The Mechanics
How Your Posts Are Scored
Every post gets a score for every user who might see it. That score is computed by a Grok-based transformer model called Phoenix. The formula is literal:
Phoenix predicts the probability of 15 different actions the user might take after seeing your post. Each probability is multiplied by a weight — positive for good actions, negative for bad ones. The sum is your score.
This is the insight most creators miss: negative actions don't just reduce your reach — they actively drag your score down. A post that generates reports is worse than posting nothing.
🔁
Quote Tweet
HIGH WEIGHT ++
👤
Follow Author
HIGHEST WEIGHT +++
⏱️
Dwell Time
POSITIVE (silent)
The hierarchy that matters: follow > reply ≈ quote > share > like. Build every post around actions in that order, not the other way around.
Part 02 — The Levers
The 5 Signals That Build Reach
Replies are the highest-effort positive action. They require a reader to stop, think, and type. The model weights them heavily because they signal genuine interest — not a passive thumb twitch.
- End every post with a specific, open question. Not "what do you think?" — that's too easy to scroll past. "What's the one thing you've stopped doing that your team didn't miss?" forces a real answer.
- Make a contestable claim. Disagreement replies count the same as agreement. "I've never found a standup that couldn't be replaced by a Slack message" generates 10× more replies than a balanced take.
- Leave something out deliberately. "The thing most people get wrong about growing a brand on X is..." — the reader has to reply to find out if you agree with them.
- Reply to your own threads. Extending a thread with your own replies generates notification-driven re-engagement from everyone who already interacted.
A quote is distinct from a repost. It means someone cared enough to add their own commentary. The algorithm weights it heavily because it's a signal of genuine intellectual activation — not just passive agreement.
- Write posts that invite the reaction "I need to add something to this." Hot takes, surprising data, partial arguments that feel incomplete without a response.
- Be quotable: tight thesis, specific claim, no hedging. "Founders who post daily and see no growth are solving the wrong problem" gets quoted. "Consistency matters but quality matters more" does not.
- Quote other people's posts yourself — your outbound quotes shape your own interest cluster in the model, determining which audiences you get recommended to.
Follow is weighted highest because it's a long-term behavioral commitment, not a momentary reaction. Every post should be optimized to make a stranger want to see more of you.
- Every post needs an identity signal. Someone seeing you cold should understand in 3 seconds what following you unlocks. If the answer isn't obvious, the post won't collect follow signals.
- Use threads deliberately. "Post 1 of 10" signals that following will deliver an ongoing narrative. The last post of the thread should be an explicit follow pitch: "If this was useful, here's what to expect if you follow me."
- Consistency of voice matters. The model builds an embedding of your content. If you post about five different topics with no through-line, your author embedding is weak and scattered.
Dwell measures how long a user spends on your post before scrolling. You can't see this metric anywhere — but the model tracks it for every post, for every user, and weights it positively. Most creators don't optimize for it at all.
- Write posts that take 3–5 seconds to fully read. Dense enough to slow you down, short enough to finish. That's the dwell sweet spot.
- Use formatting that forces eye scanning: bullet points, numbered lists, bold key terms, intentional line breaks. Readers decelerate when they encounter structure.
- Images that require reading (charts, code, data) add P(photo_expand) on top of dwell — two signals from one asset. Crop to hide the most important detail and force the zoom.
Shares (DMs, bookmarks shared externally) are a high-weight positive signal. Unlike reposts, shares don't trigger the author diversity attenuation — they're a pure positive signal of "I want to keep this."
- Write reference material: frameworks, step-by-step guides, numbered lists. "Save this" content is share content.
- Make the value obvious in the first line: "7 things I wish I knew before my first 10 hires" gets saved. "Thoughts on hiring" does not.
- End long threads with a self-contained summary post. This post collects its own dwell and share signals independently from the rest of the thread.
Part 03 — The Killers
What Will Bury Your Score
Most creators focus entirely on generating positive signals. The algorithm is symmetric — negative signals are weighted too, and they're not just the absence of positives. A post that generates reports is actively destroying your score.
"Getting one report likely cancels out dozens of likes. The negative actions don't subtract — they multiply against everything you've built."
- Flooding your followers' feeds. The algorithm applies a score decay multiplier for repeated authors in the same user's feed session. 10 posts/day doesn't give you 10× reach — it gives you 1× reach with score attenuation and a rising mute rate. 1–2 posts/day maximum.
- Posting to audiences that aren't yours. If your content reaches people who don't care about your topics, they'll hit "not interested" or mute you. Those negative signals degrade your score for everyone, not just that user.
- Engagement bait. "Like if you agree, repost if you don't" generates positive AND negative signals simultaneously. The algorithm sees through it. Your followers feel it too.
- Hashtag stuffing. The hand-engineered feature pipeline was completely eliminated. The model doesn't read hashtags — it reads engagement patterns. Hashtag stuffing adds noise and can look like spam to Grox, the content-classification layer that runs before posts enter the ranking system.
- Long hostile exchanges in your replies. Sustained hostile threads raise P(block) for everyone watching the exchange, not just the person you're arguing with.
Part 04 — Distribution
How to Reach People Who Don't Follow You
The algorithm has two content sources. Thunder handles in-network posts — your followers already see you. The opportunity is Phoenix Retrieval: ML-based discovery that surfaces your posts to people who don't follow you yet, based on similarity between your content and their interests.
Phoenix uses a two-tower model: your content gets an embedding vector, each user has an interest embedding vector, and the algorithm matches them via similarity search. To reach a new audience, your embedding needs to be close to theirs.
What controls your content embedding
- Who engages with you — not who follows you. If ML engineers like your posts, the model learns you belong in the ML engineering cluster and distributes you there. If random accounts engage first, you drift into the wrong cluster.
- Your own outbound engagement — who you like, reply to, and quote shapes your own user tower embedding. Engaging with the community you want to reach positions you in that cluster before you publish.
- Vocabulary and structure of your posts — the transformer reads semantic meaning, not keywords. Writing in the language your target audience uses, about the topics they engage with, aligns your embedding to theirs.
The first 15 minutes are everything
The impression bloom filter means each post gets approximately one chance to appear in a given user's feed. Once shown, it won't be shown again. The first round of engagement determines which interest cluster seeds your distribution. Who engages first sets your audience trajectory for that post.
- Before publishing a major thread, engage in your target community — reply to 5–10 posts from well-followed accounts in your niche. This positions your user embedding in the right cluster.
- Line up 3–5 people who will reply or quote your best posts early. These signal seeds shape which users the algorithm shows your post to next.
- Post at 9–10 AM Eastern or 7–8 PM Eastern — when your target professional audience is actively scrolling and first-impression velocity is highest.
| Surface | How to trigger exposure | Primary action to optimize |
| For You (main feed) | Strong early engagement + correct cluster seeding | Dwell + Reply |
| Following | Just post — followers see it automatically | Not getting muted |
| Search | Specific, searchable claims and topics | Profile click |
| Notifications | @mentions, quote responses from others | Reply back within 10 min |
Part 05 — Content Architecture
How to Structure High-Scoring Posts
The anatomy of a high-scoring post
[Hook] — Creates a curiosity gap or makes a specific, contestable claim
[Body] — 3–5 lines of dense value, each line independently shareable
[Proof] — A number, outcome, or credential that signals authority
[CTA] — A specific question or invitation to reply
Thread architecture
Post 1: Tension hook — "The thing no one tells founders about X"
Posts 2–8: Value delivery — one insight per post, each self-contained
Post 9: Synthesis or the most surprising conclusion
Post 10: "If you got value from this, here's what to expect if you follow me: [clear promise]"
Post 10 is the most important post in the thread. It's the only one explicitly optimized for P(follow_author) — the highest-weight signal in the model.
The cadence rule
Phoenix applies a score decay to repeated author appearances in a single user's feed session. This is the author diversity attenuation — and it's the reason flooding doesn't work.
| Type | Frequency | Purpose |
| Anchor thread | 1× per week | Authority signal, follow driver, share magnet |
| Standalone post | 1–2× per day max | Daily presence, reply generation |
| Replies to others | 10–15× per day | Cluster positioning, profile clicks from others' audiences |
| Quote tweets | 2–3× per day | Interest cluster signal, high-quality visibility |
Replies and quote tweets to others don't trigger author diversity attenuation in your followers' feeds — but they actively shape your user tower embedding and generate profile click signals from the audiences of whoever you engage with.
Part 06 — Before / After
What High-Scoring Posts Actually Look Like
The difference between a post that gets scrolled past and one that drives replies, quotes, and follows isn't talent — it's structure. These three rewrites show the exact pattern applied to common founder/creator mistakes.
Example 1 — The Vague Opener
Before
Here are some thoughts on growing your audience on X. Consistency matters. Quality matters. Engage with your community. Be authentic. The algorithm rewards good content over time if you stick with it.
Vague claim, no hook, no question, no identity signal. Zero reply or follow potential.
After
Most founders posting daily with zero growth are making the same mistake.
It's not the content quality. It's the signal hierarchy.
They're optimizing for likes. The algorithm weights reply, quote, and follow — in that order.
Likes are the lowest-value signal in the model.
What do you optimize for on X?
Specific claim → tension → insight → question. Drives reply. Invites quote. Has a follow reason.
Example 2 — The No-CTA Thread Ender
Before
That's everything I know about hiring engineers. Hope this thread was helpful! If you enjoyed it, give it a like and follow for more content about engineering and leadership.
Generic follow ask, no specific promise, no identity signal. "Follow for more content" tells nobody anything.
After
That's 12 years of hiring mistakes compressed into one thread.
If it was useful — I post weekly on what engineering leadership actually looks like inside large enterprise teams.
Specifically: the decisions that look wrong from the outside but make sense from the inside.
Follow if that's your world. 👇
Specific promise. Clear identity. Addresses the exact audience. Optimizes P(follow_author) — highest weight signal.
Example 3 — The Safe Take
Before
AI is changing how we work. Some tasks will be automated, but human judgment will always be important. The key is learning to work with AI tools rather than against them. Exciting times ahead for those who adapt.
Zero controversy, zero specificity, zero reason to reply or quote. Gets scrolled past in 0.3 seconds.
After
Hot take: the engineers who are "AI-proofing" their careers are focused on the wrong thing.
The threat isn't AI replacing engineers.
It's engineers who use AI replacing engineers who don't.
The gap between them is already 10x. In 18 months it'll be 100x.
What skill are you betting on?
Contestable opening. Specific claim with a number. Ends with a question. High reply and quote probability. Profile click from anyone who disagrees.
"The pattern is identical in every rewrite: specific claim → tension or insight → proof or number → question. That four-part structure maps directly to Reply + Quote + Profile Click + Follow signals."
Part 07 — Weekly Cadence
The 7-Day Content Calendar
This schedule is designed around the author diversity attenuation rule (1–2 posts/day max), the cluster positioning principle (outbound engagement shapes your distribution), and the follow signal hierarchy (anchor threads drive the most follows).
Mon
Anchor Thread
10-post thread. Hook → 8 insights → follow pitch. Seed with 3 early replies. Post 9–10 AM ET.
↑ Follow · Reply · Quote · Share
Tue
Reply Day
No new posts. Reply thoughtfully to 10–15 posts in your target cluster. Build your interest embedding.
↑ Cluster position · Profile clicks
Wed
Hot Take
1 standalone post. Contestable claim, ends with a specific question. Attach a data image for photo expand signal.
↑ Reply · Quote · Photo expand
Thu
Quote Day
Quote 3–5 posts from others with your perspective added. No original posts. Pure cluster signal work.
↑ Interest embedding · Audience reach
Fri
Reference Post
1 list or framework post. "Save this" content. Numbered list, dense value, summary line at end. Post 7–8 PM ET.
↑ Share · Dwell · Bookmark
Sat
Engage Only
Reply to every response from the week. Keep threads alive. No new top-level posts. Notification re-engagement.
↑ Reply loop · Re-engagement
Sun
Plan
Write next week's anchor thread. Check analytics: reply/like ratio, new followers, profile views spike.
Weekly audit + calibrate
Weekly signal targets
| Signal | Weekly minimum | Source |
| New followers | 15+ from anchor thread alone | Monday thread post 10 |
| Replies generated | 30+ across all posts | Wed hot take + Mon thread |
| Quotes received | 3+ | Anchor thread + hot take |
| Outbound replies | 50+ (Tue + Thu + Sat) | Cluster positioning days |
| Profile view spike | 2× baseline after Mon | Thread authority signal |
Part 06 — Execution
Your First 7 Days
This plan is designed to build your interest cluster, generate early engagement signals from the right audience, and launch your first algorithm-optimized thread — in that order.
Day 1
Audit and align. Look at your last 20 posts. For each one: did it end with a specific question? Did it have a follow reason? If not, that's your baseline. Identify the 2–3 topics you want to own in the feed algorithm's eyes.
Day 2
Cluster positioning. Spend 60 minutes replying thoughtfully to 10 posts from high-engagement accounts in your target niche. Real replies — add value, don't just agree. This positions your user embedding before you publish anything.
Day 3
First standalone post. One post using the anatomy: Hook → Body → Proof → CTA. End with a specific question. Test your hook — does it make someone stop scrolling? If you'd scroll past it, so will everyone else.
Day 4
Engage the responders. Reply to every response from Day 3, within 2 hours. Keep the thread alive. Each reply you get is a reply signal; each reply you give extends the thread and triggers re-notification.
Day 5
Quote 3 posts. Find 3 posts from others in your cluster that you genuinely have something to add to. Quote them with your perspective. This signals your interest embedding and generates profile click traffic from their audiences.
Day 6
Write your anchor thread. 10 posts. Post 1 is a tension hook. Posts 2–9 deliver one insight each. Post 10 is your follow pitch — specific, not generic. Line up 3 people to reply in the first 15 minutes.
Day 7
Measure and calibrate. Check reply/like ratio on every post this week. Anything above 10% is strong signal — produce more of that format. Check new followers. Check profile views spike after your thread. These are your real metrics.
Summary
The 5 Non-Negotiable Rules
01
Reply and quote beat likes
Write for conversation, not validation. A post with 10 replies scores higher than one with 200 likes. Stop optimizing for the metric you can see.
02
Every post needs a follow reason
What does following you unlock? If you can't answer in 8 words, the post won't collect follow signals — the highest-weight action in the model.
03
Dwell is real, optimize for it
Dense, scan-worthy formatting. Images that reward zooming. The model measures time-on-post even though you can't see the number.
04
1–2 posts per day maximum
Author diversity attenuation is real. Flooding doesn't scale reach — it kills it. One excellent post beats five average ones, every time.
05
Seed the first 15 minutes
Out-of-network distribution is set by your early engagement cluster. Who replies first sets your audience trajectory. Engineer this, don't leave it to chance.
Measurement
What to Track (and Ignore)
| Metric | Why it matters | Target |
| New followers / post | Directly proxies P(follow_author) — the highest-weight signal | > 5 per anchor thread |
| Reply / Like ratio | Tells you if you're driving real engagement or passive scrolling | > 10% is strong |
| Quote rate | P(quote) — measures intellectual activation | > 2% of impressions |
| Profile views after post | P(profile_click) proxy — signals authority gap working | 2× baseline spike |
| Engagement in first 15 min | Cluster seed quality — determines distribution trajectory | Minimum 5 replies |
Ignore
- Raw impression count — impressions without engagement are invisible to the scoring model. A post seen by 10,000 people with zero replies scores lower than one seen by 500 with 30 replies.
- Follower count as a vanity metric — the algorithm distributes based on engagement quality, not follower count. 500 engaged followers in the right cluster will out-distribute 50,000 passive ones.
- Hashtag performance — hand-engineered features are gone. Hashtags don't influence the algorithm.
More at jeremyknox.ai
Tools, frameworks, and intelligence for founders and operators building in the age of AI. The X Algorithm Playbook is one of many free resources.
jeremyknox.ai/resources →