Активный продукт · Локальное приложение

Помощник по резюме

Приложение для macOS готовит резюме под вакансию, а контакты, исходные документы и секреты оставляет на устройстве пользователя.

Статус
Основная часть реализована; продукт развивается
Роль
Продукт, архитектура, backend и frontend
Стек
Go, React, TypeScript, SQLite
Доступ к модели
Консольный LLM-провайдер или тестовый исполнитель
Вакансия и очищенный профиль проходят анализ и проверку перед экспортом документа

Задача

Адаптировать резюме, не придумывая опыт и не раскрывая контакты

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

Работа на устройстве

Сервер доступен только на локальном компьютере, а веб-интерфейс встроен в один исполняемый файл.

Разделение данных

Исходники и контакты хранятся отдельно от материала, подготовленного для анализа.

Проверка фактов

Сомнительные утверждения отмечаются для проверки и не попадают в документ незаметно.

Подстановка при выгрузке

Контакты добавляются только при создании DOCX или PDF.

Порядок работы

От исходного резюме до проверенного отклика

Устройство

Одна локальная программа со сменным LLM-провайдером

Приложение на Go управляет данными, фоновыми операциями, импортом, выгрузкой и правилами безопасности. Рабочий интерфейс сделан на React. SQLite хранит индекс и состояния, а закрытые файлы остаются в каталоге данных приложения. Для обращения к модели создаётся временная область только с разрешёнными входными данными.

Приложение может использовать консольный LLM-провайдер или предсказуемую тестовую реализацию, не меняя общий порядок работы.

Эксплуатация

В продукт встроены средства обслуживания

Длительные действия выполняются в фоне. Командная строка умеет проверять установку, показывать состояние процесса и корректно останавливать приложение. Зашифрованные резервные копии, восстановление индекса и явная команда удаления данных закрывают основные случаи обслуживания.

Отдельный раздел для разбора заказов с бирж ещё разрабатывается и не представлен здесь как выпущенная возможность.

Границы публикации

В кейсе используются только синтетические материалы

Реальные резюме, вакансии, контакты, запросы к моделям и итоговые документы не публикуются. Репозиторий закрыт.

Следующий проект

AsyncTaskManager

Производственная подсистема на C++ для длительных операций и рабочих потоков.

Читать кейс →