DEV Community

Brad
Brad

Posted on

How to Find Freelance Python Contracts Using HN Who Is Hiring Threads (2026 Guide)

Every month, thousands of startups post in Hacker News's "Who is Hiring?" thread — and most developers scroll past them.

That's a mistake.

These threads are arguably the highest signal-to-noise hiring source on the internet. No recruiters, no keyword-stuffed LinkedIn posts. Real founders describing what they actually need.

Over the past month, I've been systematically mining these threads to find Python freelance work. Here's what I learned — and how I automated it.

Why HN Hiring Threads Beat Job Boards

Traditional job boards optimize for posting volume. HN hiring threads optimize for signal quality because:

  1. Founders post directly — no HR filter between you and the decision-maker
  2. Technical context — stack, team size, and project description are usually specific
  3. Contact info included — many posts include direct email or founder name
  4. No competition — most developers don't respond via HN threads

The catch: parsing 400+ comments per monthly thread manually is painful.

The Filtering Problem

A typical HN "Who is Hiring?" thread has 400–800 comments. Let's say you're looking for Python data engineering work in EU timezone. You need to:

  • Filter for "Python" mentions
  • Filter out senior/staff roles if you're positioning as a contractor
  • Find which ones mention remote/EU-friendly
  • Extract contact info (email addresses buried in free-form text)

Doing this by hand takes 1–2 hours per thread. There are 12 threads per year. That's up to 24 hours of manual work just to find leads.

Building a Scraper (The Technical Part)

I built a Python script that does this automatically. Here's the core of how it works:

import requests
import re

def fetch_hn_thread(thread_id):
    """Fetch all comments from an HN thread via Algolia API"""
    url = f"https://hn.algolia.com/api/v1/items/{thread_id}"
    response = requests.get(url)
    data = response.json()
    return data.get('children', [])

def extract_contacts(comments, skills):
    """Filter comments by skills and extract contact info"""
    results = []
    skill_pattern = "|".join(skills)
    email_pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'

    for comment in comments:
        text = comment.get('text', '')
        if re.search(skill_pattern, text, re.IGNORECASE):
            emails = re.findall(email_pattern, text)
            if emails:
                results.append({
                    'text': text[:200],
                    'emails': emails
                })

    return results
Enter fullscreen mode Exit fullscreen mode

This runs in seconds and returns only the relevant posts with extracted contact info.

What I Found (Real Data)

Running this against the 2025 HN hiring threads, filtering for Python | data pipeline | automation | ETL:

  • October 2025 thread: 47 matching companies out of 680 total posts
  • November 2025 thread: 52 matching companies out of 720 total posts
  • Average reply rate to cold emails: ~3-5% (compared to ~1% from LinkedIn)
  • Average response time: 24-48 hours (founders check email)

The quality difference is real. When someone posts in an HN thread, they're actively looking. They wrote the post themselves. Your email referencing their specific post gets read.

The Done-For-You Option

The scraper works, but you still need to:

  • Know which thread IDs to use
  • Filter by your skills
  • De-duplicate across months
  • Export in a usable format (CSV with company name, stack, contact)

I turned this into a web app: HN Startup Hunter

You enter your skills (e.g., Python, data pipeline, PostgreSQL), pick the month range, and get a table of matching companies with direct email addresses extracted. Free tier gives you 20 results. Pro ($9/month) gives all 200+ with CSV export.

I also offer a done-for-you version: you tell me your skills and target role, I run the scraper, filter for best-fit companies, write a brief profile of each one, and deliver a 20-company shortlist as CSV + PDF. That's $75, 24h delivery. More info here.

Practical Tips for Outreach

Once you have the leads, here's what's worked:

Email subject line: Re: [Company name] from HN Who is Hiring (Oct 2025) — referencing the specific thread makes it immediately recognizable.

First sentence: Quote something specific from their post. "You mentioned needing help with CDC replication for your PostgreSQL-to-BigQuery pipeline" shows you read their actual requirement, not just their job title.

Length: Under 200 words. Founders are busy. Lead with the specific problem you can solve and a concrete example of doing it before.

Timing: HN threads go live on the first weekday of each month. Emailing within the first 2 weeks of the thread is significantly better — the founder is still actively filling the role.

The Numbers

From my own outreach using this approach:

  • 211 emails sent across Oct–Nov 2025 threads
  • ~3 warm replies (1.5% reply rate vs 0.1% for LinkedIn cold outreach)
  • 0 conversions yet — this is honest; the pipeline takes 2-4 weeks to close

The lesson: this is a numbers game with a 2-4 week sales cycle. If you need cash in a week, this isn't it. If you're building a consulting pipeline for the next quarter, it's worth the investment.

TL;DR

  1. HN hiring threads have higher-quality leads than job boards
  2. Python + regex can automate the filtering/extraction in under 50 lines
  3. Response rate ~3-5% (good for cold outreach)
  4. Sales cycle is 2-4 weeks — start building the pipeline now
  5. HN Startup Hunter does this automatically if you don't want to run the script yourself

If you found this useful and want to share: I post about Python automation and indie hacking occasionally on Dev.to.


Built with: Python, Algolia HN Search API, Flask, Render.com (free tier)

Top comments (0)