How the matching works
HN Match turns two messy monthly Hacker News threads into structured, comparable profiles and pre-computes an explainable match score for every plausible pairing. Here’s the pipeline, end to end — and exactly what goes into a score.
1 · Ingest the threads
Every month, Hacker News posts two threads — “Who is Hiring” and “Who Wants to Be Hired.” We pull every top-level comment from both via the public HN API, automatically discovering the current month’s threads so the data stays fresh without manual work.
2 · Extract structure with an LLM
HN posts are free-form text. We run each comment through a language model that extracts a consistent, structured profile — skills, location and remote preference, salary range, seniority, domains, and visa needs — so wildly different writing styles become comparable data.
3 · Apply hard filters
Before scoring, we rule out impossible pairings. If a deal-breaker is present — an on-site-only role for a remote-only candidate, non-overlapping salary bands, or a visa requirement the employer can’t meet — the pair is eliminated outright rather than scored low.
4 · Score what remains
Surviving pairs get a weighted compatibility score built from several signals (below). Every job’s top candidates and every candidate’s top jobs are pre-computed at build time, so browsing is instant — no waiting on live calculations.
5 · Always link back to the source
HN Match is a discovery layer, not a middleman. Every match links straight to the original HN comment so you can read the full post in context and reach out however the poster prefers.
Hard filters first
Some mismatches can’t be salvaged by a good skill overlap. These act as gates — if any applies, the pair is dropped before scoring rather than shown as a weak match.
Remote mismatch
Remote-only candidate vs. on-site-only role.
Salary gap
The two salary ranges don’t overlap at all.
Visa mismatch
Candidate needs sponsorship the employer doesn’t offer.
What goes into a score
For every pair that clears the filters, we combine these weighted signals into a single 0–100 compatibility score. Skills carry the most weight, because they’re the strongest signal of a real fit.
How much the candidate’s skills intersect the role’s required and preferred skills.
Shared industry / problem domains (fintech, infra, ML, and so on).
How closely experience levels line up — exact match scores highest, each level apart less.
How much the desired and offered pay ranges overlap.
A small uniform floor so every surviving match starts from common ground.
Because scoring is two-sided, a pairing only ranks highly when the candidate brings what the role needs and the role offers what the candidate wants — lopsided fits get pushed down.
A few honest caveats
- Extraction is automated. Terse or unusually formatted posts may be parsed imperfectly, which can nudge a score — always read the original comment before drawing conclusions.
- Many posts omit salary or seniority. Missing fields are handled gracefully rather than penalized, so a match isn’t punished simply for being brief.
- Scores rank plausibility of fit from public text — they’re a starting point for a conversation, not a hiring decision.