What changed
The repo's May 15, 2026 update added a runnable Phoenix inference pipeline, Grox content understanding, ads blending, richer hydrators, and more candidate sources.
Practical marketer report
A source-grounded guide to how X's open-source recommendation system retrieves, ranks, filters, and selects posts, translated into practical actions for marketers and creators.
Primary source: github.com/xai-org/x-algorithm
Commit inspected: 0bfc2795d308f90032544322747caacd535f75ae
This is not a complete production disclosure or a promise of reach. The repo includes representative code and demo/frozen Phoenix artifacts; live production systems, weights, and experiments may differ. Recommendations are labeled as confirmed, inferred, or hypothesis.
Executive Summary
The repo's May 15, 2026 update added a runnable Phoenix inference pipeline, Grox content understanding, ads blending, richer hydrators, and more candidate sources.
Retrieval happens before ranking. X predicts multiple viewer actions, then filters and selects candidates. Likes are only one visible signal.
Tighten your profile promise, publish inside clear topic clusters, test value-first formats, and measure profile clicks, follows, shares, replies, and negative signals.
Stop treating hashtags, posting volume, or engagement bait as standalone reach strategies. Avoid tactics that increase mutes, blocks, reports, or not-interested feedback.
System Overview
Confirmed The repo describes Home Mixer as the orchestration layer that fetches user context, retrieves candidates, hydrates them, filters them, scores them, selects top candidates, and runs final checks. Source: README.md, home-mixer/, candidate-pipeline/.
Confirmed Thunder serves in-network candidates from followed accounts. Phoenix retrieves and ranks out-of-network candidates. Source: thunder/, phoenix/README.md, home-mixer/sources/.
Confirmed Grox appears as a content-understanding pipeline for classifiers, embedders, and task execution. Ads blending appears under home-mixer/ads/.
| Layer | Plain-English role | Source |
|---|---|---|
| Query hydrators | Fetch viewer context: follows, topics, mutes, blocks, mutual follows, history. | home-mixer/query_hydrators/ |
| Sources | Fetch candidates from Thunder, Phoenix, ads, topics, prompts, and other sources. | home-mixer/sources/ |
| Candidate hydrators | Add post, author, language, media, visibility, subscription, engagement, and video data. | home-mixer/candidate_hydrators/ |
| Filters | Remove posts that are duplicates, seen, old, muted, blocked, unsafe, or otherwise ineligible. | home-mixer/filters/ |
| Scorers | Run Phoenix, weighted scoring, author diversity, and out-of-network adjustments. | home-mixer/scorers/ |
Ranking Logic
Confirmed Phoenix uses a two-stage flow: retrieval narrows a large corpus using a two-tower model; ranking orders candidates with a transformer model. Source: phoenix/README.md, phoenix/run_pipeline.py.
Confirmed home-mixer/scorers/weighted_scorer.rs combines predicted actions including favorite, reply, repost, photo expand, click, profile click, video quality view, share, share via DM, copy link, dwell, quote, quoted click, dwell time, follow author, not interested, block author, mute author, and report.
Strong inference Meaningful engagement is probably more valuable than shallow engagement because the scorer includes deeper actions such as reply, share, profile click, dwell, video quality view, and follow author, not just favorite.
Confirmed Negative feedback can suppress content because not interested, block author, mute author, and report are visible scoring inputs, while filters also remove blocked/muted authors and visibility-filtered content.
Filtering and Eligibility
| Area | Marketing translation | Confidence |
|---|---|---|
| Duplicates and repost dedupe | Do not repeat the same idea with tiny wording changes. | Confirmed |
| Old posts | Publish when your audience can respond while content is fresh. | Confirmed |
| Previously seen/served | Repetition is not a durable reach strategy. | Confirmed |
| Muted keywords and blocked/muted authors | Avoid language and behavior that trains target users to hide you. | Confirmed |
| Visibility, spam, violence/gore, deleted content | Brand-safe, non-spammy content has fewer eligibility risks. | Confirmed |
| Conversation dedupe | Reply with added value instead of flooding a thread. | Strong inference |
Discovery
Confirmed Out-of-network recommendation means posts can come from outside the viewer's follow graph through Phoenix retrieval. Source: phoenix/README.md, home-mixer/sources/phoenix_source.rs.
Confirmed The repo includes followed users, followed topics, inferred topics, language, media, mutual follows, impressions, served history, and user action sequences. Source: home-mixer/query_hydrators/, home-mixer/candidate_hydrators/.
Hypothesis Niche consistency may help the model understand who should see the content because retrieval and ranking use user history, embeddings, topics, and content understanding.
Social Marketer Action Plan
Make bio, pinned post, recurring topics, and offers point to the same audience promise. Strong inference
Build repeatable topic clusters and value-first formats. Hypothesis
Ask precise questions that produce useful replies and shares, not one-word bait. Strong inference
Use video for demos and teardowns that earn watch time. VQV and video duration logic are visible. Confirmed
Plan publishing around audience availability because Thunder and age filters emphasize recent content. Confirmed
Reduce content that causes not interested, block, mute, or report feedback. Confirmed
Testing and Measurement
| Metric | Use | Confidence |
|---|---|---|
| Replies with substance | Track replies that add examples, objections, or questions. | Confirmed |
| Reposts, quotes, shares | Measure how often posts are passed to others. | Confirmed |
| Profile clicks and follows | Measure whether attention converts into audience growth. | Confirmed |
| Dwell and video quality proxies | Use thread completion, video retention, and thoughtful replies as proxies. | Strong inference |
| Negative feedback | Watch for unfollows, hostile non-target replies, and any visible hide/report indicators. | Confirmed |
Tag every post by audience, topic pillar, format, hook type, media type, CTA, and publish window. X Analytics may not expose every model signal, so public metrics should be treated as proxies.
Audience-Specific Notes
Checklists
Examples
Marketing is changing fast. Thoughts?
Most small brands treat X like a billboard. Better test: post one useful teardown daily for 14 days, then track replies, profile clicks, and follows per impression.
Reply YES if you want the secret.
What is one acquisition channel that worked once but stopped compounding? I am collecting patterns for a teardown and will share the best fixes.
AI will change every business.
For solo consultants, AI is most useful when it turns sales calls into follow-up assets: recap, objection list, proposal outline, and next-email draft.
New blog: example.com/post
We analyzed 47 onboarding flows. The biggest retention leak was unclear first-session success. Three fixes, then the full post.
Myths and Cautions
30-Day Plan
Clarify bio, pinned post, audience, and topic pillars. Publish 5-7 focused posts.
Test short insight, checklist, teardown, short video, useful thread, and value-first link post.
Reply early, turn questions into follow-up posts, and build relationships with adjacent accounts.
Compare useful engagement, profile clicks, follows, and negative feedback. Decide what to repeat, revise, and stop.
Source Notes
README.md: architecture, update notes, pipeline stages, scoring, filtering.phoenix/README.md: retrieval, ranking, two-tower model, candidate-isolated transformer.home-mixer/scorers/weighted_scorer.rs: visible action scores and weighted scoring structure.home-mixer/scorers/phoenix_scorer.rs: Phoenix prediction integration.home-mixer/scorers/author_diversity_scorer.rs and oon_scorer.rs: diversity and out-of-network adjustments.home-mixer/filters/: duplicate, age, self-post, muted keyword, social graph, subscription, seen/served, visibility, and conversation filters.home-mixer/query_hydrators/, candidate_hydrators/, sources/, ads/, candidate-pipeline/, thunder/, grox/.| Claim | Evidence path | Confidence |
|---|---|---|
| Home Mixer runs hydration, sources, filters, scorers, selection, post-selection filters, and side effects. | README.md, candidate-pipeline/, home-mixer/ | Confirmed |
| Phoenix uses retrieval then ranking. | phoenix/README.md, phoenix/run_pipeline.py | Confirmed |
| Weighted scoring includes positive and negative action predictions. | home-mixer/scorers/weighted_scorer.rs | Confirmed |
| Eligibility filters cover social graph, muted keywords, prior served/seen, age, duplicates, subscription, visibility, and conversation dedupe. | home-mixer/filters/ | Confirmed |
| Niche consistency should improve model-audience matching. | phoenix/README.md, grox/, home-mixer/query_hydrators/ | Hypothesis |