On Hacker News, Job Seekers Now Outnumber Hiring Posts 2.3 to 1. For Native iOS and Android It Is 4 to 1
The supply side of the HN hiring threads, 2023 to 2026. Seeker posts per hiring post rose 2.2 times overall, 5.4 times for iOS and 5.9 for Android, 2 times for React Native. Method, script and limits included.
My last post counted the demand side of Hacker News hiring threads: native iOS and Android mentions fell by about two thirds between 2023 and 2026. The first post left one question open: what happened on the other side. Hacker News runs a second monthly thread, “Ask HN: Who wants to be hired?”, where people post what they do and what they look for. If hiring posts shrank, did seekers shrink with them?
They did not. I counted both threads for the same 46 months. Same caveat as before: keyword mentions are not roles, and HN is one corner of the market.
What the counts say
Average top-level posts per thread that mention each term, 2023 H1 (six threads) against 2026 H2 so far (four threads, July to October). “Seekers per hiring post” is the seeker average divided by the hiring average.
| Term | Hiring posts, 2023 H1 → 2026 H2 | Seeker posts, 2023 H1 → 2026 H2 | Seekers per hiring post | Change |
|---|---|---|---|---|
| All posts | 371.7 → 248.5 | 379.8 → 568.2 | 1.02 → 2.29 | ×2.2 |
| iOS | 19.0 → 6.2 | 15.0 → 26.8 | 0.79 → 4.28 | ×5.4 |
| Android | 18.8 → 5.8 | 12.7 → 22.8 | 0.67 → 3.96 | ×5.9 |
| React Native | 11.3 → 9.8 | 23.7 → 40.2 | 2.09 → 4.13 | ×2.0 |
| Any mobile term | 54.5 → 26.2 | 65.8 → 102.0 | 1.21 → 3.89 | ×3.2 |
| Full stack | 93.5 → 58.8 | 88.5 → 162.2 | 0.95 → 2.76 | ×2.9 |
| Backend | 89.7 → 56.8 | 81.2 → 187.2 | 0.91 → 3.30 | ×3.7 |
| AI or LLM | 55.2 → 144.5 | 18.8 → 307.5 | 0.34 → 2.13 | ×6.2 |
In early 2023 the two threads were the same size, about 375 posts each. By autumn 2026 hiring posts per thread are down a third and seeker posts are up by half. October 2026 has the largest seeker thread in the whole window, 693 posts against 263 hiring posts.
Three readings, in order of how well the data supports them.
Native iOS and Android got hit hardest. Seeker posts that mention iOS went from 0.8 per hiring post to 4.3, and Android from 0.7 to 4.0. That is a 5.4 and 5.9 times change against 2.2 for the whole thread. Both numbers move the same way. They overlap, since many posts mention both, so they are one signal and not two.
React Native is the one mobile term that held. It started with more seekers than hiring posts (2.1) and ended at 4.1, a 2.0 times change, slightly less than the thread average. Part of that is a high starting base: a lot of seekers already listed React Native in 2023. It means React Native did no worse than the market, which is a low bar.
Mobile as a whole is not much worse than full stack. Any-mobile moved 3.2 times, full stack 2.9 times and backend 3.7 times. If you hold the view that mobile fell off a cliff while full stack stayed fine, this sample does not support it. Native mobile fell off a cliff. Full stack and backend also lost hiring posts and gained seekers, by a smaller factor than native.
The AI row grew the most, 6.2 times, but it is the least trustworthy one. Seekers can add “AI” to a skill line and hiring posts add it to company blurbs, so both sides can inflate the keyword.
Monthly counts for 2026 H2, so the October figures above can be checked:
| Month | Hiring posts | iOS | Android | Seeker posts | iOS | Android |
|---|---|---|---|---|---|---|
| 2026-07 | 257 | 7 | 6 | 489 | 25 | 20 |
| 2026-08 | 226 | 4 | 4 | 555 | 23 | 21 |
| 2026-09 | 248 | 3 | 4 | 536 | 22 | 22 |
| 2026-10 | 263 | 11 | 9 | 693 | 37 | 28 |
Limits
- Counts are keyword mentions in free-text posts. A seeker who writes “iOS, Android, React Native, Python” counts once for each term, whether or not they want a mobile job.
- A seeker thread is self-selected. I assume people who post there skew toward those without a quick alternative, but I have no data on that. It measures supply and not open roles, and I did not check how many seeker posts are duplicates or automated.
- The 2026 H2 average uses four threads, 2023 H1 uses six. October 2026 is a single large seeker thread. Without it the all-posts ratio is 2.16 instead of 2.29, iOS 5.0, Android 4.5, React Native 3.65. Native goes up because October was the best month for native hiring in the window, 11 iOS and 9 Android hiring posts against 3 to 7 in July to September. The monthly counts are below.
- Ratios of two noisy averages are noisy. iOS and Android hiring posts are about 6 per thread now, so one extra iOS post per thread moves the iOS ratio from 4.3 to 3.7.
- This is HN only. Indeed Hiring Lab reports similar direction and size for Android and iOS postings on a different baseline, and that is the cross-check I have, not a confirmation of the ratio.
Method
Same source as the first post: HN Algolia API, threads by the whoishiring account, created on or after 2023-01-01, retrieved 2026-10-28, top-level comments only, one count per post per term. The script takes the thread title prefix as a parameter, so it covers both kinds:
import json, urllib.request, urllib.parse, time, re
B = 'https://hn.algolia.com/api/v1/'
def get(u):
for _ in range(6):
try: return json.load(urllib.request.urlopen(u, timeout=40))
except Exception: time.sleep(3)
raise SystemExit('fail ' + u)
def threads(prefix):
out, page = [], 0
while True:
d = get(B + 'search_by_date?' + urllib.parse.urlencode({
'query': f'"Ask HN: {prefix}"', 'tags': 'story,author_whoishiring',
'hitsPerPage': 100, 'page': page}))
out += d['hits']
if page >= d['nbPages'] - 1: break
page += 1
out = [t for t in out if t['title'].startswith(f'Ask HN: {prefix}')
and t['created_at'] >= '2023-01-01']
return sorted(out, key=lambda t: t['created_at'])
P = {'iOS': r'\bios\b', 'Android': r'\bandroid\b', 'React Native': r'react[ -]native',
'full stack': r'full[ -]?stack', 'backend': r'back[ -]?end',
'AI/LLM': r'\bai\b|\bllms?\b|\bgenerative\b',
'any mobile': r'\bios\b|\bandroid\b|react[ -]native|\bflutter\b|\bswiftui\b|\bkotlin\b|\bmobile\b'}
for prefix in ('Who is hiring', 'Who wants to be hired'):
for t in threads(prefix):
tid, txt, pg = t['objectID'], [], 0
while True:
d = get(B + 'search_by_date?' + urllib.parse.urlencode({
'tags': f'comment,story_{tid}', 'hitsPerPage': 1000, 'page': pg}))
txt += [(h.get('comment_text') or '') for h in d['hits']
if str(h.get('parent_id')) == tid]
if pg >= d['nbPages'] - 1: break
pg += 1
row = {'thread': prefix, 'month': t['created_at'][:7], 'top_level': len(txt)}
row.update({k: sum(1 for x in txt if re.search(p, x, re.I)) for k, p in P.items()})
print(row)
What I take from it
For someone whose résumé says iOS or Android and nothing else, the HN numbers show about four seeker posts per hiring post, up five to six times since 2023. A candidate who can also show React Native or backend work sits in the buckets that moved less. AI moved the most, for the reason above. That matches the shape of the first post, and I would still not treat HN as the whole market.
What I did not measure: seniority of the seekers, how many posts got a reply, location, or anything outside HN. If you hire mobile engineers, does a ratio of about four candidates per native opening match what you see in your own pipeline?