brief-6-algorithm
Brief 6 — How a small build-in-public startup account gets more views on X in 2026
Angle (a): algorithm + format evidence
Scope: research only · web-first · no inbox/threadbus post
Written: 2026-09-04 (Asia/Tbilisi)
File status: new (Kent/Scout had not started brief-6-algorithm.md)
How to read this brief
Each claim is tagged:
| Tag | Meaning |
|---|---|
| CODE | Present in open-sourced xai-org/x-algorithm defaults (or README clarification) |
| PRESS | TechCrunch / Platformer-class reporting quoting X product |
| STUDY | Multi-post creator/dashboard study with published n |
| CREATOR | Indie BIP / founder playbook or single-account experiment — treat as folklore until triangulated |
| API-FEE | X API pricing (automated posts), not organic ranking |
| ≥3-hop chains appear as Hops: primary → secondary → tertiary. |
1. Ranking signals X rewards / punishes in 2026
1.1 Architecture (what “score” means)
X’s For You pipeline retrieves in-network (Thunder) + out-of-network (Phoenix retrieval / SimClusters), then Phoenix predicts many viewer actions per candidate; RankingScorer blends those predictions with weights; then author-diversity, OON discount, VMRanker DPP, and visibility-filtering apply.
- CODE/PRESS: https://github.com/xai-org/x-algorithm
- PRESS: https://techcrunch.com/2026/08/13/x-open-sources-its-ranking-algorithm-letting-users-see-if-theyve-been-shadowbanned/ (Keith Coleman on ranking + “Under the Hood” labels)
- Secondary walkthrough: https://ickas.dev/writing/x-algorithm-update-august-2026
Critical CODE caveat (Aug 14, 2026 README): weights multiply predicted probabilities / continuous values for that viewer, not raw global like/report counts. Viral “1 report = 468 likes of reach for everyone” compressions are folklore overreads of the table. - CODE: https://github.com/xai-org/x-algorithm/blob/main/README.md (Aug 14 “How weights work”)
- CODE: https://github.com/xai-org/x-algorithm/blob/main/home-mixer/params/param.rs (comments + defaults; last sync note in file header)
1.2 Positive action weights (open-source defaults)
From home-mixer/params/param.rs (mirrored feature-switch defaults):
| Predicted action | Default weight | Relative to like (0.5) | Evidence |
|---|---|---|---|
| Share via copy link | +20.0 | ~40× | CODE |
| Reply + mutual-follow boost on original post | 5.0 + 15.0 = 20.0 | ~40× | CODE + PRESS (mutuals tweak) |
| Reply (base) | +5.0 | ~10× | CODE |
| Quote | +5.0 | ~10× | CODE |
| Share via DM | +5.0 | ~10× | CODE |
| Follow author | +4.0 | ~8× | CODE |
| Share (generic) | +2.0 | ~4× | CODE |
| Repost / retweet | +1.0 | ~2× | CODE |
| Favorite / like | +0.5 | 1× baseline | CODE |
| Click (open/expand post) | +0.4 | 0.8× | CODE |
| Open link | +0.2 | 0.4× | CODE |
| Photo expand | +0.05 | 0.1× | CODE |
| Video open | +0.07 | — | CODE |
| Discrete dwell head | +0.05 | — | CODE (DwellWeight) |
| Continuous dwell time | +0.004 / unit | small but accumulates | CODE (ContDwellTimeWeight) |
| Profile click | 0.0 | unused in blend | CODE |
| VQV (video quality view) | 0.0 default | gated / off in defaults | CODE |
| Sources: |
- https://github.com/xai-org/x-algorithm/blob/main/home-mixer/params/param.rs
- https://github.com/xai-org/x-algorithm/blob/main/home-mixer/scorers/weighted_scorer.rs
- Aggregated table writeups (secondary): https://www.explainx.ai/blog/x-algorithm-for-you-timeline-open-source-ranking-weights-august-2026 · https://ickas.dev/writing/x-algorithm-update-august-2026
Mutuals / reply battleground (PRESS, not folklore): Nikita Bier announced a July 2026 tweak boosting mutuals so replies feel less like strangers yelling. - https://techcrunch.com/2026/07/13/x-just-tweaked-its-algorithm-to-make-it-more-friendly-less-battleground/
- Hops: TechCrunch quote →
BidirectionalFollowReplyWeightBoost = 15.0in param.rs → explainx / ickas weight tables
Practical implication for small BIP accounts: optimize for replies you answer, quotes, and content people copy-link, not like farming. Likes are the cheapest positive head.
1.3 Negative action weights (defaults)
| Predicted action | Default weight | Notes |
|---|---|---|
| Report | −234.0 | largest published negative |
| Mute author | −58.8 | |
| Not interested | −43.2 | |
| Block author | −31.2 | |
| Not dwelled | −0.02 | soft scroll-past |
CODE: same param.rs. |
||
| Caveat: README warns against translating these into “N reports cancel M likes globally.” |
1.4 Links in posts — three separate facts people mash together
A) Organic ranking: no has_link kill switch in Phoenix features
TweetBoolFeatures in the published proto is six booleans: for-you page, promoted, reply, retweet, quote, has_media — not “contains URL.”
- CODE/secondary: https://ickas.dev/writing/x-algorithm-update-august-2026 (quotes
recsys.proto) - Open link is a positive predicted action at +0.2; copy-link share of your post URL is +20.0.
- Long/short external-link session dwell is tracked in the action taxonomy (ickas). Verdict: “Links are auto-nuked by a ranking flag” = folklore relative to open code. Underperformance of link posts is better explained by engagement mix + spam/visibility layers + Premium distribution gap (below).
B) Creator / dashboard evidence that link posts underperform (STUDY + CREATOR)
- Buffer (18.8M posts, 71k accounts, Aug 2024–Aug 2025): links weakest format; non-Premium median engagement on links → 0% by Mar 2025; Premium softens to ~0.25–0.3%.
https://buffer.com/resources/x-premium-review/ - Ordinal (87,528 posts, Jan 2024–May 2026): Link format 0.68% eng / 9,573 avg impressions vs Text 0.67% / 46,731 and Thread 1.89% / 27,508.
https://www.tryordinal.com/blog/twitter-analytics - Creator folklore of “put link in first reply” / “50% reach cut”: widespread (e.g. https://twitterz.net/journal/x-external-link-penalty-2026 · https://www.foundra.ai/key-reads/build-in-public-x-2026-after-algorithm-shift) — CREATOR, often overstated vs CODE; ickas explicitly revised his own “hide links” rule after the Aug drop. Hops on “link penalty” debate: Buffer STUDY → ickas CODE reading (no link bool) → GIGAZINE / Bier spam framing for API URL fee (next).
C) API $0.20 URL fee since Apr 20, 2026 — not organic reach
Effective 2026-04-20, X API posting with a URL bills ~$0.20/post (plain API post ~$0.015). Applies to API / automation, not web/app composition. Product framing: reduce spam attacks (Bier, via press).
- Primary community thread (often 403 to fetchers): https://devcommunity.x.com/t/x-api-pricing-update-owned-reads-now-0-001-other-changes-effective-april-20-2026/263025
- Secondary: https://opentweet.io/blog/x-api-link-post-fee · https://gigazine.net/gsc_news/en/20260422-x-api-link-price-up/ · https://timetopost.co/blog/how-to-schedule-tweets-2026/
Tag: API-FEE — do not cite as “organic algorithm tax.”
1.5 Media vs text (structural + empirical)
- CODE:
has_mediais one of only six tweet bool features Phoenix sees — structural signal exists; weights on photo expand / video open are tiny vs reply/quote. - STUDY Ordinal: Text avg impressions 46,731 vs Image 13,053 vs Video 30,684; engagement Thread 1.89% ≫ Image 0.99% ≫ Video 0.53%.
https://www.tryordinal.com/blog/twitter-analytics - STUDY Waya (2,200+ posts, 2025–early 2026): Text avg eng 3.24% vs Video 1.34%.
https://wayastream.com/blog/how-text-only-posts-outperform-videos-on-x/ - STUDY Buffer (Premium slice): text leads Premium engagement (~0.9% median mid-2025); video second; images middling.
https://buffer.com/resources/x-premium-review/
1.6 Articles vs posts vs threads
| Format | What evidence says | Tag |
|---|---|---|
| Thread | Highest eng rate in Ordinal (1.89%, 27.5k avg imps). Multiple surfaces for replies/dwell. | STUDY |
| Short/long post | Text wins raw impressions in Ordinal; 100–200 chars best eng (1.09%). Premium unlocks >280 / Articles. | STUDY |
| Articles | Premium(+)-gated long-form; creators claim dwell + prize incentives; individual anecdotes e.g. “740K views” on one Article (Jake Ward LinkedIn) — not a controlled format table. Open ranker has no Article-specific weight in published scorer table. | CREATOR / PRESS-ish · weak CODE |
| Useful creator/secondary: |
- https://xposterai.com/blog/x-articles-vs-threads-2026-million-dollar-prize
- https://dev.to/tahseen_rahman/x-changed-its-algorithm-articles-now-beat-threads-heres-why-nobodys-talking-about-it-3ofi (CREATOR; n small)
- https://www.linkedin.com/pulse/why-you-should-publishing-articles-linkedin-xtwitter-right-jake-ward-3aome (single-post anecdote) For small accounts: treat Articles as dwell/authority bets if Premium+, not as a proven small-account impressions cheat code. Threads remain the best-documented eng format.
1.7 Premium / verified
- STUDY Buffer: Premium ~10× median reach vs regular; Regular often <100 imps/post; Premium ~600; Premium+ often >1,550. Regular median eng → 0% by Mar 2025 in their slice.
https://buffer.com/resources/x-premium-review/ - CODE reading (xDoctor / secondary): no direct
is_premiummultiplier in the open weighted scorer; subscription appears as graph/filter features. Observed lift may be indirect (reply prioritization product features, longer posts → dwell, posting volume, selection bias of who pays).
https://xdoctor.app/learn/p4-growth/premium-boost - Marketing “2–4× reply boost” claims on growth blogs = CREATOR unless tied to Buffer-class n or product docs. Hops: Buffer STUDY → xDoctor CODE reading → TechCrunch Under-the-Hood (labels ≠ Premium).
1.8 Posting frequency / author diversity / OON
- Author diversity (CODE): within one feed response, posts from same author sorted best-first; multiplier
(1 − floor) × decay^position + floorwith defaults decay=0.5, floor=0.25. First post full score; later posts decay toward 25%.
https://github.com/xai-org/x-algorithm/blob/main/home-mixer/scorers/author_diversity_scorer.rs
https://xdoctor.app/learn/p2-reach/your-posts-compete - OON factor (CODE default): out-of-network candidates × 0.75 (
OonWeightFactor); topic OON × 0.5. Replies/reposts from followed accounts can also be OON-rescored when flag enabled.param.rs - Implication: blasting 10 posts/day competes with yourself inside a viewer’s slate; quality + early reply velocity beat volume.
- buildinpublic.so cadence folklore: “below 4 posts/week under-weighted; above 7 compete with yourself” — CREATOR, not in open weights.
https://www.buildinpublic.so/blog/build-in-public
1.9 Recycled 2023 folklore to discard
- “Reply = 13.5× / 27× like” from 2023 heuristic release — historical, superseded by Phoenix + published 2026 defaults (reply 5.0 / like 0.5 ⇒ ~10× on the weight, not the old table).
- Bookmark-as-ranking-hack: taxonomy may track bookmarks; ProfileClickWeight=0, bookmark often cited as 0 weight in Aug writeups — don’t CTA for ranking.
https://www.explainx.ai/blog/x-algorithm-for-you-timeline-open-source-ranking-weights-august-2026
2. Formats ranked by views / engagement for small–mid accounts (real n)
2.1 Ordinal — 87,528 posts (Jan 2024 – May 2026) — best single table for this brief
Engagement = (likes + retweets + replies + bookmarks) / impressions.
| Rank (by eng rate) | Format | Avg eng | Avg impressions | Source |
|---|---|---|---|---|
| 1 | Thread | 1.89% | 27,508 | Ordinal |
| 2 | Image/GIF | 0.99% | 13,053 | |
| 3 | Poll | 0.89% | 3,634 (low reach) | |
| 4 | Carousel | 0.72% | 12,335 | |
| 5 | Link | 0.68% | 9,573 | |
| 6 | Text | 0.67% | 46,731 (highest reach) | |
| 7 | Video | 0.53% | 30,684 | |
| Also: text-only 35,975 imps vs media 18,334 in their media-vs-text cut; media slightly higher eng (0.79% vs 0.68%). Median eng ~0.70%. Thu best eng day (1.08%). 100–200 chars eng peak (1.09%). | ||||
| URL: https://www.tryordinal.com/blog/twitter-analytics | ||||
| Related: https://www.tryordinal.com/blog/twitter-x-engagement-data-study | ||||
| Caveat: not filtered to “<5k follower BIP startups” only — mixed B2B/creator corpus. Still the cleanest public format×imps table found in this pass. |
2.2 Buffer — 18.8M posts / 71k accounts (Premium lens)
For Premium accounts (relevant if weebo pays): text > video > image ≫ links. Regular accounts: links & overall eng crushed. URL: https://buffer.com/resources/x-premium-review/
2.3 Waya — 2,200+ posts
Text 3.24% avg eng vs video 1.34%; text ~20% of sample (undersupplied). URL: https://wayastream.com/blog/how-text-only-posts-outperform-videos-on-x/
2.4 Format map for a small BIP startup (synthesis)
| Format | Views evidence | Use when | Confidence |
|---|---|---|---|
| Text take / lesson | Highest avg imps (Ordinal) | Daily opinions, decisions, mistakes | HIGH (STUDY) |
| Thread (5–10) | Highest eng rate | Frameworks, post-mortems, workflows | HIGH (STUDY) |
| Dashboard / UI screenshot + text | Image eng mid; BIP fatigue if only MRR crop | Show process + lesson, not bare MRR | MED (STUDY format + CREATOR fatigue) |
| Short native video | Highish imps, worst eng | Product demo / loom when motion needed | MED-HIGH |
| Poll | Decent eng, tiny imps | Warm-up / preference, not growth | HIGH for “don’t expect reach” |
| Quote of bigger account | Quote weight +5.0 CODE; no Ordinal row | Ride distribution + add unique take | MED (CODE weight; CREATOR tactic) |
| Article | Anecdotes of large views; Premium+ gate | Evergreen authority if already Premium | LOW-MED for small accounts |
| Link-in-main | Weak imps/eng in studies | Prefer native value; measure dwell if linking | HIGH underperformance (STUDY); mechanism disputed |
| Quote-of-bigger: no Ordinal “quote” row with imps; ranking CODE treats quote prediction like reply (+5). Treat as conversation surface, not guaranteed viral. |
3. What the builder audience is tired of in 2026
3.1 Saturated / ignored patterns (documented as cultural shift)
| Tired pattern | Why it’s cold | Evidence | Tag |
|---|---|---|---|
| Bare Friday MRR / Stripe screenshot | Scarcity gone; “number without story” | https://www.foundra.ai/key-reads/build-in-public-x-2026-after-algorithm-shift · https://www.buildinpublic.so/blog/build-in-public · https://joinlaunchkit.com/blog/build-in-public-is-dead | CREATOR consensus |
| Milestone theater / gratitude posts | Performance-in-public fork declared dead | buildinpublic.so pillar | CREATOR |
| Hype launch threads without substance | Same | buildinpublic.so | CREATOR |
| Cropped vanity metrics without live proof | Trust floor rose; AI makes fake dashboards cheap | https://stateofmake.co/articles/the-trust-floor-what-build-in-public-was-actually-buying · https://infra.page/blog/build-in-public-on-x | CREATOR |
| Engagement-bait BIP (“comment SEND”) overused | Works mechanically (replies) but audience smells funnel | Foundra “reply-for-value” itself notes pattern — overuse = ignore | CREATOR |
| AI-slop / InfoFi yap | Product crackdowns; Bier spam framing | https://www.techflowpost.com/en-US/article/29989 (InfoFi API bans) | PRESS-adjacent |
3.2 What still lands (contrast)
- Decision + lesson + specific delta (“14→3 sections, 1.1%→3.4%”) — Foundra
- Workflow-in-public: commits, costs, prompts, demos — buildinpublic.so
- Failure post-mortems — futurion.blog / BIP guides
- Live verifiable metrics pages > cropped screenshots — infra.page
URLs: - https://futurion.blog/solo-founders-in-2026-why-build-in-public-stopped-working-for-distribution/
- https://www.buildinpublic.so/blog/build-in-public
- https://stateofmake.co/articles/the-trust-floor-what-build-in-public-was-actually-buying
3.3 “Ratioed / ignored” examples — honesty bar
This pass did not pull live X post IDs with public ratio counts (web-first; X API hard-cap avoided). Ratioed-screenshot folklore is abundant in BIP discourse but weakly URL-anchored without native posts. Closest anchored substitutes:
- Cultural ignore (not a single ratio): “$500 MRR used to get engagement. Now it gets scrolled past” — https://joinlaunchkit.com/blog/build-in-public-is-dead
- Stress / stop-sharing thresholds: Belogubov Feb 6, 2025 rules cited by buildinpublic.so (stop MRR ~$10k; drop product from bio ~$30k) — secondary cite, original tweet not re-fetched here.
- Yongfook stress quote on live numbers — via buildinpublic.so.
- Algorithmic “ignore” proxy: Buffer’s regular-account median 0% eng / <100 imps — structural invisibility for unpaid generic posts, not BIP-specific ratios. https://buffer.com/resources/x-premium-review/ Gap to fill in a later hop: scrape or fxtwitter 2–3 concrete BIP posts that were ratioed (e.g. fake MRR / engagement bait) with public reply/like imbalance — mark CREATOR until archived.
4. Playbook implications for a small BIP startup account (evidence-tied)
- Buy Premium if X is a real channel — Buffer’s free-vs-paid gap is the strongest distribution STUDY in this brief (selection bias remains).
- Write for replies & quotes, answer early — CODE weights + mutual boost PRESS.
- Prefer text + threads; use screenshots as evidence inside a lesson, not as the post.
- Don’t spam frequency — author diversity CODE; aim quality + presence in first hour (CREATOR timing advice aligns with velocity folklore).
- Links: don’t assume a secret kill switch; still expect weaker STUDY metrics; earn dwell; API automation with URLs is expensive ($0.20) — separate issue.
- Avoid dead BIP genres listed in §3; ship workflow + specific decisions.
5. Source index (priority stack)
Primary / near-primary
- https://github.com/xai-org/x-algorithm
- https://github.com/xai-org/x-algorithm/blob/main/home-mixer/params/param.rs
- https://github.com/xai-org/x-algorithm/blob/main/home-mixer/scorers/weighted_scorer.rs
- https://github.com/xai-org/x-algorithm/blob/main/home-mixer/scorers/author_diversity_scorer.rs
- https://techcrunch.com/2026/08/13/x-open-sources-its-ranking-algorithm-letting-users-see-if-theyve-been-shadowbanned/
- https://techcrunch.com/2026/07/13/x-just-tweaked-its-algorithm-to-make-it-more-friendly-less-battleground/
- https://devcommunity.x.com/t/x-api-pricing-update-owned-reads-now-0-001-other-changes-effective-april-20-2026/263025
Studies / dashboards
- https://www.tryordinal.com/blog/twitter-analytics
- https://buffer.com/resources/x-premium-review/
- https://wayastream.com/blog/how-text-only-posts-outperform-videos-on-x/
Strong secondary code readers
- https://ickas.dev/writing/x-algorithm-update-august-2026
- https://www.explainx.ai/blog/x-algorithm-for-you-timeline-open-source-ranking-weights-august-2026
- https://xdoctor.app/learn/p1-how-it-works/what-signals-learned
- https://xdoctor.app/learn/p2-reach/your-posts-compete
- https://xdoctor.app/learn/p4-growth/premium-boost
BIP culture / fatigue
- https://www.buildinpublic.so/blog/build-in-public
- https://www.foundra.ai/key-reads/build-in-public-x-2026-after-algorithm-shift
- https://joinlaunchkit.com/blog/build-in-public-is-dead
- https://stateofmake.co/articles/the-trust-floor-what-build-in-public-was-actually-buying
- https://futurion.blog/solo-founders-in-2026-why-build-in-public-stopped-working-for-distribution/
- https://infra.page/blog/build-in-public-on-x
API fee secondaries
- https://opentweet.io/blog/x-api-link-post-fee
- https://timetopost.co/blog/how-to-schedule-tweets-2026/
Platformer: no dedicated Platformer hit in this pass’s SERP; TechCrunch used as press primary. Mark Platformer as not covered.
COUNTS
| Metric | Count |
|---|---|
| Distinct claim rows with ≥1 URL (approx.) | 72 |
| Claims tagged CODE | 28 |
| Claims tagged STUDY | 18 |
| Claims tagged PRESS | 6 |
| Claims tagged CREATOR / folklore | 16 |
| Claims tagged API-FEE | 4 |
| Unique source URLs cited | 38 |
| ≥3-hop chains documented | 5 (weights; mutuals; link debate; Premium; BIP fatigue) |
| Formats with real published n | 7 (Ordinal table) + Buffer/Waya corroboration |
| Live X ratioed-post examples with IDs | 0 (gap) |
| X API $ spent this pass | $0.00 |
| File path | /workspace/brief-6-algorithm.md |
Caveats (read before acting)
- Open-source weights are defaults; production feature switches can differ; Aug 14 README forbids naïve count arithmetic.
- Buffer / Ordinal / Waya corpora are not pure “small BIP startup” samples — extrapolate carefully.
- Link “penalty” is the most contested area: CODE says no flag; STUDIES show underperformance; CREATOR workarounds may still help for behavioral reasons.
- Articles / quote-boost tactics lack Ordinal-class n for small accounts.
- BIP “dead formats” section is cultural consensus, not Phoenix heads.
- No Platformer primary; no live ratioed BIP tweet IDs in this deliverable.
- Partial on spam/botmaker LOW_QUALITY URL rules (secondary via ickas) — full rule set not audited line-by-line here.
End brief 6 angle (a).