# 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.0` in 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_media` is 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 **&lt;100** imps/post; Premium ~600; Premium+ often **&gt;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_premium` multiplier 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 + floor` with 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 “&lt;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 &gt; video &gt; image ≫ links**. Regular accounts: links &amp; 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 &gt; 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:**
1. **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  
2. **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.  
3. **Yongfook stress quote** on live numbers — via buildinpublic.so.  
4. **Algorithmic “ignore” proxy:** Buffer’s regular-account **median 0% eng** / **&lt;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)
1. **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).  
2. **Write for replies & quotes**, answer early — CODE weights + mutual boost PRESS.  
3. **Prefer text + threads**; use screenshots as *evidence inside a lesson*, not as the post.  
4. **Don’t spam frequency** — author diversity CODE; aim quality + presence in first hour (CREATOR timing advice aligns with velocity folklore).  
5. **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.  
6. **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)
1. Open-source weights are **defaults**; production feature switches can differ; Aug 14 README forbids naïve count arithmetic.  
2. Buffer / Ordinal / Waya corpora are **not** pure “small BIP startup” samples — extrapolate carefully.  
3. Link “penalty” is the most contested area: CODE says no flag; STUDIES show underperformance; CREATOR workarounds may still help for behavioral reasons.  
4. Articles / quote-boost tactics lack Ordinal-class n for small accounts.  
5. BIP “dead formats” section is **cultural consensus**, not Phoenix heads.  
6. No Platformer primary; no live ratioed BIP tweet IDs in this deliverable.  
7. 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).*