Web и Mobile
разработка.

20 лет в вебе. Делаю сайты, сервисы и Android-приложения. Laravel, React, Vue.js, Next.js, Nuxt, React Native.

Раньше — PHP, JS, Битрикс / Битрикс24. С 2009 года.

20
лет в вебе
16
лет с Битрикс / Битрикс24
7
проектов на текущем стеке
VPS · Linux
GitHub Actions
сервер и инфраструктура
// что я делаю
  • Web-сервисы и сайты: Laravel, React, Vue.js, Next.js, Nuxt
  • Mobile-приложения: React Native, Expo, TypeScript
  • Интеграции: 1С, CRM, API, телефония
  • Сервер и деплой: VPS, Linux, GitHub Actions

Два направления

Работаю в двух областях: Web-разработка и Mobile-разработка. У каждой — свой стек и свои проекты.

Web-проекты

Сайты, сервисы, платформы, интеграции. Laravel, React, Vue.js, Next.js, Nuxt.

Skills-Dev.ru

Laravel · Next.js · React · TypeScript

Платформа, где разработчики учатся на практических курсах. 15 направлений, 75 курсов, 900+ уроков.

Открыть сайт →Подробнее →

Go Deep

Laravel · React · Next.js

Практики медитации, дыхания и работы с телом. 10 категорий, более 100 практик. Успокоение, сон, концентрация, осознанность.

Открыть сайт →Подробнее →

Catalan.life

Laravel · Vue.js · Nuxt · Leaflet

Путеводитель по Барселоне и Каталонии: интерактивные карты, провинции, достопримечательности, маршруты, галерея. Собственная админка.

Открыть сайт →Подробнее →

TaskFlow (Трекер задач)

Laravel · React · Next.js · React Native

Командная работа с задачами: роли, комментарии, вложения, realtime-уведомления. Веб + Android.

Voice (Синтез речи)

Next.js · React · Python · Silero · Edge TTS

Онлайн-инструмент для генерации аудио из текста. Два движка на выбор, управление ударениями и автоудаление файлов.

Открыть сайт →Подробнее →

NobleWeb

React · Next.js

Портфолио: проекты, стек, контакты. Всё, что я делаю, — в одном месте.

Открыть сайт →Подробнее →

Mobile-проекты

Android-приложения на React Native. Доступно для скачивания в RuStore.

Пробег+ (MileagePlus)

React Native · Android · TypeScript · Expo

Приложение для учёта заправок и ТО: расчёт расхода топлива, напоминания по пробегу, статистика.

RuStore →Подробнее →

PersonalFinance (Личные финансы)

React Native · Android · TypeScript · Expo

Доходы и расходы, счета, бюджеты, статистика. Голосовой ввод, графики, экспорт. Всё офлайн.

RuStore →Подробнее →

TaskFlow (Трекер задач)

React Native · Android · TypeScript · Expo

Локальный менеджер задач для Android. Все данные — только на устройстве, без регистрации и интернета.

RuStore →Подробнее →

Инфраструктура

Держу весь цикл: от локальной разработки до прода. Деплой, сервер, безопасность, мониторинг — на мне.

01

Разработка и деплой

Разработка — на локальной VM: Ubuntu 22.04, VMware. Внутри — все проекты, Git, коммиты, пуш в GitHub. На VPS — та же Ubuntu 22.04 — специально одинаково, чтобы локально и в проде всё работало идентично.

На каждый проект — два репозитория: frontend (React / Next.js / Vue / Nuxt) и backend (Laravel API). Разделены, чтобы фронт и бэк релизились независимо. Исключение — NobleWeb: один репозиторий, бэкенда нет.

Push в master → GitHub Actions → на VPS: git pull, npm ci, npm run build, pm2 restart. Всё автоматически, без ручного вмешательства.

02

Сервер и процессы

Каждый проект — отдельный процесс pm2. Frontend — Node (Next.js / Nuxt), backend — Laravel. pm2 save и pm2 startup — всё поднимается после перезагрузки VPS само, без ручного запуска.

Nginx — конфиг под каждый проект: принимает запросы на домены и передаёт их нужному приложению. Отдельный блок для PHP-скриптов, редиректы между доменами и без www.

Кэш — на уровне Nginx (статика, ответы) и Next.js (страницы, запросы к API). Что можно закэшировать — кэшируется, что нельзя — идёт напрямую. Postfix — отправка писем с сайтов: формы обратной связи, заявки, уведомления.

03

Безопасность и бэкапы

Fail2ban — защита от брутфорса SSH и подозрительных IP. Вход по SSH-ключам, пароли отключены. Root по SSH закрыт — прямой вход под root запрещён, только через sudo.

Let's Encrypt — SSL на все домены с автообновлением. Крон — сбор метрик каждую минуту и регулярные задачи. Ежедневные бэкапы баз данных PostgreSQL с хранением истории.

04

Тюнинг VPS

Слежу за нагрузкой: какие процессы занимают память, где расходуется место на диске. Регулярно чищу логи, кэши сборок, старые резервные копии.

Postfix — отправка писем с сайтов: формы обратной связи, заявки, уведомления.

Всё настроено так, чтобы VPS работал стабильно без постоянного вмешательства.

Real-time

Собственный сервис мониторинга

Написал с нуля — свой сервис, без внешних платформ. Каждую минуту собираются данные с сервера и с pm2. Всё на интерактивных графиках, которые обновляются в реальном времени.

  • По проектам — потребление памяти каждым pm2-процессом
  • По серверу — CPU, память, swap, диск, дисковый I/O, сетевой трафик
  • Гибкие диапазоны — от 15 минут до 24 часов, листание по времени, переключение линий
  • Автообновление — данные появляются каждую минуту
Открыть мониторинг →
Стек инфраструктуры
Ubuntu 22.04VMwareGitGitHub ActionsNginxNginx кэшNext.js кэшpm2PostfixFail2banSSH-ключиRoot SSH отключёнLet's EncryptCronPostgreSQL бэкапы

Опыт: Битрикс и Битрикс24

С 2009 — Битрикс и Битрикс24. Сейчас работаю на Laravel, React, Vue.js, Next.js, Nuxt, React Native.

Архитектор веб-разработки

Кит Финанс

  • Внедрял открытые линии и телефонию в контакт-центр, техподдержку, брокерский отдел
  • Управлял командой из 3 разработчиков (Git-flow, Jira, PHPStorm)
  • Реализовал сложные интеграции с внешними системами
Bitrix24CRM
Управлял разработкой

Сбер Решения

  • Управлял внутренней разработкой на Битрикс24 и подрядчиками
  • Интеграции с 1С и SberCRM
  • Сложная кластеризация системы
Bitrix24CRM
Управлял разработкой

Лига Ставок

  • Управлял разработкой корпоративного портала на Битрикс24
  • Координировал подрядчиков и внутреннюю команду
  • Высоконагруженный портал: тысячи одновременных пользователей
Bitrix24
Разработчик в команде

НЛМК

  • Участие в разработке Битрикс24
  • Крупный проект, командная разработка
Bitrix24Team Foundation Server
Управлял веб-разработкой

Талисман

  • Внедрял функционал в Битрикс24 (коробочная версия)
  • Интернет-магазин учебной литературы с интеграцией каталога из 1С
  • SEO-оптимизация, кастомизация компонентов
  • Модуль обучения для сотрудников
Bitrix24

Как я работаю

Проектная работа и сотрудничество.

Беру направление или задачу — и веду её.

Разбираюсь в сути и предлагаю, как сделать. Веду работу от начала до результата.

Согласовываю по ходу.

Вы отвечаете за бизнес-контекст, я — за реализацию. Вопросы решаем вместе, а не через указания.

Отдаю результат, который работает.

Не «сдал и пропал» — проект остаётся рабочим и поддерживаемым.

Настраиваю сервер и деплой.

Чтобы вам не искать отдельного человека на инфраструктуру.

С чем работаю
  • Малый и средний бизнес, стартапы.
  • Чаще всего — финансы, туризм, образование, авто, рестораны, сфера услуг. Но интересны любые темы, где есть живая задача.
С чем не работаю
  • Битрикс как основной инструмент — только интеграции с проектами на моём стеке.

Этапы работы

Понятный маршрут: от знакомства до завершения. Вы всегда знаете, на каком мы этапе и что дальше.

1. Знакомство и задача.

Обсуждаем, что нужно, зачем и в каком контексте. Я задаю вопросы, вы рассказываете про бизнес. По итогу — понимание, что делаем и стоит ли вообще.

2. Оценка и план.

Разбиваю задачу на этапы, оцениваю сложность и сроки. Согласуем объём, порядок и стоимость. Вы видите весь маршрут заранее.

3. Работа по этапам.

Идём по этапам. Каждый этап — с понятным результатом. По ходу согласуем возникающие вопросы, не копим.

4. Завершение этапа.

Этап закончен — показываю результат, обсуждаем, принимаем. Дальше — следующий этап или завершение проекта.

5. Завершение проекта.

Проект сдан, работает, поддерживается. Дальше — по договорённости: поддержка, развитие, новый проект.

Обсудим сотрудничество?

Напишите — отвечу в течение нескольких часов.

Проектная работа и сотрудничество.

Пишите, если нужно:

  • сделать сервис, интеграцию или приложение;
  • усилить существующий проект;
  • настроить сервер и деплой.
Написать мне
📎Перетащите файл сюда или нажмите для выбораPDF, Word, TXT, ZIP до 10 МБ
Максимальный размер: 10 МБ