What predicts a Show HN front page? 11,657 posts analyzed
In this analysis, “reaching the front page” is approximated as “reaching 50 points”, because the public data does not record which past posts were on the front page. Of 11,657 Show HN posts submitted between July 1 and September 30, 2026, 337 (2.9%) reached 50 points. Shorter titles, posts made between 12:00 and 23:59 UTC, and titles without AI terms had higher rates. Linking to github.com or to an own domain made almost no difference. These are correlations in one quarter of data, not causes.
Source
The public HN Algolia search API, endpoint search_by_date with tags=show_hn. For each post the script keeps the ID, title, hostname of the submitted URL, points and creation time. No account or key is needed.
Method
- Window: 2026-07-01 00:00 UTC to 2026-10-01 00:00 UTC (exclusive), one full calendar quarter. The window ended nine days before collection, so most scores had stopped changing.
- Fetching: one request per UTC day (92 requests), each returning every Show HN post created that day. No day came close to the API’s 1,000-result page limit, and the script fails if one does.
- Outcome: Hacker News does not publish a history of which stories were on the front page, and the Algolia
front_pagetag only marks stories on the front page at the moment of the query. At collection time it marked 30 stories, with a minimum of 5 points and a median of 81 (4 of them were Show HN). We therefore use reaching 50 points as a proxy for a front-page appearance, and also report the rate of reaching 10 points as a lower bar. A post can reach the front page with fewer than 50 points, and a post can reach 50 points without having been on the front page. - Groups: title length counts characters after the
Show HN:prefix. Weekday and hour are the post’s creation time in UTC. Link type is the hostname of the submitted URL. Word matches are case-insensitive regular expressions on the title, exceptAI, which is matched in uppercase as a whole word. - Statistics: counts and rates only. No significance tests or regression were run.
Date of collection
2026-10-10 02:46 UTC (the evening of October 9 in US time zones).
Sample size
11,657 Show HN posts. 1,020 reached 10 points, 337 reached 50 and 179 reached 100.
Results
Most Show HN posts get very few points
| Points | Posts | Share |
|---|---|---|
| 1 point | 3319 | 28.5% |
| 2-4 | 6083 | 52.2% |
| 5-9 | 1235 | 10.6% |
| 10-49 | 683 | 5.9% |
| 50-99 | 158 | 1.4% |
| 100-299 | 143 | 1.2% |
| 300+ | 36 | 0.3% |
The median post received 2 points. Four in five posts stayed under 5.
Title length
| Characters after “Show HN:” | Posts | Reached 50+ | 50+ rate | 10+ rate |
|---|---|---|---|---|
| < 30 | 802 | 41 | 5.1% | 10.5% |
| 30-44 | 1783 | 62 | 3.5% | 9.5% |
| 45-59 | 3647 | 91 | 2.5% | 8.3% |
| 60+ | 5425 | 143 | 2.6% | 8.6% |
Titles under 30 characters reached 50 points at about twice the rate of titles of 45 characters or more. The longest title in the sample had 78 characters after the prefix, counting suffixes such as “[video]” that appear in the stored title.
Weekday (UTC)
| Weekday | Posts | Reached 50+ | 50+ rate | 10+ rate |
|---|---|---|---|---|
| Sunday | 1170 | 37 | 3.2% | 10.2% |
| Monday | 1606 | 62 | 3.9% | 10.4% |
| Tuesday | 2165 | 66 | 3.0% | 8.0% |
| Wednesday | 2157 | 43 | 2.0% | 7.9% |
| Thursday | 1933 | 66 | 3.4% | 9.4% |
| Friday | 1550 | 38 | 2.5% | 8.0% |
| Saturday | 1076 | 25 | 2.3% | 7.7% |
Monday had the highest 50-point rate and Wednesday the lowest. Tuesday and Wednesday had the most posts. The differences between days are small, and with 25 to 66 successes per day they could change in another quarter.
Hour (UTC)
| Hour block | Posts | Reached 50+ | 50+ rate | 10+ rate |
|---|---|---|---|---|
| 00:00-03:59 | 948 | 20 | 2.1% | 8.0% |
| 04:00-07:59 | 1072 | 17 | 1.6% | 4.5% |
| 08:00-11:59 | 1659 | 29 | 1.7% | 5.5% |
| 12:00-15:59 | 3782 | 127 | 3.4% | 9.7% |
| 16:00-19:59 | 2657 | 96 | 3.6% | 10.3% |
| 20:00-23:59 | 1539 | 48 | 3.1% | 10.7% |
This is the clearest pattern in the data. Posts made between 12:00 and 23:59 UTC (morning to afternoon in the Americas) reached 50 points at 3.1% to 3.6%. Posts made between 04:00 and 11:59 UTC reached it at 1.6% to 1.7%, and 10 points at about half the rate of the later blocks. The busiest block, 12:00 to 15:59 UTC, also had the most competition, with 3,782 posts.
Link type
| Submitted URL | Posts | Reached 50+ | 50+ rate | 10+ rate |
|---|---|---|---|---|
| github.com | 4027 | 122 | 3.0% | 9.1% |
| Other code host (GitLab, Codeberg, sr.ht, Bitbucket) | 24 | 0 | 0.0% | 8.3% |
| Own or other domain | 7282 | 210 | 2.9% | 8.5% |
| No URL (text post) | 324 | 5 | 1.5% | 9.0% |
A GitHub repository and an own domain performed almost the same (3.0% and 2.9%). Text-only posts reached 50 points less often, but there were only 324 of them. The 24 posts on other code hosts are too few to read anything into.
Words in the title
| Title contains | Posts | Reached 50+ | 50+ rate | 10+ rate |
|---|---|---|---|---|
| “open source” / “open-source” | 561 | 22 | 3.9% | 12.8% |
| “Rust” | 207 | 5 | 2.4% | 12.1% |
| “self-hosted” | 197 | 4 | 2.0% | 10.7% |
| “agent” / “agents” / “agentic” | 1659 | 32 | 1.9% | 9.0% |
| “AI” | 1823 | 32 | 1.8% | 6.4% |
| “LLM” | 370 | 6 | 1.6% | 7.6% |
| “MCP” | 294 | 4 | 1.4% | 7.1% |
| “free” | 433 | 6 | 1.4% | 7.9% |
| All posts (baseline) | 11657 | 337 | 2.9% | 8.8% |
“Open source” in the title went with the highest rates at both thresholds. “Rust” and “self-hosted” reached 10 points above the baseline but 50 points below it, on small counts.
AI-related titles
| Title | Posts | Reached 50+ | 50+ rate | 10+ rate |
|---|---|---|---|---|
| AI-related (AI, LLM, agent, MCP, GPT, Claude) | 3746 | 71 | 1.9% | 7.7% |
| Not AI-related | 7911 | 266 | 3.4% | 9.3% |
AI-related titles made up 32% of Show HN posts in the quarter (3,746 of 11,657), but 21% of the posts that reached 50 points (71 of 337).
Limitations
- Correlation is not causation. A short title or an afternoon posting time may go along with other things (the kind of project, the author’s audience, effort spent on the launch) that this data does not measure.
- Points are a proxy. Reaching 50 points does not prove the post was on the front page, and front-page appearances below 50 points are missed.
- One quarter. The window covers July to September 2026. Patterns may differ in other periods.
- Small groups. Several groups have fewer than 10 posts that reached 50 points. Their rates can swing widely with a few posts.
- No controls. Each table looks at one variable at a time. Variables overlap (for example, AI titles and GitHub links), and the tables do not separate their effects.
- What the index contains. Posts removed from Hacker News or missing from the Algolia index are not counted. Scores are as of the collection time.
- Keyword matching is simple. A regular expression on the title does not capture meaning; “free” matches both “free software” and “free trial”.
How to reproduce
From the packages/frontend directory of the sharemd repository, with Node 20 or later:
npx tsx scripts/research/show-hn-front-page.ts
The script fetches the data again, writes a snapshot to content/research-data/show-hn-front-page.json and prints every table on this page. Scores keep changing slowly, so a later run can give slightly different numbers. To recompute the tables from the saved snapshot without fetching, add --offline.
This piece is part of the Research series on sharemd.net, which publishes analyses of public data.