The problem
Sourcing was manual. A human read profiles, judged fit, and wrote the outreach — which caps throughput at however many profiles a person can read in a day, and makes the quality of the match dependent on who happened to be reading.
The call that made it work
Matching is a semantic problem, not a keyword problem. Embeddings compare what a profile means against what a role needs, which is what makes the match good enough to automate the outreach that follows it. Automating outreach on top of bad matching just sends bad messages faster.
Select a step for the reasoning
Semantic matching
Candidates are matched to roles through embeddings, so the comparison is on meaning rather than on shared keywords. Keyword matching fails on exactly the cases that matter — the same skill described in different words.
This is the step the rest of the engine depends on. Outreach is only worth automating if what it is reacting to is right.
- of annual ARR driven
- ~75%
- match accuracy on skill search
- 98%
- user satisfaction
- +35%
The search rebuild underneath it, and how it was measured
Skill search was rebuilt on semantic embeddings, reaching 98% match accuracy and lifting user satisfaction 35%. The outbound engine and the search rebuild are the same bet applied twice: meaning beats keywords when the vocabulary is inconsistent.
Both were validated with A/B tests across a 100,000+ user base, analysed through SQL cohort analysis. At that population an accuracy claim is measurable rather than anecdotal — which is the difference between saying the match got better and knowing it did.