Аудит производительности (Core Web Vitals)
Глубокая проверка LCP, INP, CLS с привязкой к коду и приоритизированным планом исправлений.
Мастер-аудит сайта: 6 измерений за один проход
Orchestrator-аудит по 6 направлениям: UX, accessibility, performance, SEO, brand consistency, security. Quick scan + deep dive + приоритизированный план + композитная оценка + roadmap.
Performance budget по типам страниц
Бюджеты JS/CSS/images для разных типов страниц, целевые Web Vitals, enforcement в CI с конкретными порогами.
Дизайн loading-состояний
Скелетоны, спиннеры, прогресс-бары: что когда применять и как не раздражать.
Оркестрация loading-состояний
Skeleton vs spinner vs progressive: бюджет тайминга, выбор техники, переходы без скачков.
Infinite scroll vs pagination: что выбрать
Decision matrix по контексту контента, deep linking, accessibility, back-button, performance. Без «бесконечный скролл потому что современно».
Stagger reveal списков: оркестровка
Тайминг 60-100ms между элементами, easing, max-batch 12, performance-бюджет и accessibility.
Scroll-triggered анимации без боли
Когда триггерить (% viewport), Intersection Observer pattern, INP impact, что НЕ делать — parallax длинных страниц, locked scroll.
Performance-бюджет для motion
60 FPS на mid-range mobile, INP < 200ms, optimization checklist: transform-only, will-change по уму, GPU layers, composite.
Стратегия prompt caching
Что кешировать, как считать ROI, что invalidates кеш, TTL, cache key design. Anthropic prompt caching specifics.
Ревью производительности
Найти узкие места: N+1, рендеры, тяжёлые операции в hot path, утечки памяти.
Оптимизация SQL-запроса
От EXPLAIN до индексов, переписки запроса и материализованных views.
Профайлинг и hot path
Найти где код реально тратит время — без оптимизации вслепую.
Стратегия кеширования
Где кешировать, на сколько, как инвалидировать — кеш который не лжёт.
Поиск утечек памяти
Heap-snapshot, retained size, типы утечек, как не повторять.
Стратегия индексов: что, когда, какой ценой
Какие колонки индексировать, composite vs single, covering indexes, аудит unused, цена write vs read.
Чтение distributed traces: critical path и fan-out
Как читать trace: critical path (длиннейший span), fan-out (parallel calls), latency budget, паттерны медлительности (N+1, серийные calls).
Анализ JS-бандла и реальные сокращения
Найти топ-кандидатов на вылет из бандла: webpack-bundle-analyzer / source-map-explorer / Lighthouse, dynamic import strategy, бюджет.
Стратегия lazy hydration
Что гидратировать сразу, что лениво, по чему триггерить — для Astro islands, RSC, Vue suspense.
Performance креативы: фреймворк A/B тестирования
Как систематично тестировать рекламные креативы. Гипотезы, изоляция переменных, sample size, что считать победой.
A/B-тестирование landing page
Гипотеза одной переменной, MDE и длительность, secondary metrics, типичные ошибки (peeking, novelty effect).
Demand gen vs lead gen
Разница demand gen и lead gen: хронология, каналы, типы контента, атрибуция, когда переключаться, главные ошибки.
Оптимизация медленного SQL по EXPLAIN ANALYZE
Систематическое чтение плана: где врёт оптимизатор, почему seq scan вместо index, как починить join order.
Диагностика медленных запросов (pg_stat_statements)
С чего начать когда «база тормозит»: top offenders, lock contention, stale stats, parameter sniffing.
Стратегия кеширования сборки
Docker layers, npm/pnpm, Bazel remote cache. Что меняет cache key, что НЕ кешировать (секреты, dev deps), мониторинг hit rate.
Rollout distributed tracing
OpenTelemetry instrumentation, head vs tail sampling, что обязательно span'ить, как читать traces и не убить latency.