Skip to content

Build1 publisher3 min readPublished

Random article IDs put the share of dev.to posts with no reactions at 92%

One dev.to writer sampled 460 August posts by random article ID and found 92% of them with no reaction at all. The tag listing that most corpora are built from turns out to return pages that overlap and run out of order.

The Engineer · Build desk

Illustration accompanying Random article IDs put the share of dev.to posts with no reactions at 92%

What happened

  • A random draw of dev.to article IDs produced 460 posts published in August, of which 92% had no reactions at all, give or take about two and a half points, and 95.7% had no comments.
  • In the curated feed the author normally reads, the 170 August posts sampled had a median of 15 reactions and a mean of 28.8, and not one of them had zero.
  • A first corpus built by paging 39 popular tags gathered 82,749 posts but contained only 49% of the August posts the curated feed had already surfaced.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

  • constraint Any dev.to study built by paging the tag endpoint samples on the outcome it is trying to explain, so its absolute rates cannot be used and only within-corpus contrasts have a chance of holding.
  • decision A writer weighing whether to add a cover image or a fourth tag has to choose between a 45,400-post corpus that overstates every rate and a 460-post sample the author says is too small to slice.
  • exposure Anyone who has published reach advice from a tag-paged corpus is exposed to the same seven-point error the author caught in their own first draft.
  • capability Fetching random article IDs gives any API consumer a cheap way to check whether a platform's public feed resembles the platform.

dev.to's API will list articles by tag, and paging that listing looks like the supported way to enumerate a corpus, except that the listing is not ordered. Walking twelve pages of the `webdev` tag, page 10 ran from 2026-08-31 down to 2026-08-29 while page 11 ran from 2026-09-13 down to 2026-08-27 [8]. Page 11 therefore held posts newer than anything on page 10, the pages overlapped, and posts went missing between them [9]. The post being hunted for, published 31 August with 60 reactions, was on none of the twelve pages [7]. Forty minutes of paging had already gone into the corpus by then [21].

The gaps skew toward the quiet posts. Posts the listing returned averaged 0.40 reactions and the ones it skipped averaged 0.15, a factor of 2.7, and 19.0% of the included posts had at least one reaction against 5.1% of the excluded, a factor of 3.7 [10][1][2]. So the listing selects on the variable under study.

Those two subgroup rates have a second use. The 460-post random sample had 8% of posts with at least one reaction [3]. If that 8% is the weighted average of 19.0% among listed posts and 5.1% among unlisted ones, the listing covered about a fifth of them: 19.0p + 5.1(1 - p) = 8 solves to p = 0.209 [4]. The stated interval on the 92% is plus or minus about two and a half points, which stretches the same calculation to anywhere between roughly 3% and 39% [3][8]. So it is an order-of-magnitude figure. Read at random, the zero-reaction pile included "Delta E is a distance, not a score" and "How Farm.js compiles React components into direct DOM updates" [4].

The title-and-tag comparisons in the post come off the big corpus, 45,400 August posts, because the random sample is too small to slice [14]. Cover images go with 23.7% of posts getting at least one reaction against 11.2% without [15]. Four tags beat one, 16.0% against 3.5% [18]. First-person titles, ones with "I" or "my" in them, go with 24.7% against 13.9% [16]. For any of those gaps to transfer to the site as published, cover-image use would have to be independent of whether the listing returns a post, and inclusion in the listing already tracks reactions [10]. The post does not test that, and it says the corpus leans optimistic in absolute terms [14].

Some of the standard recommendations came out the other way. Titles beginning with "How" did worse than titles that do not, 12.2% against 15.1% [19]. "Sampling through the listing quietly hands you a rosier site than the real one," the author wrote [11].

The instrument error is documented in the post itself. An earlier draft written off the tag corpus put the zero-reaction share at 85%, and the random-ID figure is 92%, seven percentage points of optimism from the sampling method alone [12][7]. The author also checked whether a fortnight is long enough for a post to finish collecting reactions: the share with any reaction was 13.6% at 14 to 20 days old and 15.0% at 42 to 48 days, with no trend in between [13].

The evidence supports the level but not the effects. The median August post drawn by ID got zero reactions [9], and any percentage published off a tag-paged corpus is too high. Whether the cover-image, first-person and four-tag gaps hold on an unbiased sample is untested, because the post says its 460-post draw is too small to slice [14].

What to watch

  • Whether anyone re-runs the cover-image, first-person and four-tag comparisons on a random-ID sample large enough to slice.
  • Whether dev.to documents the ordering of its tag listing endpoint or fixes the overlap between pages.
  • Whether the next round of dev.to growth advice states which sampling frame produced its percentages.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories