Vacancy Monitor

Личный AI-инструмент поиска работы: фильтрует шум на 70+ источниках и одновременно ведёт обсерваторию AI-спроса. Два эффекта из одного пайплайна.

vacancy-monitor.local — Панель вакансий
Vacancy Monitor: таблица вакансий с фильтрами, скорингом и избранным.
Стек
  • Python
  • SQLite (WAL)
  • Next.js
  • Claude Haiku
  • Claude Opus
  • Playwright
  • Google Sheets API
Источников вакансий70+
Листингов отсеивает дешёвый триаж60%
AI-навыков на радаре1 000+

Две боли, которые решаются одним пайплайном

Шум на 70+ источниках

  • Десятки career-страниц, hh.ru, Habr, Kwork, fl.ru, Telegram — 300–400 новых листингов в день.
  • Ручная сортировка съедает 30+ минут ежедневно и быстро переходит в игнор.
  • Хорошие вакансии теряются в потоке «продажника с квотой» и «аккаунт-менеджера в поддержке».

Слепота к рынку AI-навыков

  • AI — свежий тренд. Непонятно, что реально в спросе, а что хайп.
  • Нет системного взгляда: какие технологии растут неделя-к-неделе, что «на взлёте», где ставки выше.
  • Листинги — это живой датасет, если собирать и размечать. Но вручную это не масштабируется.

Что меняется в ежедневной рутине

Раньше

С Vacancy Monitor

30+ минут в день на ручную сортировку 300 листингов с 6 сайтов и 5 Telegram-каналов.

2 минуты на ревью 5–10 подходящих — пайплайн прогоняет 70+ источников сам.

Хорошие вакансии теряются среди «продажника с квотой» и «аккаунт-менеджера в поддержке».

Triage + stop-factors режут мусор на Haiku, Score A/B фильтрует по предпочтениям и требованиям.

Не вижу, какие AI-навыки реально в спросе, а какие — хайп.

Weekly-срез по skills и technologies: что растёт неделя-к-неделе, где реальный фокус.

Как устроен пайплайн

01

Triage

Claude Haiku · батч по 300 заголовков

02

Score A — «вакансия подходит мне»

Claude Opus · 20 баллов · 10 критериев

03

Score B — «я подхожу вакансии»

Claude Opus · 10 баллов · 5 критериев

Пайплайн Vacancy Monitor: 70+ источников, триаж на Haiku, двунаправленный Opus-скоринг, параллельное извлечение навыков в обсерваторию.
От источника до дашборда + аналитического слоя в одном прогоне. Токены тратим только на то, что прошло дешёвую стадию.

Что реально в спросе — на данных, не на хайпе

Vacancy Monitor: аналитика по скиллам и технологиям, weekly-срез.
Аналитический слой: топ-навыки по спросу, weekly-динамика, что на взлёте.

Экономика токенов и решения по стеку

Почему triage раньше скоринга?

Score A/B на Opus стоят десятки центов за 100 листингов. Триаж на Haiku — центы за сотни заголовков. Срез заголовков отсекает 60% мусора дешёвой моделью, и дорогая работает только на кандидатах в шорт-лист.

Почему два направления matching — A и B?

«Не хочу» и «не дотягиваю» — разные сигналы. Score A (20 баллов) — «вакансия подходит мне» по предпочтениям. Score B (10 баллов) — «я подхожу вакансии» по требованиям. Две независимые шкалы дают честную оценку без сглаживания.

Почему SQLite + WAL, а не Postgres?

Инструмент личный, одна машина, нагрузка низкая. SQLite в WAL-режиме даёт одновременное чтение и запись без блокировок. Ноль эксплуатации, backup — обычный файл. Postgres — оверкилл.

Почему браузерная автоматизация для части источников?

Часть career-страниц рендерится JS-ом и требует nodriver / Playwright. hh.ru — честный REST. Для каждого источника — минимально достаточный адаптер, а не один универсальный scraper.

Воронка на живых данных

МетрикаРезультатКонтекст
Источников вакансий70+17 hh-запросов · 29 career-страниц · Habr · Kwork · fl.ru · Telegram
Вакансий за цикл~3 000живая БД, 9 дней; ~300–400 новых в день
Отсеивается триажем60%Haiku, по заголовкам, до дорогого скоринга
Доходят до ручного ревью~3%score_a ≥ 14; 97 из 3 083 в текущей выборке
Подходящих вакансий в день5–10практический таргет: столько же, сколько времени на ревью
AI-навыков на радаре1 000+уникальные skills из LLM-разметки релевантных листингов

Что я понял

Триаж перед скорингом — главный рычаг

Haiku по заголовкам стоит копейки, но отсекает 60% мусора. Дорогая модель запускается только на разумной выборке. Без этого шага пайплайн был бы экономически невозможен.

Две перспективы matching'а честнее одной

Single-score смазывает «не хочу» и «не дотягиваю». Две независимые шкалы (Score A: мои предпочтения; Score B: требования вакансии) показывают, где реально стоп-фактор.

Пайплайн оказался обсерваторией

Боль №2 не была в гипотезе. Но когда есть размеченный датасет, из него естественно вырастает карта AI-спроса. Побочный продукт оказался ценнее, чем планировалось.

Хотите обсудить проект?

Расскажу подробнее про LLM-оркестрацию, экономику токенов или как собрать обсерваторию AI-спроса на живых данных.