20 лет в вебе. Делаю сайты, сервисы и Android-приложения. Laravel, React, Vue.js, Next.js, Nuxt, React Native.
Раньше — PHP, JS, Битрикс / Битрикс24. С 2009 года.
Работаю в двух областях: Web-разработка и Mobile-разработка. У каждой — свой стек и свои проекты.
Сайты, сервисы, интеграции, интерфейсы
Лендинги, корпоративные сайты, веб-сервисы с админкой. Интеграции с 1С, CRM, телефонией, внешними API.
Android-приложения на React Native
Приложения для Android: от учёта данных до интерактивных интерфейсов. Работа с голосовым вводом, локальным хранением, экспортом.
Сайты, сервисы, платформы, интеграции. Laravel, React, Vue.js, Next.js, Nuxt.
Платформа, где разработчики учатся на практических курсах. 15 направлений, 75 курсов, 900+ уроков.
Практики медитации, дыхания и работы с телом. 10 категорий, более 100 практик. Успокоение, сон, концентрация, осознанность.
Путеводитель по Барселоне и Каталонии: интерактивные карты, провинции, достопримечательности, маршруты, галерея. Собственная админка.
Командная работа с задачами: роли, комментарии, вложения, realtime-уведомления. Веб + Android.
Онлайн-инструмент для генерации аудио из текста. Два движка на выбор, управление ударениями и автоудаление файлов.
Портфолио: проекты, стек, контакты. Всё, что я делаю, — в одном месте.
Android-приложения на React Native. Доступно для скачивания в RuStore.
Приложение для учёта заправок и ТО: расчёт расхода топлива, напоминания по пробегу, статистика.
Доходы и расходы, счета, бюджеты, статистика. Голосовой ввод, графики, экспорт. Всё офлайн.
Локальный менеджер задач для Android. Все данные — только на устройстве, без регистрации и интернета.
Держу весь цикл: от локальной разработки до прода. Деплой, сервер, безопасность, мониторинг — на мне.
Разработка — на локальной 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. Всё автоматически, без ручного вмешательства.
Каждый проект — отдельный процесс pm2. Frontend — Node (Next.js / Nuxt), backend — Laravel. pm2 save и pm2 startup — всё поднимается после перезагрузки VPS само, без ручного запуска.
Nginx — конфиг под каждый проект: принимает запросы на домены и передаёт их нужному приложению. Отдельный блок для PHP-скриптов, редиректы между доменами и без www.
Кэш — на уровне Nginx (статика, ответы) и Next.js (страницы, запросы к API). Что можно закэшировать — кэшируется, что нельзя — идёт напрямую. Postfix — отправка писем с сайтов: формы обратной связи, заявки, уведомления.
Fail2ban — защита от брутфорса SSH и подозрительных IP. Вход по SSH-ключам, пароли отключены. Root по SSH закрыт — прямой вход под root запрещён, только через sudo.
Let's Encrypt — SSL на все домены с автообновлением. Крон — сбор метрик каждую минуту и регулярные задачи. Ежедневные бэкапы баз данных PostgreSQL с хранением истории.
Слежу за нагрузкой: какие процессы занимают память, где расходуется место на диске. Регулярно чищу логи, кэши сборок, старые резервные копии.
Postfix — отправка писем с сайтов: формы обратной связи, заявки, уведомления.
Всё настроено так, чтобы VPS работал стабильно без постоянного вмешательства.
Написал с нуля — свой сервис, без внешних платформ. Каждую минуту собираются данные с сервера и с pm2. Всё на интерактивных графиках, которые обновляются в реальном времени.
С 2009 — Битрикс и Битрикс24. Сейчас работаю на Laravel, React, Vue.js, Next.js, Nuxt, React Native.
Проектная работа и сотрудничество.
Разбираюсь в сути и предлагаю, как сделать. Веду работу от начала до результата.
Вы отвечаете за бизнес-контекст, я — за реализацию. Вопросы решаем вместе, а не через указания.
Не «сдал и пропал» — проект остаётся рабочим и поддерживаемым.
Чтобы вам не искать отдельного человека на инфраструктуру.
Понятный маршрут: от знакомства до завершения. Вы всегда знаете, на каком мы этапе и что дальше.
Обсуждаем, что нужно, зачем и в каком контексте. Я задаю вопросы, вы рассказываете про бизнес. По итогу — понимание, что делаем и стоит ли вообще.
Разбиваю задачу на этапы, оцениваю сложность и сроки. Согласуем объём, порядок и стоимость. Вы видите весь маршрут заранее.
Идём по этапам. Каждый этап — с понятным результатом. По ходу согласуем возникающие вопросы, не копим.
Этап закончен — показываю результат, обсуждаем, принимаем. Дальше — следующий этап или завершение проекта.
Проект сдан, работает, поддерживается. Дальше — по договорённости: поддержка, развитие, новый проект.
Напишите — отвечу в течение нескольких часов.
Проектная работа и сотрудничество.
Пишите, если нужно: