Обо мне

Я разработчик с более чем десятью годами опыта, с фокусом на фронтенде, но уверенно работаю по всему стеку: делаю фронтенд-продукты и инструменты вокруг них — приложения на Vue/Nuxt и React/Next, интерфейсы на TypeScript, сервисы на Node.js/GraphQL под ними, небольшие CLI-утилиты, интеграции для редактора и self-hosted системы, которые решают реальные бытовые задачи. Ещё для меня важен быстрый, клавиатурный рабочий процесс.

Чем я занимаюсь

Специализируюсь на Vue и Nuxt с TypeScript, уверенно работаю с React и Next.js. Большая часть работы — переводить существующие проекты на современные рельсы: миграция legacy-интерфейсов на актуальный стек, типизация JavaScript-проектов целиком — не останавливая поставку. Отвечал за фронтенд-архитектуру на масштабе: feature-sliced design, микрофронтенды на Module Federation, backend-for-frontend слои и общие UI-киты с документацией в Storybook.

Работаю и за пределами фронтенда, когда это нужно проекту: собираю и интегрирую бэкенды на Node.js и TypeScript, проектирую GraphQL и REST-API (местами с PHP) и сделал несколько AI-интеграций — от AI-функций для контента до стриминга ответов модели прямо в интерфейс.

Я руководил фронтенд-разработкой продакшен-приложений в медиа, финтехе, телекоме и security: высоконагруженные сайты, real-time совместные редакторы, живые дашборды и интерфейсы со стриминговыми данными — как правило, в англоязычных международных командах. Помимо интерфейса выстраиваю инфраструктуру, которая держит проект в форме: CI/CD-пайплайны, unit и e2e-тесты, quality gates. Мне важен поддерживаемый код, с которым удобно работать другим разработчикам: скучные абстракции там, где это возможно, тесты там, где важна логика, и документация, объясняющая решения, а не пересказывающая код.

Технологии

Open Source и статьи

Ещё я делаю небольшие open-source инструменты, когда какая-то проблема повторяется слишком часто: Telegram-боты для медиа, терминальные помощники, плагины для редактора и эксперименты с self-hosting. Во многом это идёт от привычки оптимизировать сам процесс работы: клавиатурный, почти без мыши сетап на тайлинговом оконном менеджере (i3), горячие клавиши, доведённые до мышечной памяти, и лёгкие инструменты, которые держат систему отзывчивой. В блоге пишу о практической части: что сломалось, что помогло и что я бы сделал иначе в следующий раз. Код можно найти на GitHub.