Веб-программист. Разработка веб-сервиса под ключ: ИИ-парсинг PDF-спецификаций + Скрапинг цен (ЭТМ) + Выгрузка в Excel (Дистанционная работа)

Бюджет не указан

Задание: Веб-программист. Разработка веб-сервиса под ключ: ИИ-парсинг PDF-спецификаций + Скрапинг цен (ЭТМ) + Выгрузка в Excel (Дистанционная работа)

Необходимо разработать небольшой, легкий веб-сервис (скрипт с веб-интерфейсом) для автоматизации создания строительных/электрических смет. Логика работы линейная, стек на выбор исполнителя (предпочтительно Python / FastAPI/ Flask или Node.js / Express). Основные этапы работы сервиса: Фронтенд (Простейший single-page): Чистая, аккуратная HTML-страница (можно использовать Tailwind CSS). Поле для загрузки PDF-файла (проектная документация до 20 МБ). Кнопка «Запустить расчет». Текстовый индикатор прогресса (например: «Шаг 1: Анализ ИИ...», «Шаг 2: Сбор цен (обработано 5 из 40)...»). Кнопка автоматического скачивания готового Excel-файла. Бэкенд — Этап 1: Распознавание через ИИ: Сервер принимает PDF, переводит в Base64 и отправляет в API Gemini (ключ предоставлю). С помощью системного промпта Gemini извлекает спецификацию материалов и возвращает её в виде строгого JSON-массива. Поля в массиве: Категория, Наименование, Бренд, Артикул, Ед. изм., Количество. Бэкенд — Этап 2: Фоновый скрапинг цен: Получив массив элементов, скрипт должен в фоне (порциями или в потоках) найти актуальные цены на сайте ЭТМ (etm.ru). Поиск осуществляется по связке Артикул + Бренд или Наименование. Из карточки товара нужно забрать: Актуальную цену и Прямую ссылку на товар. Важно: Предусмотреть обход базовых блокировок (user-agent, задержки или интеграция с прокси-сервисом, если потребуется). Бэкенд — Этап 3: Формирование стилизованного Excel: Скрипт собирает все данные (включая найденные цены) и генерирует файл .xlsx. Данные должны быть сгруппированы по Категориям. Внутри каждой категории должна быть строка «ИТОГО», считающая сумму по формуле (Количество * Цена). Ссылки на ЭТМ должны быть оформлены как кликабельные гиперссылки. Дизайн таблицы должен быть аккуратным и корпоративным (заголовки выделены цветом, границы проставлены, шрифты выровнены). Пример таблица приложен