CH.04matchpro.io— нишевый джоб-борд, который действительно матчит людей, а не ключевые слова. этой весной переписал матчинговый движок.
← вся работа
▸ CH.04 / matchpro · сейчас отгружаю v3
КОГДА
2021 → сейчас
РОЛЬ
соло · дизайн + код + операции
МЕТРИКИ
вакансий1.2k/мес
трудоустройств~180
выручкав плюсе

¶ кейс — 01 · отгружено весна '26 · срок: 11 недель · команда: 1 теги: matching · search · postgres

старый движок матчил по ключевикам. новый — читает всё резюме целиком.

автор: евгений · 18 апр 2026 · ~8 мин чтения

три года matchpro матчил кандидатов с вакансиями по-ленивому — tf-idf по заголовкам с щепоткой правил. было нормально. не отлично. рекрутеры продолжали присылать мне скриншоты очевидных матчей, которые движок не находил. этой весной я сел и переписал всё целиком.

«матчинг — это не поиск. поиск вознаграждает точность. матчинг вознаграждает интересную близость


как это происходило

  1. выкинуть ранкер — данные оставил, модель удалил. начал с пустого ipynb.
  2. эмбеддить всё — резюме + текст вакансии → небольшая мультиязычная модель, кэш в pg_vector.
  3. пере-ранжировать по сигналам — локация, сениорити, годы в стеке. скучные фичи всё ещё побеждают.
  4. тень-прогон 3 недели — a/b по кликам рекрутеров. смотрел на дашборды больше, чем на семью.

результаты — через 11 недель

  • качество матча (рекрутер 👍) — 41% → 78% (+37 пп)
  • время до первого клика — 9.2с → 3.1с (−6.1с)
  • трудоустройств в неделю — 12 → 28 (×2.3)
  • latency (p95) — 640мс → 180мс (−72%)
› bench --cohort=q1-recruiters
  running 2,140 matches…
  ✓ v3 beats v2 on 78% of pairs
  ! 4 regressions — investigating
› deploy prod

● опубликовано · 41kb · 2 графика · 6 сносок