AI-платформа квалификации тендеров UnoTender
Канбан тендеров, где ИИ по документам закупки считает вердикт и балл соответствия критериям компании, плюс поиск закупок, чат по документации и ИИ-заполнение бланков заявки.
О проекте
Разработали собственную B2B SaaS-платформу UnoTender для квалификации тендеров: сервис находит закупки по профилю компании, забирает документацию с площадки и по загруженным документам определяет, проходит ли компания по требованиям заказчика. Задача — убрать ручную вычитку пакета документов на этапе решения «участвовать или нет», где на один тендер уходят часы, а поток закупок по профилю измеряется десятками в неделю.
Это полноценная SaaS-платформа с канбан-доской тендеров, интеграцией с каталогом закупок Zakupki360, настраиваемыми наборами критериев и базой знаний, чатом по документам закупки и ИИ-заполнением бланков тендерных форм. Данные изолированы по компании: владелец и приглашённые администраторы работают с общими тендерами и критериями, доступ открывается по подписке через UnoBilling.
Технологии
- TypeScript
- Node.js
- Express
- Prisma
- PostgreSQL
- React
- Vite
- Tailwind CSS
- OpenAI API
- Anthropic Claude API
- Zakupki360 API
- DaData API
- UnoLogin
- UnoBilling
- Docker
Что разработано
- Backend API на Node.js + Express + TypeScript с Prisma ORM и скоупом всех запросов по owner_id (тенант компании)
- Web-приложение на React + Vite + Tailwind + shadcn/ui: канбан-доска, карточка тендера, критерии, настройки, биллинг
- Канбан тендеров с 7 статусами: new → reviewing → passed / partial / failed выставляются автоматически по вердикту ИИ, participating / rejected — только вручную
- AI-модуль оценки на OpenAI: вердикт (проходит / частично / не проходит), балл 0–100, заключение, списки выполненных и невыполненных требований и балл по каждому правилу отдельно
- Стриминговый режим оценки: человекочитаемый разбор идёт пользователю по мере генерации, следом — строгий JSON вердикта
- Модуль извлечения текста из 6 форматов: DOCX (mammoth), устаревший бинарный DOC (word-extractor), PDF (pdf-parse), XLSX/XLS по листам (SheetJS), TXT и MD
- Редактор наборов критериев: правила 7 типов с весами и параметрами плюс свободная инструкция для ИИ, набор по умолчанию подставляется в новую карточку
- 5 встроенных шаблонов критериев под частые категории закупок с привязкой к префиксам ОКВЭД и весами, суммирующимися в 100
- База знаний: справочные документы загружаются один раз и прикрепляются к любому числу наборов критериев, попадая в промпт оценки
- Интеграция с Zakupki360: поиск закупок по ключевым словам, кодам ОКПД2, законам и НМЦК, карточка закупки и импорт всей документации в тендер
- Модуль ИИ-заполнения тендерных форм на Claude (code execution + Agent Skill docx + Files API) с отдачей готовых .docx
- Профиль компании и реквизиты с автозаполнением из DaData по ИНН, онбординг-чеклист и интерактивный тур по интерфейсу
- Интеграция UnoLogin: SSO по OAuth2 (B2B2C), роли владельца и админа компании, виджеты команды и аккаунта в шапке
- Интеграция UnoBilling: гейт подписки на уровне middleware, демо-режим до оплаты, раздел тарифов только для владельца
- Docker Compose-инфраструктура: PostgreSQL, backend, frontend
Ключевые фичи
- Вердикт «проходим / частично / не проходим» с баллом 0–100 и разложением по каждому требованию вместо чтения пакета документации целиком
- Канбан, который сам себя раскладывает: карточка переезжает в колонку по итогу ИИ-оценки, но ручное решение «участвуем / отказ» защищено от перезаписи
- Автоматическая переоценка при любом изменении: загрузка документа, удаление документа или смена набора критериев
- Поиск закупок по 44-ФЗ, 223-ФЗ, 615-ПП и коммерческим, с фильтрами по кодам ОКПД2, датам публикации и диапазону начальной цены
- Подбор кодов ОКПД2 из справочника DaData по виду деятельности компании, а не по несуществующей кросс-таблице ОКВЭД→ОКПД2
- Устойчивый импорт документации: дедупликация дублей файла под разными id, ретраи на рейт-лимит площадки с уважением Retry-After, пропуск zip/sig/p7s с отчётом вместо падения импорта
- Опциональный скоринг при импорте: документы можно подтянуть в карточку, не запуская ИИ-оценку
- Чат по документам тендера с историей: ответы строго на основе извлечённого текста, с явным «этого нет в документах» вместо выдуманных фактов
- ИИ-заполнение бланков как редактирование оригинала, а не пересборка с нуля: Claude в песочнице правит копию файла через python-docx, сохраняя таблицы, шрифты и отступы
- Поиск форм внутри пакета документации: модель сама определяет, какие приложения к извещению должен заполнить участник, включая несколько бланков в одном файле
- Запрет на выдумывание данных: поле, которое нельзя заполнить достоверно, остаётся пустым, как в оригинале
- Наборы критериев с весами задаются один раз и переиспользуются на всех карточках; шаблоны по ОКВЭД дают рабочий набор без ручной настройки
- Настройки моделей на уровне компании: 10 моделей OpenAI для оценки и чата и 4 модели Claude для заполнения форм, с качественной шкалой расхода вместо сырых цен за токены
- Профиль компании по ИНН: DaData подтягивает название, ОКВЭД, КПП, ОГРН, юридический адрес и руководителя, все поля остаются редактируемыми
- Онбординг: пошаговый чеклист (ИНН → критерии → первый тендер → оценка) и тур по интерфейсу с подсветкой элементов
- Роли владельца и админа компании через UnoLogin с приглашениями и общим пространством тендеров
- Демо-режим до оплаты: заполненная доска и наборы критериев показываются на живом интерфейсе, реальные маршруты закрыты биллингом
Решение задачи
Платформа перевела решение «участвовать или нет» из ручной вычитки тендерной документации в управляемый контур: закупка находится по профилю компании, документы импортируются одной кнопкой, а ИИ возвращает вердикт с баллом и разбором по каждому требованию.
Система намеренно не даёт бинарного ответа — цена ошибки высока в обе стороны: пропущенный подходящий тендер это упущенная выручка, а заявка по невыполнимым требованиям — потраченные дни и риск попасть в реестр недобросовестных поставщиков. Решение остаётся за человеком, платформа отвечает за то, чтобы он принимал его за минуты и с полной картиной, а рутину вокруг — поиск, импорт, уточняющие вопросы и заполнение бланков заявки — берёт на себя.
Результаты
Заказать похожий проект
Оставьте заявку — обсудим задачу и предложим решение под ваш бизнес.
Оставить заявку











