Feature proposal · for X product and engineering

True Friends Boost
+ Grok Friends Circle

Recouple followers to views. Let people star the accounts they trust, guarantee those posts reach them, and let Grok curate the circle by vibe, reaching two and three hops into the trust graph. Built as a native extension of X's open-source algorithm: Home Mixer, Thunder, Phoenix and Grox.

Open the flagship demo, real Grok Try Circle mode Jump to the integration spec

00 · The problem, in the users' own wordsThree posts wrote this brief

Liv Boeree · @Liv_Boeree · June 11, 2026

"Remember the good ol' days when your followers would actually get shown your posts? This is a cross-platform phenomenon btw. They've all made followers/subscribers less relevant to post performance, which pushes creators into current-thing clickbait if they want any real growth. This is the path to idiocracy."

"Whichever platform directly recouples followers to views (and aggressively culls bots instead of leaning into them) will win in the long run. People are crying out for trustworthy content from familiar people. But modern algorithms don't reward it."

Jason Calacanis · @Jason

"It would be cool if you could click 'show all posts' on the profile pages of your true friends on X. Kinda like the alerts functionality on YouTube. You still get the fun of the algo, but you can also force showing the accounts you love in your FYP."

David T Phung · @davidtphung

"I'm also for a Grok led way of curating a friends timeline based on topic or vibe I'm putting together for the day, plus second and third ties connected to your friends network circle, rather than a friend-only TL mode."

01 · Executive summaryMake loyalty a ranking signal

The diagnosis is precise: every major feed has decoupled following from seeing. Creators who refuse to chase the current thing lose reach even when their work stays excellent, and readers lose the people they deliberately chose. The platform that restores that contract, without giving up algorithmic discovery, wins the creators and the trust at the same time.

True Friends Boost lets a user star up to 150 accounts. Starred authors carry a persistent, user-granted ranking signal: their posts are hydrated as guaranteed candidates from Thunder and receive a calibrated bias in Phoenix scoring, capped by a user-controlled share of For You (default 25%). Show all posts is the per-account maximum setting, Jason's alerts pattern, native to the feed. Grok Friends Circle is the third tab: describe today's vibe in a sentence and Grok curates posts from your True Friends and, if you opt in, the people they trust, two and three hops out, with every post labeled by its path.

Why X wins long-term: the signal is honest (slots are scarce and cannot be bought), it is bot-resistant (rings traverse only verified-human mutual edges), and it pays exactly the creators Liv describes, the consistent ones with real audiences. Discovery stays untouched for the rest of the feed. The feature is also a data flywheel: every star is a high-precision trust label that improves Phoenix for everyone.

02 · Design thinking processEmpathize → Define → Ideate → Prototype → Test

Empathize

Define

How might we guarantee delivery from the accounts a user explicitly trusts, without sacrificing discovery, and without creating a new growth-hack surface for bots and engagement farms?

Ideate (and what we rejected)

Prototype

The working demo implements all three surfaces with the scoring math visible: every boosted post carries a "Why?" chip that opens the exact Phoenix bias and Thunder guarantees applied. The wireframes in section 06 came first; the demo is their high-fidelity form.

Test (what we would measure first)

03 · PersonasThree people this is for

The principled creator

Mara, 38 · science educator, 480K followers

Ten years of consistent, sourced explainers. Reach fell 70% in two years because she will not do outrage hooks. Needs: her actual followers to reliably see her work, so consistency is viable again. True Friends gives her a floor built from earned trust, not hacked engagement.

The loyal reader

Devon, 29 · engineer, follows 600 accounts

Follows 25 people he genuinely cares about and misses most of what they post. Wants Jason's button: star them, never miss them, keep the algorithm for everything else. Stars 18 accounts in week one, sets "show all posts" for 3.

The intentional curator

Sofia, 33 · designer and weekend filmmaker

Different days, different minds: deep-work mornings, film-study nights. Wants to tell Grok the vibe and get her circle filtered to it, plus the friends-of-friends she would never find alone. Circle mode with 2nd degree on is her Sunday ritual.

The anti-persona

The engagement farm

Buys followers, swaps stars in pods, farms reposts. Designed against: slots are scarce, stars are private, rings traverse only reciprocal human-verified edges, and graph anomaly detection (Grox spam classifiers) eats coordinated patterns.

04 · Feature specificationThree capabilities, one signal

CapabilityWhat it doesPipeline integration
True Friends Boost Star up to 150 followed accounts from any profile. Starred authors get guaranteed candidacy and a calibrated scoring bias inside For You, capped by the user's share setting (10 to 40%, default 25%). Stars are private and reversible. New true_friend edge in the user graph store; hydrated in Home Mixer query_hydrators; guaranteed candidate quota in the Thunder source; additive logit bias in Phoenix ranking; share cap enforced in selectors.
Show all posts Per-account maximum: every post from this author surfaces, newest first, alerts-style but inside the feed. Only available for starred accounts, capped at 30 accounts. Thunder per-user store flagged delivery=all; bypasses Phoenix score floor in filters; freshness-first placement in selectors.
Grok Friends Circle A third feed tab. Free-text vibe ("calm long reads", "builder energy") plus a ring selector: Friends only, +2nd degree, +3rd degree. Grok plans visibly, then returns the circle's posts ranked by semantic fit, each labeled with its graph path and match strength. Candidate source restricted to graph rings (mutual-follow traversal with trust decay); Grox embeds the vibe text and post content; Phoenix reranks with similarity blended into the engagement prior; the plan UI mirrors the real stages.

Non-negotiables honored: followers recoupled to views for chosen accounts; the rest of For You untouched (discovery preserved); consistent creators become viable; Grok handles vibe and network expansion; native to the open-source pipeline; one tap to grant, one tap to revoke.

05 · Interaction flowsStep by step

Flow A · Marking a True Friend

Devon opens Liv's profile (or taps her name anywhere in the feed, the demo uses a profile sheet).
Next to Following sits Add True Friend with a star outline. One tap: the star fills gold, toast confirms "Liv added. Her posts now always reach your For You."
The sheet shows 18 of 150 slots used, with the line "slots keep the signal honest, no one can buy their way in."
Back in For You, Liv's next post carries a small gold True Friend chip and a Why? affordance that opens the scoring receipt.
Undo is symmetric: tap the star again, everything reverts, nothing nags.

Flow B · Show all posts (Jason's button)

On a starred profile, a Show all posts switch sits under the True Friend button, with the copy "every post, newest first, like alerts without leaving the feed."
Toggle on: Thunder flags the author delivery=all for this viewer. Their newest post pins to the top region of the next For You load with an All posts on chip.
The switch is disabled for non-starred accounts (star first), capping the firehose to people you actually chose.

Flow C · Grok Friends Circle with a vibe

Sofia taps the Circle tab (gold star). Grok greets with "what is the vibe today?" plus suggestion chips.
She types "faith and film night" and widens the ring selector to +2nd degree.
Grok's plan renders live: reading her circle, embedding the vibe with Grox, matching posts, ranking. Four steps, each checked off.
The feed returns: her friend Ada's 35mm thread (Vibe 96%), then Maya, labeled 2nd · via Ada Reyes with the match strength. Every post explains itself.
One tap back to For You. The circle never replaces the algorithm, it sits beside it.

06 · Multi-fidelity designsWireframes → components → high fidelity

Low-fi · Profile
Follow row gains a second pill: star + "Add True Friend". Below, the "Show all posts" switch with one line of explanation and the slots counter.
Low-fi · For You post
Boosted posts add one quiet chip row: gold True Friend chip, optional "All posts on", and "Why?" which expands the scoring receipt inline. No new card type, no purple.
Low-fi · Circle tab
Vibe input pill, suggestion chips, ring segmented control (Friends / +2nd / +3rd), then the visible Grok plan and the labeled feed.

Component specs and micro-interactions

High fidelity: the demo is the high-fidelity deliverable, exact Lights-out tokens (#000, #e7e9ea, #71767b, #2f3336, #1d9bf0), Chirp type ramp, the real verified badge, mesh avatars, and every interaction above implemented and inspectable. It is a single dependency-free HTML file, stronger than a Tailwind scaffold for handoff because the computed styles are the spec.

07 · Deep technical integrationInside the open-source pipeline

Component names and stage order follow xai-org/x-algorithm: Home Mixer's Rust pipeline (query_hydrators → sources → candidate_hydrators → filters → scorers → selectors), Thunder's in-memory per-user post store, Phoenix's two-tower retrieval plus transformer ranker, and Grox's embedders and classifiers.

request ──▶ home-mixer/for_you_server.rs query_hydrators + TrueFriendSeedHydrator (load starred set, share cap, delivery=all flags) sources thunder ──▶ guaranteed TF quota (min-K per starred author, freshness window x4) phoenix retrieval (two-tower) unchanged, discovery preserved circle source: graph rings R1/R2/R3 (Circle tab only) candidate_hydrators + tf_features (is_true_friend, delivery_all, ring_path, path_trust) + grox vibe embedding similarity (Circle tab only) filters delivery=all bypasses the score floor; ring candidates require human-verified mutual edges scorers phoenix ranker logits + b_tf bias (calibrated per user share) selectors share cap enforcement (TF exposure ≤ user setting), then standard dedupe/diversity side_effects log tf_impressions for the recoupling metric

7.1 · The persistent signal (Query Hydration + Phoenix)

Stars live as true_friend edges beside follows. At request time the hydrator loads them once; at scoring time Phoenix applies an additive logit bias so starred authors win ties decisively but cannot drown the feed (the share cap in selectors is the hard guarantee).

// home-mixer/src/query_hydrators/true_friend_seed_hydrator.rs
pub struct TrueFriendSeedHydrator;
impl QueryHydrator for TrueFriendSeedHydrator {
    async fn hydrate(&self, q: &mut ForYouQuery) -> Result<()> {
        let tf = graph_client.true_friends(q.user_id).await?;   // ≤150 ids
        q.features.insert("tf.set", tf.ids);
        q.features.insert("tf.share_cap", tf.share_cap);        // 0.10..=0.40
        q.features.insert("tf.delivery_all", tf.delivery_all);  // ≤30 ids
        Ok(())
    }
}
# phoenix/ranking: bias applied to the ranker's engagement logits
def final_score(logits, feats):
    s = engagement_blend(logits)              # existing learned blend
    if feats["is_true_friend"]:
        s += B_TF * calib(feats["tf_share_cap"])   # additive logit bias, B_TF ≈ 1.8
    if feats["ring_path"]:                          # circle mode only
        s = s * (0.4 + 0.6 * feats["vibe_sim"]) * feats["path_trust"]
    return s

The bias is calibrated, not constant: a per-user controller nudges B_TF so realized True Friend exposure converges to the chosen share (PID on the 7-day impression ratio). Users move a slider; the controller does the math.

7.2 · Thunder extensions (guaranteed delivery)

// thunder: per-user store lookup gains a starred-author quota
fn in_network_candidates(user: UserId, q: &Query) -> Vec<Post> {
    let mut out = recent_posts(user.follows, q.window);          // existing path
    for friend in q.tf_set {
        // guarantee min-K freshest posts per starred author,
        // delivery_all authors get an extended window and no K cap
        let k = if q.delivery_all.contains(friend) { usize::MAX } else { MIN_K };
        out.extend(freshest(friend, k, q.window * 4));
    }
    out.dedupe()
}

Thunder already holds recent posts per author in memory, so the quota is a lookup-pattern change, not a storage change. Sub-millisecond stays sub-millisecond.

7.3 · Grox vibe understanding (Circle mode)

# grox: vibe text and posts share one embedding space
vibe_vec = grox.embed_text(vibe)                  # "faith and film night"
for post in ring_candidates:
    post.vibe_sim = cosine(vibe_vec, grox.post_embedding(post))
keep = [p for p in ring_candidates if p.vibe_sim > TAU]   # TAU ≈ 0.35

Grox's existing embedders already power category classification; the vibe is just a query-time text embed against precomputed post vectors. No new model required for v1; a fine-tuned vibe head is a fast follow.

7.4 · Graph traversal, 2nd and 3rd degree

# ring expansion over the mutual-follow graph with trust decay
R1 = tf_set
R2 = { b for a in R1 for b in mutuals(a)
       if edge_weight(a,b) > THETA and human_verified(b) }      # THETA ≈ 0.3
R3 = { c for b in R2 for c in mutuals(b)
       if edge_weight(b,c) > THETA and human_verified(c) }
path_trust(post) = Π edge_weights along the path   # R1=1.0, R2≈0.5..0.7, R3≈0.2..0.45
# caps: |R2| ≤ 2000, |R3| ≤ 5000 per request, sampled by trust

Mutual edges only (both follow each other) and human-verified only: this is where Liv's "aggressively cull bots" lands. A bot can buy followers; it cannot buy reciprocal follows from verified humans inside someone's trusted ring. Grox spam classifiers prune coordinated clusters before they enter any ring.

7.5 · Phoenix transformer changes

08 · Metrics, risks, anti-abuseHow we know it works

Success metrics

MetricDefinitionTarget (90 days)
Recoupling ratioMedian creator: impressions on followers ÷ follower count, starred cohort vs control+3x for starred creators
Creator viabilityPosting consistency and retention of non-clickbait creators (Grox category classifier)Churn down 20%
Reader satisfaction"Saw the people I care about" survey + TF post engagement rate vs feed averageTF engagement ≥ 2x feed average
Circle adoptionWeekly Circle sessions per starred user; vibe reuse rate25% weekly
GuardrailsDiscovery engagement, session length, content diversity indexFlat or better

Risks and edge cases

Anti-abuse, directly to Liv's bot point

09 · Copy, onboarding, namingWords that keep the promise

Naming options

NameProCon
True Friends (recommended)Jason's own words; warm; says exactly what it isSlight overlap with Instagram Close Friends (different mechanic: delivery, not privacy)
Front RowSpatial, instantly clear: they perform, you never miss itImplies creator hierarchy
ConstellationBeautiful pairing with the star glyph and the ring metaphorToo poetic for a settings page

The Grok mode stays Grok Friends Circle: the brand does the curating, the circle names the boundary.

Onboarding (three screens, all skippable)

  1. "Never miss the people you actually came for." Star up to 150 accounts. Their posts will always reach your For You. (CTA: pick from suggestions, one tap each.)
  2. "The algorithm keeps the rest." Slider preview: your feed stays mostly discovery, you choose the blend. Default 25%.
  3. "Tell Grok the vibe." One example circle session, faith and film night, with the path labels visible. (CTA: try Circle.)

System copy rules

10 · Final recommendationShip the lane beside the algorithm

Build True Friends Boost first (two sprints: graph edge, hydrator, Thunder quota, Phoenix bias, share cap, profile UI). Ship "show all posts" inside it. Circle mode follows as the Grok-native showcase (one sprint on top: ring source, Grox vibe rerank, the plan UI). Measure the recoupling ratio in public, creators will feel it before the dashboard does.

The deeper bet matches Liv's closing line: people are crying out for trustworthy content from familiar people. Trust is the one ranking signal bots cannot fake, money cannot buy, and competitors decoupled away. X has the graph, the open algorithm, and Grok. This feature is the shortest path to all three compounding.

Open the flagship demo, real Grok Try Circle mode