Как HireSeeker собирает вакансии: источники и ML-фильтрация
Когда ищешь работу в IT, главная боль не в том, что вакансий мало, а в том, что они разбросаны. Часть лежит на hh.ru, часть публикуют только в Telegram-каналах рекрутеров, что-то висит на карьерных сайтах компаний, а нишевые борды вообще приходится обходить вручную. В итоге соискатель держит открытыми десяток вкладок и всё равно что-то пропускает. HireSeeker собирает всё это в одну ленту и прогоняет через ML-фильтр, чтобы оставить только релевантное. Ниже — как это устроено под капотом.
Какие источники мы агрегируем
Источники делятся на несколько типов. Крупные джоб-борды — hh.ru, Habr Career, GetMatch. Карьерные сайты компаний, где вакансия часто появляется раньше, чем на агрегаторах. Telegram-каналы рекрутеров — отдельный пласт рынка, который классические поисковики не видят. Плюс LinkedIn и нишевые площадки под конкретные стеки и направления.
Смысл не в том, чтобы добавить как можно больше источников ради числа, а в том, чтобы покрыть реальные каналы, через которые компании ищут людей. Каждый тип источника закрывает свой сегмент: борды дают объём, карьерные сайты — раннюю публикацию, Telegram — скрытые позиции. Полный список всегда можно посмотреть на странице источников.
Как часто обновляются данные
Частота сбора зависит от источника. Для hh.ru задержка минимальна — новые вакансии подтягиваются в ленту в течение часа. Это важно: в IT хорошая вакансия живёт недолго, и тот, кто откликнулся в первые часы, имеет ощутимое преимущество перед теми, кто увидел её через неделю.
Другие источники обновляются по своему расписанию, но логика общая — мы стараемся минимизировать разрыв между публикацией и появлением вакансии в вашей ленте. Чем меньше этот разрыв, тем выше ваши шансы попасть в первую волну откликов, которую рекрутер смотрит самым внимательным образом.
Зачем нужен ML-фильтр
Если просто слить все источники в один поток, получится свалка. Поиск по ключевым словам выдаёт мусор: вакансия «менеджер по продажам CRM» всплывёт по запросу «Python», потому что в тексте упомянут Python. ML-фильтр работает иначе — он оценивает вакансию по смыслу относительно ваших критериев, а не по совпадению строк.
Вы описываете, что ищете, на естественном языке, а модель ранжирует поток и отсекает нерелевантное. При этом фильтрация многослойная: сначала отсеивается явный шум, затем оставшийся пул ранжируется по тому, насколько вакансия подходит именно вам. Подробнее про эту логику — в разделе вопросов.
Дедупликация: одна вакансия — одна карточка
Одна и та же вакансия часто публикуется в нескольких местах одновременно: на hh.ru, в Telegram и на сайте компании. Без дедупликации вы бы видели три-четыре копии одного объявления и тратили время на повторное чтение.
Мы определяем дубликаты по содержанию, а не по точному совпадению текста — одна вакансия в разных источниках почти всегда написана по-разному. Найденные копии сводятся в одну карточку с информацией о том, где вакансия встречалась. Так лента остаётся чистой, а вы не пропускаете оригинал из-за того, что он утонул среди дублей.
Что значит «весь рынок в одной ленте»
Итог простой: вместо того чтобы держать открытыми пять вкладок и десяток Telegram-каналов, вы получаете один отфильтрованный поток. Ежедневный дайджест приходит в Telegram-бот, и вам остаётся только просмотреть релевантные вакансии и откликнуться. Поиск превращается из изматывающего ручного мониторинга в короткую ежедневную проверку дайджеста.
Хотите видеть весь рынок IT-вакансий в одной отфильтрованной ленте — подключите HireSeeker и опишите, что ищете. Первые ML-генерации на бесплатном тарифе доступны сразу, так что попробовать подход можно без обязательств.