Клиенту требовалась автоматизация подбора вакансий и подготовки откликов: система должна была сама искать подходящие вакансии на швейцарских job-порталах, анализировать описание, генерировать адаптированное резюме и сопроводительное письмо, сохранять результат в базе данных и отправлять готовые файлы клиенту.
Главная цель проекта — сократить ручную работу при поиске вакансий и сделать процесс отклика более стабильным: без постоянного копирования текстов, ручной проверки сайтов, повторной генерации одних и тех же документов и хаоса с файлами.
Я разработал и настроил workflow в n8n, который объединяет парсинг вакансий, Browserless, PostgreSQL, OpenAI, генерацию документов и отправку результатов.
Что было реализовано:
поиск вакансий по нескольким источникам: jobs.ch, JobScout24, JobUp, Indeed Switzerland, Glassdoor, arbeit.swiss, job-room.ch;
обработка сайтов с обычными HTTP-запросами и через Browserless для страниц с динамической загрузкой или защитой;
фильтрация вакансий по релевантности: E-Commerce, Marketplace, PIM, Product Data, Online Shop и смежные роли;
защита от повторной обработки уже найденных вакансий через PostgreSQL;
нормализация URL, чтобы одна и та же вакансия не воспринималась как новая из-за tracking-параметров;
генерация индивидуального резюме и сопроводительного письма через AI;
проверка текста на неподтверждённые факты и галлюцинации;
генерация резюме в формате ODT по шаблону клиента;
сохранение vacancy info, cover letter, resume и ZIP-архива;
отправка готового пакета на email;
настройка расписания автоматического запуска;
развёртывание на сервере клиента через Docker;
настройка PostgreSQL, Browserless, document-service, SMTP, бэкапов и обновления контейнеров.
В результате клиент получил работающую систему, которая автоматически ищет новые вакансии, выбирает подходящую, генерирует комплект документов и отправляет готовый ZIP-пакет на почту.
Процесс, который раньше требовал ручного поиска, копирования вакансий, подготовки резюме и сопроводительных писем, был переведён в автоматический режим. Система сохраняет историю обработанных вакансий, не отправляет одни и те же отклики повторно, формирует документы по шаблону и может работать по расписанию без постоянного участия пользователя.
Проект также был подготовлен к эксплуатации на сервере клиента: настроены Docker-контейнеры, база данных, сервис генерации документов, email-отправка и автобэкап.