главная.tsx / кейсы/
Кейсы по автоматизации и разработке
Настоящие проекты без названий компаний: что было, что сделано, что стало, и схема процесса.
// КЕЙСЫ
Что собрал в продакшен
В общих чертах, детали под NDA. Кликни на проект, чтобы раскрыть.
менеджер вручную→стикер из чата
// что былоСклад писал в чат, что нужен стикер. Менеджер читал сообщение, заходил в кабинет службы доставки, оформлял отправление и пересылал файл обратно.
// что сделаноЭто делает бот: находит заказ, проверяет данные, оформляет отправление, присылает стикер в чат и записывает трек-номер в заказ и таблицу. Если данных не хватает, бот не угадывает, а передаёт заказ менеджеру и называет причину.
// результатБольше 2 700 отправлений через систему с марта 2026.
все данные заполнены
склад1042 нужен стикер
ботНайден один заказ: 1042
- дублей нет
- габариты заполнены
- маршрут прямой
- адрес проверен
- тариф получен
ботОтправление оформлено
sticker-1042.pdf
ботТрек-номер записан в заказ и таблицу
не заполнены габариты
склад1043 нужен стикер
- дублей нет
- габариты не заполнены
ботЗаказ 1043 не оформлен: не заполнены габариты. Менеджеру нужно уточнить данные
- СообщениеСклад пишет номер заказа
- ПоискНаходит один заказ во всех магазинах
- ПроверкаДубль, габариты, маршрут, адрес, тарифВсё верно: заказ идёт дальше
- например, нет габаритовМенеджерОтправление не оформлено, причина передана менеджеру
- ОформлениеОформляет отправление
- СтикерФайл приходит ответом в чат
- Трек-номерЗаписывается в заказ и таблицу
29 %→25 из 32
// что былоБанк списывал деньги по жалобе покупателя и добавлял комиссию. На каждый спор уходил час: собрать трекинг, скриншоты и переписку, заполнить один шаблон на все причины.
// что сделаноИнструмент сводит материалы из 9 источников и подбирает аргументы под конкретную причину спора. Основа — пять лет истории: 1 249 споров и разбор проигрышей. Магазины, покупатели и банки остались те же.
// результатВыиграно 25 из 32 завершённых споров за июль–октябрь 2026.В 2024 году выигрывали 29 %. Текущая выборка пока небольшая.
- причина
- Не получено
- материалы
- Заказ и оплатаПодтверждение доставкиПереписка с покупателем
- аргумент
- К ответу по причине «не получено» приложено подтверждение доставки
- состав
- Письмо и приложения
- ответ
- Передан в платёжную систему
- Спор открытПлатёжная система сообщает о споре
- Сбор материаловЗаказ, доставка, переписка
- ПричинаАргумент под конкретную причину
- Пакет ответаПисьмо и приложения
- ОтветУходит в платёжную систему
конструктор→своё приложение
// что былоОколо четырёх лет за конструктор приложений на магазин платили примерно $1 000 в месяц. Нестандартные правки упирались в его ограничения.
// что сделаноРазработал своё приложение и панель, в которой команда сама меняет экраны, ставит кампании на расписание и отправляет пуши. Ошибку можно откатить в один клик.
// результат12 % заказов за октябрь пришли через приложение.Конверсия 2,1 % против 2,2 % на конструкторе. Плата около $1 000 в месяц за конструктор ушла.
- ПанельКоманда собирает экран из блоков
- ПредпросмотрТелефон и планшет прямо в панели
- РасписаниеКампания и пуш на нужное время
- ПриложениеОбновляется без нового релиза
- РезультатОткрытия, заказы и выручка кампании
5 ч/день→авто
// что былоМенеджер каждое утро сверял наличие у трёх поставщиков и вручную обновлял магазин.
// что сделаноПарсер обходит каталоги поставщиков по расписанию, сводит остатки в одном месте и обновляет магазин.
// результатМинус 5 часов рутины в день.
- РасписаниеЗапуск в заданное время
- СборКаталоги поставщиков
- СверкаСравнение с остатками магазина
- товар закончилсяОповещениеУведомление при обнаружении
- ОбновлениеОстатки на сайте
ручная сверка→авто
// что былоКаждый магазин отслеживал отправления в своём кабинете. Трек-номера копировали в заказ руками, статусы расходились с тем, что видел покупатель.
// что сделаноЕдиный дашборд: трек-номера приходят сами, статусы совпадают с магазином, возврат создаётся с данными товара прямо из заказа.
// результатКоманда больше не заходит в кабинет доставки.
- ЗаказИз любого подключённого магазина
- ОтправлениеСоздаётся автоматически
- СтатусыОбновляются в обе стороны
- ПокупательВидит актуальный трек-номер
- если покупатель возвращает товарВозвратОдин клик, данные из заказа
ручной учёт→выручка по каналу
// что былоЗвонки жили в коллтрекинге, клиенты в CRM. Было непонятно, какой канал приносит продажи, а не просто звонки.
// что сделаноЗвонок с рекламы сам создаёт лид в CRM, смена стадии возвращается в коллтрекинг, оплата возвращается суммой выручки.
// результатРуководитель видит выручку по каждому рекламному каналу.
- ЗвонокС рекламного источника
- Лид в CRMСоздаётся автоматически
- СтадииПередаются в коллтрекинг
- ОплатаСумма привязывается к звонку
- ОтчётВыручка по каналу
вручную→авто
// что былоЗаказы из нескольких магазинов копировали в таблицы вручную, форматы и поля отличались.
// что сделаноЗаказ сразу формирует выгрузку. У каждого магазина свой профиль: какие поля брать, как объединять позиции, что отфильтровать.
// результатУбрано 40+ часов ручной работы в неделю на пиковых днях.
- ЗаказПриходит в момент оформления
- ПрофильПравила магазина
- ФильтрУбирает служебные позиции
- ExcelГотовый файл для оператора
вручную→retention +22 %
// что былоПрограммы лояльности на сайте не было, бонусы и промокоды выдавали вручную через CRM.
// что сделаноАвтоматизировал начисление, разблокировку и списание бонусов.
// результатRetention +22 %, около 30 часов в месяц освободилось.
- ЗаказПокупка на сайте
- НачислениеБонусы начисляются автоматически
- РазблокировкаПо статусу заказа
- СписаниеПромокод при следующей покупке
почта и чаты→портал
// что былоПоставщики получали заказы по почте и в мессенджерах, и часть заказов терялась.
// что сделаноПортал с регистрацией, ролями, заказами и автоматической синхронизацией с магазином.
// результатЗаказы больше не теряются в почте и чатах.
- Заказ в магазинеПоявляется в системе
- ПорталНазначается поставщику
- СтатусПоставщик отмечает готовность
- МагазинСтатус возвращается в заказ
3 SaaS→1 свой
// что былоДанные из рекламы, рассылок, маркетплейсов и магазина лежали в разных кабинетах, общую картину собирали раз в неделю.
// что сделаноДашборд сам забирает данные из рекламных кабинетов, CRM и магазина и связывает канал, заказ и выручку.
// результатМинус примерно $300 в месяц на подписках.
- ИсточникиРеклама, CRM, магазин
- ВыгрузкаПо расписанию
- СвязкаКанал, заказ, выручка
- ДашбордРешения по бюджету
вручную→2 пуб/нед
// что былоКонтент-план жил в таблице, статьи заказывали на аутсорсе и публиковали руками.
// что сделаноСистема анализирует семантику, строит план, генерирует статьи и публикует их по расписанию, следит за дублями.
// результат2 публикации в неделю без ручного ведения календаря.
- СемантикаАнализ ниши
- ПланПриоритеты тем
- СтатьяГенерация
- КонтрольПроверка дублей
- ПубликацияВ блог по расписанию
мессенджеры→заявки с сайта
// что былоБизнес работал через мессенджеры, своего сайта не было.
// что сделаноПлатформа с каталогом, бронированием, несколькими языками и CMS, в которой оператор всё редактирует сам.
// результатЗаявки идут с сайта, а не только через мессенджеры.
- КаталогЯхты и маршруты
- ЗаявкаКлиент бронирует на сайте
- ОператорПолучает заявку и подтверждает
маркетплейс→свой канал
// что былоБренд продавал только через маркетплейсы и не имел своего канала.
// что сделаноМагазин с каталогом, фильтрами, оформлением заказа и личным кабинетом, с упором на мобильных.
// результатСвой канал продаж и свои данные о покупателях.
- КаталогФильтры и карточки
- ЗаказОформление на сайте
- КабинетИстория покупателя
- ДанныеСвоя база покупателей
агрегаторы→свой канал
// что былоЗаказы шли через мессенджеры и агрегаторы, а платформа не позволяла ставить произвольные плагины.
// что сделаноМеню, заказ, карта локаций и страница франшизы. Своя корзина отправляет готовый заказ в WhatsApp.
// результатСвой канал заказов, команда сама обновляет меню.
- МенюКаталог блюд
- КорзинаНа стороне браузера
- WhatsAppГотовый заказ сообщением
- РесторанПолучает заказ без агрегатора
$623/мес→свой сервер
// что былоПисьма шли через внешний сервис: подписка росла вместе с базой, а логика ограничивалась его возможностями.
// что сделаноПеренёс рассылки на свой сервер: приветственная цепочка, брошенный заказ, напоминание об отзыве, уведомление о поступлении товара. Отдельный сторож следит за открываемостью по почтовым провайдерам.
// результатМинус $623 в месяц на подписке сервиса рассылок одного магазина.
- СобытиеПодписка, брошенный заказ, поступление
- УсловиеНапример, заказа ещё нет
- ПисьмоУходит покупателю автоматически
- КонтрольСравнение открываемости по провайдерам
- открываемость проселаОповещениеКоманда видит проблему раньше потерь
от $100/мес→$0 за запрос
// что былоГотовые сервисы визуального поиска работают по подписке, а данные о запросах остаются у них.
// что сделаноПокупатель загружает или снимает фото, система находит одежду на снимке и показывает похожие товары из каталога. Всё работает на своём сервере.
// результат$0 за запрос вместо подписки от $100 в месяц.
- ФотоПокупатель загружает снимок
- РаспознаваниеНаходит одежду на фото
- СравнениеСверяет с каталогом магазина
- РезультатПоказывает похожие товары
398 МБ→45 МБ
// что былоФото покупателей показывал внешний виджет по подписке, а тяжёлые видео замедляли страницы.
// что сделаноСвоя галерея собирает отмеченные фото из Instagram и отзывы с фото, подключается к сайту одним блоком и грузит лёгкие превью.
// результатВидео-превью ужаты с 398 до 45 МБ, подписка на виджет больше не нужна.
- ИсточникиОтметки в соцсетях и отзывы
- ОбработкаЛёгкие превью для плиток
- ПодборКоманда управляет галереей
- СайтБлок на страницах магазина
подписка→свой сервис
// что былоОпция защиты посылки работала через внешнее приложение с подпиской, при этом риски магазин всё равно нёс сам.
// что сделаноСделал свой сервис: опция предлагается в корзине, добавляется в заказ и отображается в учёте.
// результатПодписка на стороннее приложение снята, правила задаёт магазин.
- КорзинаПокупатель видит опцию защиты
- ЗаказОпция добавляется к оплате
- УчётВидно, кто и когда её купил
таблица→живой сервис
// что былоПрибыль с учётом комиссий и логистики считали вручную в большой таблице, идеи новых товаров жили там же.
// что сделаноВеб-сервис считает маржу по товару, обновляет цены по расписанию и ведёт карточки будущих товаров. У администратора и менеджера разные права.
// результатЖивой сервис: маржа товара считается за секунды, а не в таблице.
- ТоварАртикул и себестоимость
- РасходыКомиссии и логистика
- МаржаРезультат по товару
- РешениеКарточка будущего товара
минуты→секунды
// что былоКаждый счёт в налоговом портале заполняли вручную, поля приходилось переносить по одному.
// что сделаноРасширение для Chrome подставляет данные в форму портала из прошлых счетов или шаблонов клиентов. Сотрудник проверяет и отправляет сам.
// результатЗаполнение счёта сократилось с минут до секунд.
- ШаблонКлиент или прошлый счёт
- ЗаполнениеРасширение подставляет поля
- ПроверкаСотрудник смотрит форму
- СчётОтправляется в портале
без учёта→QR и журнал
// что былоОстатки и перемещения нужно было вести в одном месте, без привязки к внешней программе.
// что сделаноМодуль печатает QR-этикетки на товары и зоны, ведёт приёмку, сборку заказов и инвентаризацию со сканером. Дашборд показывает работу по периодам и операторам.
// результат2 875 вариантов товара заведены в систему, каждое движение записано.
- ПриёмкаТовар и зона получают QR
- ХранениеОстатки по зонам
- СборкаСотрудник сканирует позиции
- ЖурналКаждое движение записано
только браузер→сервер
// что былоБраузерные счётчики теряли часть событий из-за блокировщиков, и реклама обучалась на неполных данных.
// что сделаноСобытия дублируются с сервера: подключён запасной путь через уведомления магазина, повторная отправка при сбоях и защита от двойного учёта одной покупки.
// результатЗаказ попадает в рекламную систему, даже если браузер заблокировал счётчик.
- ПокупкаСобытие из браузера и магазина
- СерверСобирает и дополняет данные
- ДублиОдна покупка учитывается один раз
- РекламаПолучает полные данные
вручную→по расписанию
// что былоТовары и скидки на сайте перестали обновляться. Задания обмена были включены, но расписание в них оказалось пустым, поэтому каждая выгрузка шла вручную.
// что сделаноНашёл причину через журнал обмена, настроил расписание и проверил результат на стороне сайта и 1С.
// результатВыгрузки идут по расписанию: приняты 642 и 1 685 позиций.
- 1СЗадание обмена
- РасписаниеЗапуск в течение дня
- ВыгрузкаТовары, цены и скидки
- СайтПринимает данные, журнал проверен