Show HN: Winnow – scores X posts by freshness and headroom, no AI, no login

alexcloudstar1 pts0 comments

Winnow — Reply to the right posts. Skip to content X Built by @pfernan95dev Add to Chrome

Chrome extension for X Reply to the right posts.

Winnow scores every post in your timeline as you scroll and highlights the few worth<br>replying to. The rest fade out. No AI, no automation, no login — just arithmetic running<br>in your browser.

0 followers to start<br>1,700 followers gained<br>3 weeks<br>Verify on X &rarr; Add to Chrome — free Buy a licence — $23.20 See pricing<br>Unlimited scanning, 5 hits a day, no account needed · LAUNCH20 applied automatically for the first 50 buyers.

Two posts worth answering on a real timeline. You can see it at a glance.

Why this exists I was replying to the wrong posts.

0 followers to start<br>1,700 followers gained<br>3 weeks

From replying to the right posts, not posting more of them — straight from X's own<br>analytics.

I used to reply to whatever showed up on the timeline — usually posts that were already ten replies deep, or three hours cold by the time I got to them. No structure to it, just scrolling and guessing.<br>Once I started scoring for freshness and headroom instead of scrolling for it, the same amount of typing turned into 1,700 followers in three weeks — starting from zero. Same replies, just aimed at posts that were actually still open.

Replying well on X is mostly a timing problem. The same reply is worth a great deal in the<br>first fifteen minutes of a post with room left in it, and almost nothing on a post that<br>already has forty replies and has finished being read. You cannot judge that by scrolling,<br>because scrolling shows you popularity, which is the opposite signal.

So Winnow computes it. Age, views, replies, your keywords. Three numbers, one score, and a<br>green edge on the handful that are worth your words.

A couple of threads from along the way:<br>Shipped a paywall with @RevenueCat and had no idea what it was actually doing until I put @posthog in front of it. Some things I learned wiring the two together 🧵<br>🎯 A funnel step that converts at 100% isn't a step. Mine went cta_tapped → paywall_viewed, always 100%, every time — that's the same event logged twice, and it made the funnel look one stage healthier than it was.<br>Read the full thread on X → Building a subscription business on Stripe? Some things I learned doing a full integration from scratch 🧵<br>In subscription data terms, the provider is the source of truth, not your database. Always re-fetch the subscription from Stripe before trusting its status — the cached copy in your DB is stale the moment it’s written.<br>Read the full thread on X →

How it scores Three signals, one number, every time the same.

Every post gets 0–100. At or above your threshold it gets a coloured edge and a badge.<br>Below it, it dims to 40%.

50% Freshness<br>A conversation you join in the first fifteen minutes is a different conversation from one you join three hours late. Freshness is the heaviest signal for exactly that reason.

30% Headroom<br>Lots of views and few replies means your reply gets read. A post already forty replies deep is a room nobody is listening in. Winnow scores the gap between attention and competition.

20% Relevance<br>The fraction of your keywords in the post. You set them. There is no model deciding what you care about, which is why the score is the same every time.

Thrown out before scoring: replies, accounts on your blacklist, posts past<br>your maximum age, and engagement bait — “drop your link”, “like and RT”, “comment below”.<br>When X does not render a view count, that signal is dropped rather than counted as zero, so<br>a post is judged on what can actually be seen.

Hover a highlighted post and it tells you why, in words: “6 min old · 9 views · no replies yet · matched: solo founder”.

What it will never do A filter. Not a bot.

These are constraints on how Winnow is built, not features waiting to be added.

It never posts for you<br>Winnow is read-only. It does not post, reply, like, follow, or click anything on your behalf. It reads the page and marks it up.

It never sees your login<br>No OAuth, no X API, no sign-in with X. It reads the page you are already looking at, in your own browser.

Nothing leaves your browser<br>No analytics, no tracking, no server of ours. The only outbound request in the whole extension is validating your licence key, and it contains nothing but the key.

No AI, on purpose<br>Scoring is local arithmetic. That is why it is instant, why it works offline, why it costs nothing to run, and why the same post always gets the same score.

Your rules Working in one click, tunable forever after.

Install it and pick the profile closest to what you write about. That fills in the<br>keywords and thresholds, and Winnow starts scoring immediately — no configuration screen<br>to grind through first.

Four starting points. Pick one, or skip it and write your own keywords.<br>Everything stays editable: keywords, a handle blacklist, maximum age, minimum views,<br>maximum replies, and the score threshold. Changes apply to open tabs...

posts post replies winnow from reply

Related Articles