Обо мне
Беру проект целиком: дизайн, фронтенд, бэкенд, базы данных, оплата, деплой. Вам не нужно собирать команду и сводить разных людей между собой - всё закрываю сам и отвечаю за итог.
Чаще всего ко мне приходят за:
➤ интернет-магазинами и веб-приложениями для бизнеса;
➤ Telegram-ботами - продажи, заявки, автоматизация рутины;
➤ Telegram Mini Apps - полноценный магазин или сервис прямо внутри Telegram, с оплатой и админкой;
доработкой и поддержкой того, что уже есть.
Работаю прозрачно: сначала разбираюсь в задаче и задаю вопросы, потом фиксирую объём, сроки и смету, дальше показываю промежуточные версии - чтобы вы видели прогресс, а не получали кота в мешке в конце. После сдачи остаюсь на связи и поправлю, если что-то всплыло.
Пишу чистый код на вырост, без шаблонных решений там, где нужен индивидуальный продукт. Работаю через Сделку без риска, оплата поэтапно - так спокойнее обоим. В портфолио живые проекты: Telegram Mini App с оплатой, боты под разные задачи, веб-сервисы, сайты разных сложностей.
Если коротко по технологиям:
• Frontend: React, Next.js, Vue/Nuxt, TypeScript
• Backend: Node.js, Nest.js, Python
• Базы данных: PostgreSQL, MongoDB, Redis
• DevOps: Docker, Docker Compose, Nginx, CI/CD (GitHub Actions, GitLab CI), Linux, деплой и настройка VPS, SSL
• Интеграции: REST/GraphQL API, вебхуки, платёжные системы, CRM (amoCRM, Bitrix24, RetailCRM)
• Боты и автоматизация: Telegram Bot API, Telegram Mini Apps, парсеры, скрипты
• Системы управления: WordPress, WooCommerce, Tilda, 1С
• Дизайн: Figma, Adobe Photoshop
Расскажите, что хотите сделать - предложу решение и прикину сроки с ценой под вашу задачу.
Примеры работ
Все 15 работ →Telegram Mini App для белорусского магазина цифровых товаров PlayStation: игры, подписки, донаты. Парсер PS Store, приём платеже
Клиент - белорусский магазин цифровых товаров PlayStation. Пользователи покупают игры и их издания, подписки PS Plus и EA Play, внутриигровую валюту и пополнение кошелька PSN, платят в белорусских рублях, товары выдаются через зарубежные регионы PS Store - Украина, Турция, Индия, Польша.
Цель - перенести продажи в Telegram и получить полноценный e-commerce внутри мессенджера: Mini App на React.js, backend на Nest.js (Node.js, TypeScript) с PostgreSQL и Prisma, отдельный
PropFirmWay - платформа для сравнения проп-трейдинговых фирм: каталог челленджей, рейтинги и отзывы трейдеров, AI-скрейпер, SEO
Агрегатор проп-трейдинговых фирм: трейдер сравнивает челленджи, условия и выплаты и выбирает, где получить финансируемый счёт.
Нужна была не витрина, а платформа: каталог с фильтрами и сравнением, отзывы с проверкой выплат, рейтинги и Trust Score, промокоды и программа лояльности, роли для трейдеров, фирм, партнёров и модерации, автонаполнение каталога и SEO на тысячи страниц.
Стек: Next.js, TypeScript, Tailwind, Nest.js, PostgreSQL, Redis, AI-скрейпер на Puppeteer + Claude API, Docker, Nginx.
Интернет-магазин ПрофиТекМед на 1С-Битрикс: опт для специалистов, обмен с 1С, ЮKassa, СДЭК, переезд без потерь
Дистрибьютор профессиональной косметики для косметологов и клиник: новую версию магазина на купленном шаблоне нужно было доработать и запустить.
Сделал три каталога, как в 1С, опт и «Цена по запросу» по группам с проверкой на сервере, регистрацию специалистов, вход по SMS, ЮKassa, счёт для клиник, СДЭК, обмен с 1С без затирания описаний. Правки шаблона переживают его обновление. Переезд с паузой продаж 48 минут, 717 старых адресов без потерь.
Кабинет покупателя Raschini на WooCommerce: вход по SMS, карта лояльности, обмен с retailCRM и 1С. PHP, WordPress
Raschini, интернет-магазин одежды с розничными магазинами: кабинета не было, заказы оформлялись гостем, карта лояльности жила только в CRM и на кассе.
Сделал кабинет на WooCommerce: заказы, карта лояльности из retailCRM со штрихкодом для кассы, вишлист, профиль. Вход по коду из SMS без пароля и почты. Обмен с retailCRM и 1С: статусы приходят на сайт, сайт не перезаписывает в CRM статус и оплату, 244 юнит-теста.
Битрикс24: 2 воронки продаж и смарт-процесс лаборатории. 2 маршрута, обратная связь, PHP в бизнес-процессах, запреты на этапах
Производитель пигментов и ЛКМ (название не публикуется): две воронки продаж и своя лаборатория. Заявки на новый продукт или образец идут в лабораторию и после согласования с клиентом обратно в продажи. Раньше их переносили руками и теряли.
Этап 1: связать воронки со смарт-процессом «Лаборатория» в Битрикс24, чтобы заявка шла сама. Этап 2: два маршрута в одной воронке, обратная связь клиента с историей кругов, запрет на чужие этапы. Портал боевой: правки по вечерам, коды 1С и автоматизации не трогать.
CRM колл-центра микрофинансовой компании на Битрикс24: воронка, роли, телефония MANGO OFFICE и свой сервис заявок на Node.js
Производитель пигментов и ЛКМ (название не публикуется): две воронки продаж и своя лаборатория. Заявки на новый продукт или образец идут в лабораторию и после согласования с клиентом обратно в продажи. Раньше их переносили руками и теряли.
Этап 1: связать воронки со смарт-процессом «Лаборатория» в Битрикс24, чтобы заявка шла сама. Этап 2: короткий маршрут для типового образца, обратная связь с историей кругов, запрет на чужие этапы. Портал боевой: правки вечером, коды 1С и автоматизации не трогать.
Чат-бот заявок в MAX для производства изделий из акрила: чертежи, статус заказа, чат менеджеров и админ-панель. NestJS + React
Производство изделий из акрила и оргстекла на заказ (Москва). Заявки шли вразнобой: звонки, почта, мессенджеры. Чертежи терялись, контакты переспрашивали.
Нужен был единый вход: чат-бот в MAX собирает заявку с контактами и файлами в одном диалоге и передаёт менеджерам. По материалам, размерам и ценам бот не консультирует: «этот вопрос уточнит менеджер». Для менеджеров - админ-панель: заявки, статусы, тексты бота без разработчика. От заказа до запуска - полторы недели.
Двусторонняя интеграция amoCRM и ABCP для магазина автозапчастей: статусы возвратов в обе стороны. Node.js, TypeScript, Express
Интернет-магазин автозапчастей: продажи в ABCP, возвраты в amoCRM. Менеджер правил статусы руками в двух окнах, а изменения в ABCP сделка не видела: статусы расходились, сделки зависали.
Этап 1: поле в сделке меняет статус позиции в ABCP, соответствия правятся без программиста. Этап 2: статусы из ABCP сами приходят в сделку и двигают её по воронке. У ABCP нет вебхуков, в тарифе amoCRM нет триггера на поле. Работа в бою: без дублей, откатов и потерь событий, изменения за минуты, выкатка без ручных шагов.
AI-чат-бот и визуализация рекламы на LED-экране: RAG на 3 языках, заявки в Telegram, FLUX с проверкой Claude. Python, FastAPI
Поставщику LED-экранов нужны были две функции сайта на Tilda, которые работают без людей.
Чат-бот на трёх языках отвечает по базе знаний и материалам компании, а если ответа нет, собирает контакт и передаёт диалог менеджерам в Telegram. Визуализация: посетитель загружает макет и получает фото, где он стоит на LED-экране в городской сцене. Слабый результат сервис переделывает сам. Модель ИИ меняется настройкой, запросы идут через Cloudflare AI Gateway. От меня - REST API, документация и блоки для Tilda.
Trenergy - SaaS для фитнес-тренеров: Telegram Mini App, бот, панель. Тренировки, КБЖУ, прогресс, чаты, оплата | React, Nest.js
Trenergy - собственный SaaS для фитнес-тренеров с онлайн-клиентами. Всё внутри Telegram: клиент открывает бота и тренируется, ничего не устанавливая. White-label: бот, название, цвета, реквизиты.
Клиент: тренировки с супер-сетами и весами, питание с КБЖУ, замеры, прогресс, чаты, оплата. Тренер: подопечные, конструкторы тренировок и питания, тарифы, промокоды, выплаты. Владелец: тариф с тренера и комиссия с оплат, модерация, новости. Чаты в реальном времени с мостом в Telegram, автотесты, CI/CD.
CommerceAPI - SaaS для интернет-магазинов с динамическим ORM и no-code конструктором каталогов | Next.js, Nest.js, PostgreSQL
Задача - построить мультитенантную SaaS-платформу, на которой бизнес запускает интернет-магазин или каталог без написания кода. Каждый арендатор (tenant) через админ-панель на Next.js сам описывает сущности - товары, услуги, портфолио работ, статьи, заказы, отзывы - а платформа автоматически создаёт под них таблицы в PostgreSQL, REST API и интерфейс администрирования.
Вся платформа на TypeScript: Next.js (React.js) на фронтенде, Nest.js (Node.js) на бэкенде, данные в PostgreSQL и Redis.
Доработка сайта санитарной службы на WordPress: вернул доступ, SMS-подтверждение, маска телефона, 2 сервера с автопереключением
Санитарная служба, Москва и область. Сайт на WordPress достался готовым: своя тема, 16 плагинов, около 480 поддоменов, 24 формы на Contact Form 7. Почти все заявки с рекламы, поэтому любой простой стоит денег.
Задачи: вернуть доступ у части операторов после блокировки РКН; заменить внешнее SMS-подтверждение своим и починить маску, из-за которой код уходил на чужой номер; сделать второй сервер с автопереключением без ручного переноса. Тему и чужие плагины не переписывал, встраивался в готовое.
Визуальный редактор дашбордов мониторинга: npm-пакет на React и TypeScript, drag-and-drop, undo/redo, проверка структуры
Заказчик развивает платформу мониторинга ИТ-инфраструктуры (NDA, без названий). Дашборды из страниц, фреймов и виджетов администраторы собирали правкой текстового конфига: медленно и с ошибками.
Нужен был визуальный редактор в виде npm-пакета на React и TypeScript. Он встраивается в админку как компонент, принимает дашборд, даёт править структуру мышью и возвращает его без потерь: нетронутые поля байт в байт. Внутри ни одного сетевого запроса, вся интеграция через пропсы и колбэки.
Автоматизация сауны «Наутилус»: оборудование по ModBus, видеонаблюдение на WebRTC, панель оператора. NestJS + React, TypeScript
Действующая сауна: печь, насосы, химия, вентиляция, бассейн, свет и десятки датчиков. Управление держалось на старой системе: PHP-админка, Perl-скрипты к ModBus, логика в MySQL, а ~20 камер шли через HLS с задержкой в секунды.
Задача: перевести объект на Node.js, NestJS, React, TypeScript и MariaDB, разделить монолит на управление оборудованием, видеонаблюдение и панель оператора, поднять камеры с задержкой меньше секунды. Всё на живом объекте: без простоя, старая и новая системы работают параллельно.
TMS для грузоперевозчика из США: рейсы и документы, экраны водителя, зарплаты и P&L. NestJS + React, PostgreSQL, TypeScript
Грузоперевозчик из США: свои тягачи, наёмные водители, диспетчер и владелец. Рейсы жили в таблицах, документы водители слали фото в мессенджер, зарплаты и прибыль считали в Excel.
Задача: одна система на весь цикл рейса и деньги. Диспетчер создаёт рейс, водитель с телефона отмечает точки и прикладывает документы, без них точку не закрыть. Рейс идёт до оплаты брокером, владелец считает недельные выплаты и P&L за месяц, выплаченное не пересчитывается. Три роли, работа в бою, позже - сайт компании.