Обо мне

Инженер, который смотрит на код и как разработчик, и как дизайнер

Меня зовут Данил Лисин. Восемь лет я делаю фронтенд для систем авиабронирования — одного из самых нагруженных и требовательных доменов. Пишу на Vue 3 и Nuxt, публикую опенсорс и довожу интерфейсы до состояния, когда их видно в метриках.

20+лет в интерфейсах
8лет на авиадомене
15опенсорс-пакетов
RU·ENмультиязычные проекты
Путь

От графдизайна
к инженерии.

Я пришёл в разработку из графического дизайна, и это до сих пор определяет, как я работаю. Я вижу не только архитектуру и типы, но и то, как решение отзовётся для конечного пользователя — где он споткнётся, что его замедлит, какой интерфейс он назовёт «удобным», не зная почему.

Последние восемь лет я провёл на системах авиабронирования. Это домен, где ошибка стоит дорого: сотни правил тарификации, валидация данных пассажиров, тяжёлые поисковые запросы, которые нужно кешировать и не сломать. Здесь нельзя «залатать и забыть» — нужна архитектура, которая выдержит рост.

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

Принципы

Во что я верю.

Эти правила я не нарушаю — даже под дедлайн. Именно они отличают «работает» от «работает и развивается».

V/01

Архитектура важнее скорости сдачи

Фундамент, который выдержит рост, окупается каждым следующим спринтом.

V/02

Производительность — это требование

Не «оптимизируем потом». Скорость закладывается с первого коммита.

V/03

Код пишется для людей

Типизированный и понятный — чтобы команда развивала проект без меня.

V/04

Честность вместо обещаний

Оценка до старта. Если задача не моя — скажу прямо.

Инструменты

Стек, в котором
я уверен.

Беру проверенное и не тащу лишнего. Меньше зависимостей — меньше рисков.

Ядро

Vue 3Nuxt 3TypeScriptPiniaVite

Рендеринг и данные

SSRSSGISRRESTBFF

Качество

VitestPlaywrightESLintWCAG 2.1CWV

Дизайн

Дизайн-системыFigmaa11yГрафдизайн
Открытый код

Что лежит в npm.

15 пакетов, которые можно поставить, прочитать и использовать. Лучшее резюме — это код.

vue-image-kit

Мощный инструмент для изображений в Vue 3 и Nuxt 3. Один компонент вместо десятка костылей: ленивая загрузка, WebP/AVIF, Blurhash и LQIP, автогенерация srcset, арт-дирекшн, retry. CLI для генерации изображений, CDN‑адаптеры, Vite‑плагин, директива для фонов. SSR, Nuxt, типобезопасность. Без внешних зависимостей, кроме Vue 3.

npm i @macrulez/vue-image-kit
vue-toast-kit

Удобные уведомления для Vue 3 и Nuxt 3. Показывайте статус операций, давайте отменить действие, группируйте сообщения и управляйте их важностью. Полная кастомизация внешнего вида. Легко подключается, мало весит. Всё, что нужно для уведомлений.

npm i vue-toast-kit
vue-i18n-kit

Готовый слой локализации для Vue 3 на основе vue-i18n. Lazy-загрузка локалей, ICU-плюрализация через Intl.PluralRules, метаданные локалей, форматирование дат и валют. Vite-плагин для проверки полноты переводов, CLI для работы с файлами локалей, браузерный редактор локалей. SSR и Nuxt ready.

npm i vue-i18n-kit
vue-network-dashboard

Универсальный плагин мониторинга сети для Vue 3. Перехватывает HTTP (Fetch/XHR), WebSocket и SSE, логирует в едином формате с автоматической санитизацией данных. Включает реактивную статистику, моки запросов, экспорт в HAR, водопадную диаграмму, Diff View и готовый UI-компонент с фильтрацией. Поддерживает Nuxt 3, Sentry и OpenTelemetry.

npm i vue-network-dashboard
rest-pipeline-js

Модульный оркестратор REST-запросов и конвейеров. Включает HTTP-клиент с retry, кэшированием, rate limiting и отменой запросов, а также гибкий PipelineOrchestrator для последовательного или параллельного выполнения шагов с поддержкой пауз, middleware, экспорта/импорта состояния и интеграции с Vue и React.

npm i rest-pipeline-js
vue-state-machine

Лёгкие конечные автоматы для Vue 3. Управляйте состояниями без каскадов v-if. Параллельные процессы, защита переходов, асинхронные действия, очередь событий, сохранение состояния. Встроенный конструктор многошаговых форм. Общий автомат для нескольких компонентов. DevTools‑панель. Полная типизация, SSR. Без внешних зависимостей, кроме Vue 3.

npm i @macrulez/vue-state-machine
vue-storage-kit

Реактивная работа с localStorage, sessionStorage, IndexedDB и cookies для Vue 3. TTL, AES-GCM шифрование, кросс-таб синхронизация, миграции схем (версионирование с up/down функциями) и полноценная поддержка SSR/Nuxt. Единый useStorage API для всех хранилищ. Без внешних зависимостей, кроме Vue 3.

npm i vue-storage-kit
vue-virtual-scroller-kit

Виртуальные списки, таблицы, гриды и деревья для Vue 3. Динамическая высота строк (ResizeObserver), группировка с анимацией, липкие заголовки, фиксированные колонки, ленивая подгрузка детей. Бесконечный скролл (в обе стороны) и поисковый select. Клавиатурная навигация и drag‑to‑reorder (на указателях). SSR‑готов, сохранение позиции скролла. Никаких внешних зависимостей, кроме Vue 3.

npm i vue-virtual-scroller-kit
vue-command-palette

Command Palette для Vue 3. Нечёткий поиск с подсветкой совпадений, группировка команд, вложенные подменю, глобальные клавиатурные сокращения, асинхронный поиск, диалог подтверждения, история последних команд и полная кастомизация через слоты. SSR‑совместимость, локализация, поддержка Nuxt, TypeScript. Никаких внешних зависимостей, кроме Vue 3.

npm i @macrulez/vue-command-palette
vue-form-schema

Схемо-ориентированная библиотека для форм на Vue 3. Описываешь поля как массив объектов — получаешь реактивные значения, валидацию, маскирование и условное отображение полей. Поддерживает Zod, Yup и Valibot для парсинга схем, динамические списки полей, многошаговые wizard-формы и Tailwind-тему. Без обязательных зависимостей, полная типизация.

npm i @macrulez/vue-form-schema
vue-feature-toggles

Система управления фича-флагами для Vue 3 без пересборки проекта. Поддерживает стратегии через API, окружение, localStorage и A/B-тестирование. Включает реактивные директивы для условного рендеринга, композаблы, кэширование, SSR и работу с Nuxt 3. Полная типизация и отсутствие оверхеда для выключенных фич.

npm i vue-feature-toggles
responsive-media

Утилита для создания реактивного состояния из CSS-медиавыражений и размеров элементов. Поддерживает viewport-брейкпоинты (window.matchMedia) и контейнерные запросы (ResizeObserver). Включает адаптеры для Vue 3 и React 18+, работает на сервере (SSR) и полностью без зависимостей.

npm i responsive-media
color-value-tools

Комплексная библиотека для работы с цветами во всех моделях — hex, RGB, HSL, HSV, HWB, Lab, LCH, OKLAB, OKLCH, CMYK — а также CSS-переменными и именованными цветами. Включает WCAG-доступность, цветовые гармонии, перцептуальное смешивание (CIEDE2000), симуляцию цветовой слепоты, генерацию палитр и CLI.

npm i color-value-tools
css-magic-gradient

Библиотека для генерации CSS-градиентов (линейных, радиальных, конических) с поддержкой цветовых гармоний, WCAG-доступности, CSS-переменных, экспорта в Canvas, а также реактивных хуков для Vue и React. Включает готовые пресеты и утилиты для создания доступных градиентов.

npm i css-magic-gradient
os-detect

Лёгкая утилита для определения операционной системы и типа устройства (iOS, macOS, Android, Windows, Linux, ChromeOS, мобильное или десктопное устройство). Работает в браузере, Node.js и SSR. Включает поддержку Windows 11, реактивные хуки для React и композаблы для Vue. Не имеет зависимостей.

npm i os-detect
Поработаем вместе?

Расскажите, над чем работаете.

Отвечу, чем могу быть полезен и сколько это займёт. Первый разбор задачи — бесплатно.