| design-system | ||
| AGENTS.md | ||
| aiAdapter.js | ||
| app.js | ||
| design.md | ||
| index.html | ||
| matcher.js | ||
| README.md | ||
| storage.js | ||
| ui.js | ||
HR Candidate Matcher
Веб-сервис для сопоставления резюме с требованиями вакансии. Помогает рекрутёрам быстро оценивать кандидатов по прозрачным критериям и готовить вопросы для интервью.
Возможности
- Извлечение требований — анализ текста вакансии с выделением ключевых навыков, опыта и образования
- Редактирование критериев — настройка обязательности, веса (1–5) и синонимов для поиска
- Сопоставление — таблица соответствий с цитатами из резюме и статусами
- Вопросы для интервью — генерация вопросов по неподтверждённым требованиям
- Экспорт — выгрузка сводки в текстовом файле
- Приватность — данные не покидают браузер, localStorage с явным согласием
Экраны
- Ввод — два поля (вакансия и резюме), кнопка «Извлечь требования»
- Критерии — редактируемый список требований
- Сопоставление — таблица с цитатами и индикатором покрытия
- Интервью — сгенерированные вопросы, копирование, экспорт
Запуск
Проект работает в браузере без сервера. Откройте index.html в любом современном браузере.
Структура файлов
index.html — разметка и стили
aiAdapter.js — демонстрационный AI (детерминированные правила)
matcher.js — логика сопоставления
ui.js — управление интерфейсом
storage.js — работа с localStorage
app.js — точка входа
Особенности
- Демо-режим AI — детерминированная логика на словарях и шаблонах (без реальной ML-модели)
- Словари навыков — frontend, backend, database, devops, mobile, qa, soft skills
- Распознавание отрицаний — «без опыта React» не считается подтверждением
- Покрытие требований — сумма весов подтверждённых / сумма весов всех × 100
- Клавиатурная навигация — Escape (назад), Ctrl+Enter (действие), Ctrl+S (сохранить)
Ограничения демо-версии
- Нет подключения к реальной AI-модели
- Анализ только по ключевым словам и шаблонам
- Данные хранятся только в localStorage браузера
Дизайн-система
Проект использует дизайн-систему KT AI:
- Токены:
var(--kt-ai-*)для цветов, отступов, шрифтов - Компоненты: кнопки, карточки, поля форм
- Иконки: спрайт Lucide (97 иконок)
Проверки
- Пустые тексты — валидация с фокусом на первом ошибочном поле
- Отсутствие критериев — сообщение с предложением извлечь требования
- Синонимы — поиск по альтернативным названиям навыков
- Отрицания — не считаются подтверждением
- Резюме без раздела навыков — статус «Уточнить» или «Не найдено»
- Закрытие вкладки — данные сохраняются в localStorage (кроме резюме без явного сохранения)
Горячие клавиши
Ctrl+Enter— Извлечь требования / Применить критерииCtrl+S— Сохранить данныеEscape— Назад к предыдущему экрану
Экспорт
Формат: текстовый файл .txt с датой экспорта, покрытием требований, результатами сопоставления и вопросами для интервью.
Конфиденциальность
- Данные не отправляются на сервер
- localStorage используется только с явного согласия
- Кнопка «Очистить всё» удаляет все данные без возможности восстановления
- Формулировки в интерфейсе нейтральные и уважительные
Лицензия
Учебный проект для песочницы Vibe42.