Портфолио

Проекты

SaaS-платформы, автоматизация бизнес-процессов, AI-агенты, интеграции с банками и ЭДО. Ниже — реальные системы, которые работают в проде: их разработал, интегрировал и поддерживаю сам.

01

PTO.pro

Прод: p-pto.ru
SaaS multi-tenant ЭДО банк-API OCR AI SSE real-time

Внутренняя SaaS-платформа подрядной компании: планировщик работ, документооборот (задания, акты КС-2/КС-3/КС-6а), финансовый учёт, работа с контрагентами, аналитика, личный кабинет клиента, чат сотрудников. Разрабатывается и эксплуатируется в проде.

Публичный лендинг

p-pto.ru — главная, hero-блок
Лендинг: главная, презентация услуги
p-pto.ru — блоки услуг
Услуги подрядной компании
p-pto.ru — типография и география
Собственная минитипография, география работы

Внутренние экраны (данные обезличены)

PTO.pro — планировщик «Мои задачи», канбан
Планировщик «Мои задачи»: канбан с группировкой по объектам, drag-and-drop
PTO.pro — планировщик по объектам
«По объектам»: список ЖК со статусами, счётчиками задач и контрагентами
PTO.pro — дашборд, KPI и топы
Финансовый дашборд: KPI, динамика по месяцам, топы клиентов/поставщиков/сотрудников
PTO.pro — дашборд, сравнение по годам
Сравнение по годам: наложение линий разных лет + средний за прошлые годы
PTO.pro — чат с ИИ-агентом
Внутренний чат с ИИ-агентом: постановка задач голосом/текстом с уточнениями

Стек

  • Backend: Node.js · Express
  • БД: PostgreSQL · RLS (row-level security) · миграции
  • Real-time: SSE (Server-Sent Events)
  • Frontend: Vanilla JS (без сборки, без фреймворков)
  • Инфра: nginx · Let's Encrypt · PM2 · SFTP-деплой
  • Аутентификация: JWT · роли owner / employee / client

Интеграции

  • Яндекс.Почта (SMTP + IMAP) — рассылка документов клиентам
  • DaData — автозаполнение реквизитов по ИНН
  • Yandex Vision OCR — распознавание PDF документов качества
  • Т-Банк (T-API) — автозагрузка операций и разнесение по счетам
  • Контур.Диадок — отправка и подпись электронных документов
  • Planfix — синхронизация задач и планирования
  • GigaChat (Сбер) · Claude (Anthropic) — AI-извлечение полей из документов

Автоматизация — сделал сам

Что раньше делал человек вручную:

Договоры, задания, акты, счета готовились в Word/Excel и заполнялись руками. Каждый документ отправлялся в Диадок вручную — поля заполнялись повторно. Клиентам писали письма с уведомлениями поштучно. Оплаты сверялись с выпиской Т-Банка глазами. Документы качества (сертификаты, паспорта) забивались в реестр по одному.

Что стало происходить автоматически:

Один клик — документ формируется из шаблона с реквизитами клиента, отправляется в Диадок с уже заполненной формой и параллельно уходит клиенту на почту с приложениями. Операции из банка подтягиваются раз в час и разносятся по счетам. Загруженный PDF документа качества сам распознаётся OCR → AI извлекает номер, дату, материал, срок действия → строка в реестре готова. Планировщик показывает срок годности документов и предупреждает заранее.

Сколько времени/ресурсов сэкономлено:

30 000 ₽/мес на отказе от подписок на CRM/финучёт/Tilda. Формирование пакета документов на объект сократилось с 1–2 часов до 3–5 минут. Разбивка Т-Банковских выписок по объектам была ручной работой на день в месяц — теперь несколько минут.

Отдельная фича: личный кабинет клиента (read-only) — заказчик видит свои документы, статус ЭДО, дебиторку, календарь оплат. Не нужно писать в почту «пришлите акты» — всё в одном окне.
02

PrintCalc

Прод: pcalc.pro
SaaS AI-агент омниканальный чат CRM банк-API

SaaS для типографий: расчёт стоимости печати прямо в браузере (PDF парсится на стороне клиента без загрузки на сервер), управление заказами, финансовый учёт, AI-агент, который принимает заявки и общается с клиентом в мессенджерах. Разработан для собственной типографии, сейчас готовится к продаже другим типографиям.

Публичный лендинг

pcalc.pro — главная
Лендинг: hero и позиционирование
pcalc.pro — возможности
Расчёт печати в браузере, без загрузки файлов на сервер
pcalc.pro — тарифы и функции
Функции CRM для типографии

Внутренние экраны

pcalc.pro — рабочее пространство, проекты
Рабочее пространство: несколько точек типографии, KPI по каждой
pcalc.pro — заказ с расчётом страниц
Заказ: PDF разобран по страницам, автоматический расчёт стоимости печати
pcalc.pro — единый мессенджер с AI-агентом
Мессенджер: чаты из Авито / Почты / Telegram / МАКС + AI-агент отвечает клиенту
pcalc.pro — учёт материалов и остатков
Ресурсы: приходы бумаги и расходников, остатки в реальном времени
pcalc.pro — прайс-лист типографии
Прайс-лист: тарифы по форматам, услуги-«ступени» и печать на нестандартном формате

Стек

  • Backend: Node.js · Express (тот же, что PTO.pro — единая база кода)
  • БД: PostgreSQL · отдельная от PTO.pro
  • Клиентский парсинг PDF: pdf.js — приватность файлов клиента
  • Real-time: SSE + WebSocket-хук для мессенджеров
  • Инфра: тот же сервер, отдельный PM2-процесс и nginx-конфиг

Интеграции

  • Яндекс.Почта (SMTP + IMAP) — заявки из почты в общий чат
  • Авито — заявки из объявлений через open-api
  • Telegram Bot API — общение с клиентами + бот для сотрудников
  • МАКС Bot — параллельный канал для клиентов
  • DaData — реквизиты контрагентов
  • Т-Банк (T-API) — оплаты, счета
  • Yandex Metrika — аналитика посетителей
  • Claude (Anthropic) — AI-агент, диалог с клиентом

AI-агент — что делает

Какого AI-агента запустил:

Sales-агент на Claude (Anthropic). Работает в общем чате, куда стекаются заявки из почты, Авито, Telegram и МАКС. Ведёт диалог с клиентом на его площадке (не перебрасывает никуда), уточняет параметры печати (тираж, формат, бумага, отделка), формирует карточку заказа в CRM, отправляет счёт на оплату, при готовности передаёт сотруднику через Telegram-бот.

С какими системами интегрирован:

Telegram Bot API, МАКС Bot, Яндекс.Почта (IMAP), Авито, PostgreSQL (карточки заказов), Т-Банк T-API (счета), внутренний Telegram-бот сотрудников.

Что делал человек раньше:

Менеджер целый день сидел на почте, Авито и в мессенджерах, отвечал на однотипные вопросы, вручную заводил заказы в таблицу, выставлял счёт в банке, отслеживал оплату, писал сотруднику «сделай тираж».

Что стало автоматически:

Все каналы связи в одном окне. AI-агент отвечает клиенту сам, при уверенности > порога сразу формирует заказ и счёт. Оплата → карточка меняет статус → сотрудник получает уведомление в Telegram. Человек подключается только к нестандартным заявкам.

Сколько сэкономлено:

≈ 30 000 ₽/мес — уволил менеджера по обработке заявок; агент работает 24/7 без выходных. Время реакции на новую заявку — с 30–60 мин до < 30 секунд. Учёт финансов больше не требует ручной сверки.

03

TG-MAX мост

Внутренний сервис (не публичный)
интеграция Telegram Bot API МАКС Bot двусторонний mirror

Двусторонний мост между групповым чатом в Telegram и МАКС. Сообщения дублируются в обе стороны: файлы, картинки, реплаи, редактирования, реакции. Написал, потому что половина сотрудников отказалась ставить приложение МАКС — теперь никто не выпадает из обсуждения.

Стек и интеграции

  • Node.js + Express (одиночный процесс, PM2)
  • Telegram Bot API — long-polling, webhooks для файлов
  • МАКС Bot API — двусторонняя связка
  • Сопоставление сообщений (Telegram msg_id ↔ МАКС msg_id) в SQLite

Что делает

  • Новое сообщение в TG → появляется в МАКС от имени этого же автора
  • Новое сообщение в МАКС → появляется в TG
  • Правки и удаления синхронизируются
  • Файлы и картинки — тоже, с сохранением подписей
04

PTO.pro — программа для ЭВМ

Зарегистрирована в Роспатенте
патент desktop строительство

Настольная программа для быстрого формирования исполнительной документации в строительстве (АОСР, реестры, комплекты документов). Ключевая идея: базовые сведения об объекте вводятся один раз — дальше все документы генерируются автоматически, инженер не переписывает «Заказчик / Подрядчик / № договора» в каждый акт. Сделана до появления стабильных LLM, вручную. В планах — переписать в веб-платформу для инженеров.

Что автоматизирует

Инженер ПТО раньше открывал шаблон акта, копировал «шапку» из другого документа, менял цифры и даты, сохранял, повторял по 30–50 актов на объект. Ошибки в номерах и датах — постоянно, приходилось переделывать. В программе: заводится объект, заполняется один раз всё (заказчик, подрядчик, реквизиты, ответственные), дальше акты формируются пачкой из справочника работ. Ускорение в 8–10 раз для типового объекта.

Экраны программы

PTO.pro — свидетельство о государственной регистрации программы для ЭВМ № 2024688574
Свидетельство о государственной регистрации программы для ЭВМ № 2024688574 (Роспатент, 28.11.2024)
PTO.pro — форма акта АОСР
Форма АОСР: единый бланк со всеми участниками — все поля тянутся из справочника объекта
PTO.pro — журнал производства работ
Журнал производства работ: строки формируются в паре кликов и подставляются во все связанные акты
PTO.pro — вложенное окно объекта
Дерево заказчиков и объектов слева — переключение контекста в одно касание
05

Лабиринт

Играть: pcalc.pro/game · готовится RuStore / Google Play
Phaser 3 Vanilla JS (ESM) Vite Capacitor Android AAB/APK пиксель-арт

Первая моя игра. Пиксельная бродилка по лабиринтам с ограниченной видимостью, процедурной генерацией уровней и своей звуковой системой на осцилляторах. Работает и в браузере, и как нативное Android-приложение (Capacitor), одна кодовая база. Сейчас в бете, готовится к публикации в RuStore.

Экраны игры

Лабиринт — городок с домиками и выбор уровня
Городок: кузница, лавка, таверна, лекарня — точка сбора между уровнями
Лабиринт — главное меню
Главное меню: заставка «ЛАБИРИНТ» на фоне сгенерированного лабиринта
Лабиринт — приветствие автора
Приветствие автора при первом входе: честно, без маркетинга
Лабиринт — выбор персонажа
Выбор облика: 4 персонажа, все идут без снаряжения
Лабиринт — геймплей
Первый уровень: ограниченная видимость, «свет» вокруг героя
Лабиринт — мобильная версия
Мобильная сборка (Capacitor / Android): тот же лабиринт в портретной ориентации

Стек

  • Движок: Phaser 3
  • Сборка: Vite (ES-модули, без TypeScript)
  • Мобилка: Capacitor — сборка Android AAB / APK
  • Хранилище: localStorage (в браузере) / Preferences (в Capacitor)
  • Звук: собственные осцилляторы через Web Audio (без ассетов)
  • Артефакты: подписанный AAB для RuStore, тестовый APK

Своё под капотом

  • Процедурная генерация проходимых лабиринтов
  • Разведка через рейкаст (line-of-sight) с плавным затуханием
  • Своя UI-раскладка (fontSize, uiScale) на любой aspect ratio
  • Кнопка «назад» Android — идёт по стеку сцен, а не закрывает игру
  • 10 сцен: Boot / Splash / Title / CharacterSelect / LevelSelect / Shop / Tavern / Maze / LevelComplete / Achievements
06

romban.ru

Прод: romban.ru (эта страница)
HTML + CSS + JS без сборки nginx статика

Персональный сайт и портфолио. Чистая статика, без фреймворков — специально: минимальный вес, мгновенная загрузка, ноль зависимостей. Оформлен в стиле «редакторский минимализм», шрифты самохостятся. Здесь — эта страница «Проекты», журнал разработки и стиль-борд с элементами интерфейса из основных проектов.