The public source release is useful, but it is not a magic formula. It shows the shape of the system: retrieval, ranking, filtering, and feedback signals. That is enough to make better decisions without pretending anyone outside X can see the full production setup. Core X For You feed code is public source now. It includes Rust, Python, and JAX components that describe the recommendation pipeline, but not every live production setting. We distilled the release into this guide. For the full technical breakdown, see our companion piece: Inside X's For You Algorithm: What It Optimizes For. This guide focuses on one question: how do you get seen? The Engagement Hierarchy The algorithm predicts 19+ engagement signals and combines them with configurable weights. The demo weights from the open-source release reveal the hierarchy: Priority / Signal / Demo Weight / Strategy 1 / Likes (favorites) / 1.0 / Write content people want to affirm 2 / Replies / 0.5 / Ask questions, take positions, spark conversation 3 / Retweets (reposts) / 0.3 / Create content worth sharing -- insights, news, utility 4 / Dwell time / 0.2 / Use images, threads, long-form that holds attention 5 / Profile clicks / Weighted / Include credentials, context that makes people want to know more 6 / Follows from post / Weighted / New followers from a post directly boost its score Important: These are demo weights. Production weights are dynamic feature flags that can change at any time. But the architecture -- which signals are tracked and combined -- is fixed. The 10 Rules of the X Algorithm Rule 1: Likes Are King The favorite/like signal carries the highest weight in the known configuration. Every other strategy is secondary. Content that generates likes will be distributed further than content that generates any other single signal. How to get likes: Make people feel something -- affirmation, surprise, recognition Post insights that make people think "yes, exactly" Share breaking information people want to bookmark Use images and media that are immediately compelling Rule 2: Replies Are the Multiplier Replies are weighted second-highest. A post with 50 likes and 20 replies will generally outscore a post with 80 likes and 2 replies, because the reply signal is disproportionately valuable. How to get replies: End posts with genuine questions Take a clear position that invites response Share experiences that resonate with others' experiences Create "fill in the blank" or "what would you do" prompts Rule 3: Dwell Time Rewards Depth The algorithm explicitly predicts whether someone will dwell on your post and for how long. Content that makes people stop scrolling gets a scoring boost. Content that gets scrolled past without dwelling is penalized via the signal. How to increase dwell time: Use images that require examination, not decoration Write threads that pull people through a narrative Create posts with multiple elements to parse (text + image + link) Avoid walls of text with no visual breaks Rule 4: Author Diversity Limits Spam The algorithm applies exponential decay to repeated posts by the same author: Your second post in someone's feed might be scored at 73% of its raw value. Your third at 52%. Your fourth at 38%. You cannot spam your way to dominance. What this means: 2-4 well-spaced posts per day outperform 10 rapid-fire posts Quality per post matters more than volume If you have multiple things to say, combine them into one strong post rather than splitting into several Rule 5: The OON Wall Is Real Out-of-network (OON) content -- posts from accounts the viewer does not follow -- is multiplied by a weight factor less than 1.0. This is the single biggest structural barrier to growth on the platform. A post from someone you follow might need a weighted score of 0.3 to appear. The same post from a stranger might need a score of 0.6 or higher. How to overcome the OON penalty: Generate enough engagement that your score overcomes the penalty multiplier Get retweeted by accounts that your target audience follows (this puts your content in-network for their followers) Post in topics the retrieval model can match to interested users Build a follower base that creates in-network distribution for your content Rule 6: Negative Signals Are Devastating Block, mute, report, and "not interested" carry negative weights. The score offset calculation ensures that content with net negative engagement is pushed below a threshold: This is not a gentle demotion. It is a structural penalty that is very difficult to overcome with positive signals alone. How to avoid negative signals: Do not bait or enrage -- engagement from anger is offset by blocks and mutes Do not mislead -- corrections generate reports and "not interested" clicks Do not spam -- repetitive content triggers "not interested" and mutes Do not post off-topic in communities -- relevance mismatch produces negative signals Rule 7: The Retrieval Model Matches Topics Before the ranking model scores anything, the retrieval model decides which out-of-network posts even get a chance to be seen. It uses a two-tower neural network that matches user embeddings to post embeddings via dot-product similarity. What this means for growth: Post consistently within your topical niche so the retrieval model can match you to interested users The model learns from your engagement history what topics you are associated with Straying far from your established topics makes you harder to retrieve Topic consistency compounds over time as the model builds a clearer embedding for your account Rule 8: First Impressions Are Final The system aggressively filters previously seen posts using bloom filters and client-sent seen IDs. Once someone scrolls past your post without engaging, they will not see it again. What this means: Your hook must be immediate -- the first line, the first image, the first frame There are no second chances with the same viewer Do not bury the lede -- lead with your strongest point Time your posts for when your audience is active (the recency signal is strong) Rule 9: Video Must Be Long Enough The video quality view (VQV) signal only applies to videos exceeding a minimum duration threshold (). Short video clips that do not meet this threshold get zero VQV weight, meaning one of the positive engagement pathways is simply unavailable to them. What this means: Short clips (under the threshold) lose a scoring dimension If you post video, make it substantive enough to be watched The model tracks watch duration as a continuous signal -- longer watches score higher Rule 10: Follows From Posts Are a Direct Signal The model predicts -- the probability that someone will follow you from this specific post. This directly contributes to your post's score. It is especially valuable for new accounts trying to break through the OON wall. How to trigger follows from posts: Demonstrate unique expertise or perspective Post original reporting or analysis, not just commentary Make it clear what someone will get by following you (more of this type of content) Include context about who you are and why this is your domain The Content Playbook Based on the algorithm's mechanics, here is a structure that works: The High-Performing Post Formula: Hook (first line): Strong, specific, immediately compelling. This is what determines dwell. Value (body): Original insight, breaking information, or clear analysis. This is what determines likes. Engagement prompt (ending): Question, call to action, or implicit invitation to respond. This is what determines replies. Share trigger (embedded): A quotable insight or must-share fact. This is what determines retweets. Timing: The model encodes post age in 60-minute buckets. Engagement velocity in the first hour disproportionately matters. Post when your audience is active, not when it is convenient for you. The age filter removes posts after a configurable threshold. Recency is structural. Format: Text + image outperforms text-only (photo_expand is a positive signal) Threads outperform single posts for dwell time Video that meets the duration threshold activates an additional scoring dimension Links reduce dwell (people click away), but share_via_copy_link is its own positive signal What the Algorithm Cannot Do It cannot evaluate truth. The model predicts engagement, not accuracy. A false but compelling post will outperform a true but boring one. It cannot assess quality. Nuance, depth, and care are not signals. Engagement is the signal. It cannot detect manipulation. Coordinated engagement (reply chains, like farms) will register as genuine engagement signals unless caught by Grox's spam detection before scoring. It cannot be fully audited. The architecture is public. The production weights, training data, and feature flag configurations are not. You can see the machine. You cannot see the dials. The Bottom Line The X algorithm is an engagement maximizer with structural guardrails against spam and negative content. It rewards content that generates likes, replies, and sustained attention. It penalizes content that generates backlash. It limits any single account's dominance. It makes it hard for strangers to reach you. Understanding the algorithm does not mean gaming it. The most sustainable strategy is to create content that genuinely generates the signals the model rewards: content people want to affirm, discuss, share, and follow for more. Use this as a map, not a guarantee. The public code shows the incentives; the live platform still controls the weights. --- Sources: All recommendations are derived from analysis of the xai-org/x-algorithm GitHub repository. See our full technical breakdown for the complete analysis.