Обо мне

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

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

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

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

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

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

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

Принципы

Во что я верю.

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

V/01

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

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

V/02

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

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

V/03

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

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

V/04

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

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

Инструменты

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

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

Ядро

Vue 3Nuxt 3TypeScriptPiniaVite

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

SSRSSGISRRESTBFF

Качество

VitestPlaywrightESLintWCAG 2.1CWV

Дизайн

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

Что лежит в npm.

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

Worker Kit

Типобезопасная работа с Web Worker для Vue 3. Выполняйте тяжёлые вычисления в отдельном потоке без блокировки интерфейса — типы выводятся прямо из кода воркера, без ручных дженериков. Пул для параллельных задач, реактивные вычисления с автоотменой устаревших запусков, отмена на лету, передача больших данных без копирования. SSR-safe.

Error Boundary Kit

Production-ready обработка ошибок для Vue 3. Компонент границы ошибок с fallback-интерфейсом, повторными попытками и автосбросом. Адаптеры отправки в Sentry, Bugsnag, LogRocket и произвольный HTTP, с защитой от лавины одинаковых сообщений. Перехват ошибок во вложенных компонентах и сбоев вне рендера — таймеры, обработчики событий, необработанные промисы. История ошибок для отладки. SSR, полная типизация. Без внешних зависимостей, кроме Vue 3.

Image Kit

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

Toast Kit

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

i18n Kit

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

Network Dashboard

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

Rest Pipeline JS

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

State Machine

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

Storage Kit

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

Virtual Scroller Kit

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

Command Palette

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

Form Schema

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

Feature Toggles

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

Responsive Media

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

Color Value Tools

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

CSS Magic Gradient

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

OS Detect

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

Поработаем вместе?

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

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