DEV Community

Tanishq
Tanishq

Posted on

I read X's open-sourced ranking algorithm. Here's what actually decides who sees your posts.

I ship products solo, which means I'm also the marketing department, which I'm bad at. So instead of guessing, I did the thing a developer does when the docs are bad: I read the source. X open-sourced its ranking algorithm, and the engagement weights are sitting right there, and they explain almost everything about why a new account gets zero views.

Here's the part that matters.

The weights

X scores posts for your timeline using a set of engagement weights. The relevant ones:

like                     = 0.5
retweet                  = 1.0
reply                    = 13.5
reply + author replies   = 75.0
Enter fullscreen mode Exit fullscreen mode

(these are the widely-referenced values from the open-sourced ranking. treat them as the shape of the system, not gospel to the decimal.)

A reply is worth 27x a like. A reply the original poster answers is worth 150x. That is not a rounding artifact. It's the entire design philosophy compressed into three numbers.

Why the numbers look like that

The weights are a proxy for one metric: time on app. X makes money when you stay. Model each action as a session-length signal:

  • a like is a ~500ms interaction, then you keep scrolling. low retention value.
  • a reply is you stopping to type. higher.
  • a reply the author answers is a live two-person conversation that can run ten minutes and pulls both users back repeatedly. this is the jackpot, and the 75 weight says so out loud.

Once you read the ranking as "maximize time-on-app," every piece of folk wisdom about the algorithm either falls out of it cleanly or turns out to be wrong.

What this means for a small account

The standard advice is "post consistently." For a new account that's backwards. If you have 30 followers, your posts enter almost no timelines, so posting is writing to /dev/null. But every large account in your niche already has the distribution, and their reply section is an open endpoint.

So the highest-EV action for a small account isn't posting, it's replying under bigger accounts, because a reply borrows their distribution and is weighted 27x a like while doing it. That's the boring mechanical reason the "reply guy" strategy works. It isn't a growth hack, it's just reading the objective function and acting on it.

The 2026 changes: recency and originality

Two more things shifted. X started scoring content quality with Grok, and it cut creator payouts for recycled and clickbait content. Payout policy telegraphs ranking policy: the behaviors a platform stops paying for are the ones it's learning to bury. Net effect, the system now favors original and timely over frequent and templated. Being first to react to news in your niche beats posting five reformatted threads a day.

The engineering problem I actually cared about

Here's where it got interesting to build. If the winning move is "reply and post in your own voice, fast, all day," the bottleneck is that doing it by hand is a part-time job. The obvious fix (pipe it through an LLM) produces exactly the generic slop the new quality scoring demotes. So the real problem isn't generation. It's a filter.

I ended up building a scoring layer that runs on every draft before I see it. It penalizes the tells: em dashes, hashtags, the "delve / leverage / game-changer" vocabulary, reflexive three-item lists, generic openers, passive voice, false-agency phrasing ("the data tells us"). A draft that scores below a threshold gets rewritten or dropped, never shown. That gate turned out to be the actual product. Anyone can call an LLM. The work is making the output not read like one, which is the same problem X's own quality scoring is attacking from the other side.

That tool is [VoicePost] if you want to see it: an AI X (Twitter) growth tool that watches your niche (Hacker News, GitHub, Product Hunt, Google News, Reddit, etc (basically the whole internet)) and drafts timely posts and replies in your trained voice with that scoring gate on top. It also runs a separate Reddit engine for the promote-without-getting-banned problem, which is a genuinely different beast, Reddit bans on account-age-weighted promotion rather than karma, so that side is a warmup schedule and a 9:1 ratio, not a generator. But you don't need the tool to use any of the above. The weights are public and the strategy is free.

TL;DR

  • X's ranking weights a reply at 27x a like, and a reply the author answers at 150x, because it optimizes for time-on-app.
  • small accounts grow by replying under bigger ones, not by posting into the void.
  • 2026 added Grok-based quality scoring and killed payouts for recycled content, so original and timely beats frequent and templated.
  • if you automate any of this, the hard part is the anti-slop filter, not the generation.

Go read the weights yourself. It's all open source, which is more than you can say for most things that quietly decide your reach.

Top comments (0)