# HR Candidate Matcher Веб-сервис для сопоставления резюме с требованиями вакансии. Помогает рекрутёрам быстро оценивать кандидатов по прозрачным критериям и готовить вопросы для интервью. ## Возможности - **Извлечение требований** — анализ текста вакансии с выделением ключевых навыков, опыта и образования - **Редактирование критериев** — настройка обязательности, веса (1–5) и синонимов для поиска - **Сопоставление** — таблица соответствий с цитатами из резюме и статусами - **Вопросы для интервью** — генерация вопросов по неподтверждённым требованиям - **Экспорт** — выгрузка сводки в текстовом файле - **Приватность** — данные не покидают браузер, localStorage с явным согласием ## Экраны 1. **Ввод** — два поля (вакансия и резюме), кнопка «Извлечь требования» 2. **Критерии** — редактируемый список требований 3. **Сопоставление** — таблица с цитатами и индикатором покрытия 4. **Интервью** — сгенерированные вопросы, копирование, экспорт ## Запуск Проект работает в браузере без сервера. Откройте `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.