1016 lines
62 KiB
HTML
1016 lines
62 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="ru" data-theme="dark" data-radius="medium">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||
<meta
|
||
name="description"
|
||
content="Резюме Николая Мамадаева — продуктовый дизайнер с опытом более 10 лет."
|
||
/>
|
||
<title>Резюме — Николай Мамадаев</title>
|
||
<script>
|
||
(function () {
|
||
var FONT_CSS = {
|
||
merriweather: "../assets/fonts/merriweather.css",
|
||
geologica: "../assets/fonts/geologica.css",
|
||
mono: "../assets/fonts/mono.css",
|
||
};
|
||
try {
|
||
var t = JSON.parse(localStorage.getItem("siteThemeV1") || "{}");
|
||
var d = document.documentElement;
|
||
var m = t.mode;
|
||
if (m !== "light" && m !== "dark" && m !== "system") m = "system";
|
||
var eff =
|
||
m === "system"
|
||
? window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches
|
||
? "dark"
|
||
: "light"
|
||
: m;
|
||
d.dataset.theme = eff;
|
||
var h = typeof t.h === "number" ? t.h : typeof t.hue === "number" ? t.hue : null;
|
||
var s = typeof t.s === "number" ? t.s : typeof t.sat === "number" ? t.sat : null;
|
||
var l = typeof t.l === "number" ? t.l : typeof t.light === "number" ? t.light : null;
|
||
if (h !== null) d.style.setProperty("--theme-h", String(h));
|
||
if (s !== null) d.style.setProperty("--theme-s", String(s));
|
||
if (l !== null) {
|
||
var L = Number(l);
|
||
if (Number.isFinite(L)) d.style.setProperty("--theme-l", String(Math.min(70, Math.max(20, L))));
|
||
}
|
||
var hVal = h !== null ? h : 210;
|
||
var sVal = s !== null ? s : 90;
|
||
var lVal = l !== null ? Math.min(70, Math.max(20, Number(l))) : 40;
|
||
var H = (((hVal % 360) + 360) % 360) / 360;
|
||
var S = Math.min(100, Math.max(0, sVal)) / 100;
|
||
var Lv = Math.min(100, Math.max(0, lVal)) / 100;
|
||
var r, g, b;
|
||
if (S === 0) { r = g = b = Lv; }
|
||
else {
|
||
var q = Lv < 0.5 ? Lv * (1 + S) : Lv + S - Lv * S;
|
||
var p = 2 * Lv - q;
|
||
var hue2rgb = function(p, q, t) {
|
||
if (t < 0) t += 1; if (t > 1) t -= 1;
|
||
if (t < 1/6) return p + (q - p) * 6 * t;
|
||
if (t < 1/2) return q;
|
||
if (t < 2/3) return p + (q - p) * (2/3 - t) * 6;
|
||
return p;
|
||
};
|
||
r = hue2rgb(p, q, H + 1/3);
|
||
g = hue2rgb(p, q, H);
|
||
b = hue2rgb(p, q, H - 1/3);
|
||
}
|
||
var lum = 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
||
d.style.setProperty("--on-accent", lum > 0.58 ? "hsl(220 14% 12%)" : "hsl(0 0% 98%)");
|
||
var rad = t.radius;
|
||
if (rad === "soft" || rad === "medium" || rad === "strong") {
|
||
d.dataset.radius = rad;
|
||
} else {
|
||
d.dataset.radius = "medium";
|
||
}
|
||
var f = t.font;
|
||
if (f === "onest") f = "geologica";
|
||
if (f === "anonymous") f = "mono";
|
||
if (f !== "merriweather" && f !== "mono" && f !== "geologica") f = "merriweather";
|
||
d.dataset.font = f;
|
||
var mb = t.meshBg;
|
||
if (mb === "off") {
|
||
d.dataset.meshBg = "off";
|
||
} else {
|
||
d.dataset.meshBg = "on";
|
||
}
|
||
var href = FONT_CSS[f];
|
||
if (href && !document.querySelector('link[data-theme-font="' + f + '"]')) {
|
||
var link = document.createElement("link");
|
||
link.rel = "stylesheet";
|
||
link.href = href;
|
||
link.setAttribute("data-theme-font", f);
|
||
document.head.appendChild(link);
|
||
}
|
||
} catch (e) {}
|
||
})();
|
||
</script>
|
||
|
||
<link rel="icon" type="image/png" sizes="32x32" href="../assets/favicon/favicon-32x32.png" />
|
||
<link rel="icon" type="image/png" sizes="16x16" href="../assets/favicon/favicon-16x16.png" />
|
||
<link rel="apple-touch-icon" sizes="180x180" href="../assets/favicon/apple-touch-icon.png" />
|
||
<link rel="manifest" href="../assets/favicon/site.webmanifest" />
|
||
<link rel="preload" href="../assets/fonts/merriweather.css" as="style" />
|
||
<link rel="preload" href="../css/main.css" as="style" />
|
||
<link rel="preload" href="../js/skill-connectors.js" as="script" />
|
||
<link rel="modulepreload" href="../js/main.js" />
|
||
<link rel="stylesheet" href="../css/main.css" />
|
||
<script src="../js/skill-connectors.js" defer></script>
|
||
<script type="module" src="../js/main.js"></script>
|
||
|
||
|
||
<style>
|
||
.resume-doc {
|
||
max-width: 52rem;
|
||
margin: 0 auto;
|
||
background: var(--surface);
|
||
border: 1px solid var(--line);
|
||
border-radius: var(--radius-card);
|
||
padding: clamp(1.5rem, 3vw, 2.5rem);
|
||
}
|
||
.resume-header {
|
||
display: flex;
|
||
gap: 1.5rem;
|
||
align-items: flex-start;
|
||
margin-bottom: 1.5rem;
|
||
}
|
||
.resume-photo {
|
||
width: 120px;
|
||
height: 120px;
|
||
border-radius: var(--radius-sm);
|
||
object-fit: cover;
|
||
flex-shrink: 0;
|
||
order: 1;
|
||
margin-left: auto;
|
||
}
|
||
@media (max-width: 32rem) {
|
||
.resume-header {
|
||
flex-direction: column;
|
||
align-items: center;
|
||
text-align: center;
|
||
}
|
||
.resume-photo {
|
||
width: 100px;
|
||
height: 100px;
|
||
}
|
||
}
|
||
.resume-doc h2 {
|
||
margin: 2rem 0 1rem;
|
||
font-size: clamp(0.95rem, 1.35vw, 1.1rem);
|
||
font-weight: 600;
|
||
color: var(--text);
|
||
letter-spacing: 0.04em;
|
||
border-top: 1px solid var(--line);
|
||
padding-top: 1rem;
|
||
}
|
||
.resume-doc h2:first-of-type {
|
||
border-top: none;
|
||
padding-top: 0;
|
||
}
|
||
.resume-doc .section__prose + .section__prose {
|
||
margin-top: 0.75rem;
|
||
}
|
||
.resume-doc .section__prose a {
|
||
color: var(--accent);
|
||
}
|
||
#skills {
|
||
border-top: none;
|
||
padding-top: 0;
|
||
}
|
||
.resume-meta {
|
||
display: grid;
|
||
grid-template-columns: repeat(4, 1fr);
|
||
gap: 0.5rem 1.5rem;
|
||
margin: 0.75rem 0 1.5rem;
|
||
font-size: 0.92rem;
|
||
color: var(--text-muted);
|
||
}
|
||
@media (max-width: 32rem) {
|
||
.resume-meta {
|
||
grid-template-columns: repeat(2, 1fr);
|
||
}
|
||
}
|
||
.resume-meta dt {
|
||
font-size: 0.8rem;
|
||
font-weight: 600;
|
||
color: var(--text);
|
||
letter-spacing: 0.03em;
|
||
margin-bottom: 0.1rem;
|
||
}
|
||
.resume-meta dd {
|
||
margin: 0;
|
||
}
|
||
.resume-meta a {
|
||
color: var(--accent);
|
||
}
|
||
.resume-exp {
|
||
margin: 1.5rem 0;
|
||
padding-bottom: 1.5rem;
|
||
border-bottom: 1px solid var(--line);
|
||
}
|
||
.resume-exp:last-child {
|
||
border-bottom: none;
|
||
padding-bottom: 0;
|
||
}
|
||
.resume-doc > .resume-exp:last-of-type {
|
||
border-bottom: none;
|
||
padding-bottom: 0;
|
||
}
|
||
.resume-exp__header {
|
||
margin-bottom: 0.5rem;
|
||
}
|
||
.resume-exp__company {
|
||
font-weight: 700;
|
||
font-size: 1.1rem;
|
||
color: var(--text);
|
||
letter-spacing: -0.01em;
|
||
}
|
||
.resume-exp__meta-row {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 0.5rem;
|
||
font-size: 0.85rem;
|
||
color: var(--text-muted);
|
||
margin-top: 0.25rem;
|
||
}
|
||
.resume-exp__meta-row a {
|
||
color: var(--accent);
|
||
text-decoration: none;
|
||
border-bottom: 1px solid var(--accent);
|
||
transition: opacity 0.2s;
|
||
}
|
||
.resume-exp__meta-row a:hover {
|
||
opacity: 0.7;
|
||
}
|
||
.resume-exp__sep {
|
||
color: var(--line);
|
||
}
|
||
.resume-exp__period {
|
||
font-size: 0.8rem;
|
||
color: var(--text-muted);
|
||
letter-spacing: 0.02em;
|
||
}
|
||
.resume-exp__desc {
|
||
color: var(--text-muted);
|
||
font-size: 0.92rem;
|
||
margin: 0.5rem 0;
|
||
line-height: 1.55;
|
||
}
|
||
.resume-exp__section {
|
||
margin: 1rem 0;
|
||
}
|
||
.resume-exp__cols {
|
||
display: grid;
|
||
grid-template-columns: 1fr 1fr 10rem;
|
||
gap: 0 1.5rem;
|
||
}
|
||
@media (max-width: 48rem) {
|
||
.resume-exp__cols {
|
||
grid-template-columns: 1fr;
|
||
}
|
||
}
|
||
.resume-exp__section-title {
|
||
font-weight: 600;
|
||
font-size: 0.92rem;
|
||
color: var(--text);
|
||
margin-bottom: 0.5rem;
|
||
}
|
||
.resume-exp__label {
|
||
font-size: 0.8rem;
|
||
font-weight: 600;
|
||
color: var(--text);
|
||
letter-spacing: 0.03em;
|
||
margin: 0.75rem 0 0.35rem;
|
||
}
|
||
.resume-exp ul {
|
||
margin: 0;
|
||
padding-left: 1.25rem;
|
||
color: var(--text-muted);
|
||
font-size: 0.92rem;
|
||
line-height: 1.55;
|
||
}
|
||
.resume-exp li + li {
|
||
margin-top: 0.25rem;
|
||
}
|
||
.resume-skills {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 0;
|
||
margin: 1rem 0;
|
||
}
|
||
.resume-skill {
|
||
display: flex;
|
||
align-items: baseline;
|
||
gap: 0.75rem;
|
||
font-size: 0.92rem;
|
||
line-height: 1.55;
|
||
}
|
||
.resume-skill__title {
|
||
font-weight: 600;
|
||
color: var(--text);
|
||
min-width: 8rem;
|
||
flex-shrink: 0;
|
||
font-size: 0.85rem;
|
||
letter-spacing: 0.02em;
|
||
}
|
||
.resume-skill__desc {
|
||
color: var(--text-muted);
|
||
}
|
||
.resume-about {
|
||
margin: 1.5rem 0;
|
||
font-size: 0.92rem;
|
||
color: var(--text-muted);
|
||
line-height: 1.55;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<a class="skip-link" href="#main">К основному содержимому</a>
|
||
|
||
<header class="header" data-theme-picker>
|
||
<div class="header__inner">
|
||
<a class="logo" href="../index.html" aria-label="На главную">НМ</a>
|
||
<div class="header__cluster">
|
||
<nav class="nav" aria-label="Навигация">
|
||
<a href="../index.html">На главную</a>
|
||
</nav>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
|
||
<div class="fab-stack" aria-label="Быстрые действия">
|
||
<div class="theme-panel-fab-wrap">
|
||
<button type="button" class="fab fab--secondary glass-neutral" data-resume-print-btn aria-label="Печать резюме">
|
||
<span class="fab-secondary__ico fab-secondary__ico--print" aria-hidden="true"></span>
|
||
</button>
|
||
</div>
|
||
<a href="/assets/resume/Mamadaev_Nik__CV__Product_Designer_UX-UI.pdf" download="Mamadaev_Nik__CV__Product_Designer_UX-UI.pdf" class="fab fab--primary fab--label" aria-label="Скачать резюме в PDF">
|
||
<span class="fab-primary__ico fab-primary__ico--pdf" aria-hidden="true"></span>
|
||
<span class="fab__label">Скачать в PDF</span>
|
||
</a>
|
||
</div>
|
||
|
||
<main id="main" class="section section--surface section--tight">
|
||
<div class="section__inner resume-doc">
|
||
<div class="resume-header">
|
||
<img class="resume-photo" src="../assets/index/me_static.webp" alt="Николай Мамадаев" width="120" height="120" />
|
||
<div>
|
||
<p class="hero__eyebrow">Резюме</p>
|
||
<h1 class="case-page__h1">Николай Мамадаев</h1>
|
||
<p class="section__prose"><strong>Senior UX/UI Designer, Product Designer</strong></p>
|
||
</div>
|
||
</div>
|
||
|
||
<dl class="resume-meta">
|
||
<div>
|
||
<dt>Портфолио</dt>
|
||
<dd><a href="https://mamadaevv.site" target="_blank" rel="noopener">mamadaevv.site</a></dd>
|
||
</div>
|
||
<div>
|
||
<dt>Почта</dt>
|
||
<dd><a href="mailto:nik@mamadaevv.site">nik@mamadaevv.site</a></dd>
|
||
</div>
|
||
<div>
|
||
<dt>Вилка по ЗП</dt>
|
||
<dd>250 000 – 310 000 руб.</dd>
|
||
</div>
|
||
<div>
|
||
<dt>Формат работы</dt>
|
||
<dd>удалённо</dd>
|
||
</div>
|
||
</dl>
|
||
|
||
<h2 id="experience">Опыт работы</h2>
|
||
|
||
<div class="resume-exp">
|
||
<div class="resume-exp__header">
|
||
<p class="resume-exp__company">Собственные продукты и исследование AI-инструментов</p>
|
||
<p class="resume-exp__period">Декабрь 2025 — настоящее время</p>
|
||
</div>
|
||
<p class="resume-exp__desc">Период самостоятельной практики: изучение AI-инструментов в продуктовом и дизайн-процессе, разработка собственных продуктов полного цикла — от идеи до работающего релиза.</p>
|
||
|
||
<div class="resume-exp__section">
|
||
<p class="resume-exp__section-title">AI-плагин для Figma (внутренний инструмент)</p>
|
||
<div class="resume-exp__cols">
|
||
<div>
|
||
<p class="resume-exp__label">Обязанности:</p>
|
||
<ul>
|
||
<li>Определил сценарии автоматизации на основе аудита собственного рабочего процесса: замерил, какие операции повторяются чаще всего и съедают больше всего времени</li>
|
||
<li>Спроектировал интерфейс плагина: панель, состояния обработки, обработка ошибок, работа с выделением</li>
|
||
<li>Собрал архитектуру взаимодействия с LLM: промпт-шаблоны, валидация ответа, повторные попытки</li>
|
||
<li>Довёл до рабочей версии самостоятельно, с помощью AI-ассистированной разработки</li>
|
||
<li>Веду плагин как продукт: собираю обратную связь, приоритизирую доработки, выпускаю обновления</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Достижения:</p>
|
||
<ul>
|
||
<li>Автоматизировал 7 рутинных операций дизайн-процесса: нейминг слоёв, генерация контента для макетов, приведение текстов к тону продукта, локализация</li>
|
||
<li>Сократил время на подготовку макета к передаче в разработку примерно на 40%</li>
|
||
<li>Экономлю около 5 часов в неделю на операциях, которые раньше делал руками</li>
|
||
<li>Прошёл полный цикл продукта в одиночку: проблема → решение → реализация → эксплуатация</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Стэк:</p>
|
||
<ul>
|
||
<li>Figma API</li>
|
||
<li>AI / LLM</li>
|
||
<li>Prompt engineering</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="resume-exp__section">
|
||
<p class="resume-exp__section-title">Автоматизации и сервисы на n8n (личные проекты)</p>
|
||
<div class="resume-exp__cols">
|
||
<div>
|
||
<p class="resume-exp__label">Обязанности:</p>
|
||
<ul>
|
||
<li>Проектирование логики сценариев: триггеры, ветвления, обработка ошибок, повторные запуски</li>
|
||
<li>Работа с PostgreSQL как хранилищем и источником данных для процессов</li>
|
||
<li>Интеграция внешних сервисов через REST API</li>
|
||
<li>Проектирование и запуск Telegram-ботов: сценарии диалога, состояния, интерфейс сообщений</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Достижения:</p>
|
||
<ul>
|
||
<li>Собрал 12 рабочих сценариев автоматизации, закрывающих личные и рабочие рутины</li>
|
||
<li>Запустил 3 Telegram-бота с собственной продуктовой логикой и базой данных</li>
|
||
<li>Свёл разрозненные сервисы в единый процесс без единой строки ручной работы</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Стэк:</p>
|
||
<ul>
|
||
<li>n8n</li>
|
||
<li>PostgreSQL</li>
|
||
<li>REST API</li>
|
||
<li>Telegram Bot API</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="resume-exp__section">
|
||
<p class="resume-exp__section-title">Пет-проекты на AI-ассистированной разработке</p>
|
||
<div class="resume-exp__cols">
|
||
<div>
|
||
<p class="resume-exp__label">Обязанности:</p>
|
||
<ul>
|
||
<li>Продуктовое проектирование: формулировка проблемы, сценарии, интерфейс, приоритизация функций</li>
|
||
<li>Реализация фронтенда и логики с помощью AI-ассистентов</li>
|
||
<li>Развёртывание и поддержка работающих сервисов</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Достижения:</p>
|
||
<ul>
|
||
<li>Довёл 5 идей до состояния работающего продукта, а не макета в Figma</li>
|
||
<li>Научился доводить гипотезу до проверяемого прототипа за 2–3 дня вместо нескольких недель ожидания разработки</li>
|
||
<li>Закрыл разрыв между дизайном и реализацией: теперь проверяю идеи в коде, а не только на макетах</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Стэк:</p>
|
||
<ul>
|
||
<li>Необходимо заполнить</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="resume-exp">
|
||
<div class="resume-exp__header">
|
||
<p class="resume-exp__company">Primo RPA</p>
|
||
<p class="resume-exp__meta-row"><span>Февраль 2023 — Ноябрь 2025 (2 года и 10 месяцев)</span><span class="resume-exp__sep">·</span><a href="https://primo-rpa.com/" target="_blank" rel="noopener noreferrer">primo-rpa.com</a></p>
|
||
</div>
|
||
<p class="resume-exp__desc">Российская RPA-платформа корпоративного уровня: линейка из desktop-среды разработки роботов и веб-сервисов управления, аналитики и ML. Работал ведущим дизайнером на всю продуктовую линейку из 6 продуктов.</p>
|
||
|
||
<div class="resume-exp__section">
|
||
<p class="resume-exp__section-title">AI Server platform (Saas)</p>
|
||
<p class="resume-exp__desc">Панель управления для обучения/запуска/тестирования и других операций с нейросетями развёрнутыми внутри контура компании.</p>
|
||
<div class="resume-exp__cols">
|
||
<div>
|
||
<p class="resume-exp__label">Обязанности:</p>
|
||
<ul>
|
||
<li>Проектирование интерфейса управления моделями: обучение, запуск, тестирование, версионирование, мониторинг</li>
|
||
<li>Проработка сценариев работы с Smart OCR — извлечение данных из документов различных типов</li>
|
||
<li>Проектирование разметки документов и валидации результатов распознавания</li>
|
||
<li>Работа с состояниями долгих процессов: обучение модели, прогресс, ошибки, откат</li>
|
||
<li>Подготовка интерактивных прототипов и авторский надзор за реализацией</li>
|
||
<li>Проведение интервью с ML-инженерами и бизнес-пользователями для сверки моделей поведения</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Достижения:</p>
|
||
<ul>
|
||
<li>Упаковал сложную ML-логику в интерфейс, понятный не только ML-инженеру, но и бизнес-аналитику без технического бэкграунда</li>
|
||
<li>Свёл работу с моделями к единому предсказуемому сценарию из 4 шагов вместо 9 разрозненных экранов</li>
|
||
<li>Сократил время настройки новой модели с 40 до 15 минут по результатам замеров на тестировании</li>
|
||
<li>Спроектировал интерфейс разметки документов, который снял 60% обращений в поддержку по этой теме</li>
|
||
<li>Провёл 8 юзабилити-сессий, по итогам переработал ключевой сценарий обучения модели</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Стэк:</p>
|
||
<ul>
|
||
<li>ML / нейросети</li>
|
||
<li>Smart OCR</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="resume-exp__section">
|
||
<p class="resume-exp__section-title">Robot automation studio (Windows)</p>
|
||
<p class="resume-exp__desc">Среда для разработки и отладки роботов для автоматизации бизнес-процессов.</p>
|
||
<div class="resume-exp__cols">
|
||
<div>
|
||
<p class="resume-exp__label">Обязанности:</p>
|
||
<ul>
|
||
<li>Проектирование интерфейса профессиональной desktop-IDE: рабочая область, панели инструментов, дерево процесса, отладчик</li>
|
||
<li>Развитие библиотеки компонентов и визуального языка продукта</li>
|
||
<li>Проработка сценариев отладки: точки останова, пошаговое выполнение, просмотр переменных</li>
|
||
<li>Проектирование работы с большими деревьями активностей и вложенностью</li>
|
||
<li>Работа в паре с разработкой по реализации компонентов, авторский надзор</li>
|
||
<li>Ведение регулярных дизайн-ревью внутри команды</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Достижения:</p>
|
||
<ul>
|
||
<li>Обновил визуальный язык продукта до уровня Windows 10/11 — компоненты стали на поколение современнее</li>
|
||
<li>Переработал 80+ экранов и диалогов, приведя их к единой сетке и типографике</li>
|
||
<li>Собрал библиотеку из 140 компонентов, закрывшую 90% потребностей интерфейса</li>
|
||
<li>Перевёл иконки и часть иллюстраций на векторную графику: корректное отображение при любом масштабировании и DPI</li>
|
||
<li>Сократил время сборки нового экрана командой с 2 дней до 4 часов за счёт готовых компонентов</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Стэк:</p>
|
||
<ul>
|
||
<li>Desktop IDE</li>
|
||
<li>Windows 10/11</li>
|
||
<li>Компонентная библиотека</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="resume-exp__section">
|
||
<p class="resume-exp__section-title">Robot automation studio (Linux)</p>
|
||
<p class="resume-exp__desc">Среда для разработки и отладки роботов для автоматизации бизнес-процессов.</p>
|
||
<div class="resume-exp__cols">
|
||
<div>
|
||
<p class="resume-exp__label">Обязанности:</p>
|
||
<ul>
|
||
<li>Адаптация дизайна Студии под Linux-версию на фреймворке Avalonia</li>
|
||
<li>Проектирование компонентов с учётом технических ограничений фреймворка</li>
|
||
<li>Синхронизация визуального языка между Windows- и Linux-версиями продукта</li>
|
||
<li>Совместная работа с разработкой над тем, что технически реализуемо в Avalonia, а что требует обходных решений</li>
|
||
<li>Подготовка спецификаций поведения компонентов для реализации</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Достижения:</p>
|
||
<ul>
|
||
<li>Собрал расширенную библиотеку из 95 компонентов для Avalonia, которой в проекте не существовало до меня</li>
|
||
<li>Обеспечил единообразие продукта на двух платформах при разных технологических стеках</li>
|
||
<li>Сократил количество визуальных расхождений между версиями с нескольких десятков до единичных случаев</li>
|
||
<li>Дал команде Linux-версии готовый набор решений вместо дизайна каждого экрана с нуля</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Стэк:</p>
|
||
<ul>
|
||
<li>Avalonia</li>
|
||
<li>.NET</li>
|
||
<li>Linux</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="resume-exp__section">
|
||
<p class="resume-exp__section-title">Idea Hub Dashboard (Saas)</p>
|
||
<p class="resume-exp__desc">Обеспечивает сбор и анализ предложений сотрудников, оценка эффективности и мониторинг статуса реализации автоматизаций. Аналитика по ключевым показателям эффективности и верхнеуровневый взгляд на роботизацию.</p>
|
||
<div class="resume-exp__cols">
|
||
<div>
|
||
<p class="resume-exp__label">Обязанности:</p>
|
||
<ul>
|
||
<li>Проектирование дашбордов и аналитических представлений по KPI роботизации</li>
|
||
<li>Проработка жизненного цикла идеи: подача → оценка → приоритизация → реализация → замер эффекта</li>
|
||
<li>Информационная архитектура раздела, работа с плотными таблицами, фильтрами и массовыми операциями</li>
|
||
<li>Проектирование ролевой модели: сотрудник, аналитик, руководитель</li>
|
||
<li>Подбор типов визуализации данных под конкретные управленческие вопросы</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Достижения:</p>
|
||
<ul>
|
||
<li>Свёл верхнеуровневую аналитику и работу с конкретной идеей в один непрерывный сценарий без переключения между разделами</li>
|
||
<li>Спроектировал представление данных так, что руководитель видит эффект от роботизации без ручных выгрузок в Excel</li>
|
||
<li>Сократил путь от подачи идеи до её оценки с 6 шагов до 3</li>
|
||
<li>Спроектировал 12 виджетов аналитики, покрывающих основные вопросы заказчиков о ROI роботизации</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Стэк:</p>
|
||
<ul>
|
||
<li>Аналитика / дашборды</li>
|
||
<li>KPI</li>
|
||
<li>Визуализация данных</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="resume-exp__section">
|
||
<p class="resume-exp__section-title">Orchestrator Automation Management Tool (Saas)</p>
|
||
<p class="resume-exp__desc">Обеспечивает слаженную работу системы и управление сотнями роботов: запуски, мониторинг и менеджмент.</p>
|
||
<div class="resume-exp__cols">
|
||
<div>
|
||
<p class="resume-exp__label">Обязанности:</p>
|
||
<ul>
|
||
<li>Проектирование интерфейса управления парком из сотен роботов: расписания, очереди, приоритеты, мониторинг</li>
|
||
<li>Проработка состояний и обработки ошибок при массовых запусках</li>
|
||
<li>Проектирование системы уведомлений и алертов о сбоях</li>
|
||
<li>Работа со сложными таблицами: сортировка, фильтрация, массовые действия, сохранённые представления</li>
|
||
<li>Прототипирование сложных сценариев для валидации до начала разработки</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Достижения:</p>
|
||
<ul>
|
||
<li>Спроектировал управление сотнями объектов так, что оператор не теряется в масштабе: от общей картины до конкретного робота за 2 клика</li>
|
||
<li>Привёл сервис к единой дизайн-системе вместе с остальными веб-продуктами линейки</li>
|
||
<li>Сократил время реакции оператора на сбой робота с 12 до 4 минут за счёт переработанной системы алертов</li>
|
||
<li>Свёл 5 разных представлений списка роботов к одному настраиваемому</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Стэк:</p>
|
||
<ul>
|
||
<li>Мониторинг</li>
|
||
<li>Расписания / очереди</li>
|
||
<li>Уведомления / алерты</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="resume-exp__section">
|
||
<p class="resume-exp__section-title">QnA portal (WEB)</p>
|
||
<p class="resume-exp__desc">Площадка для постинга вопросов и получения ответов от службы поддержки</p>
|
||
<div class="resume-exp__cols">
|
||
<div>
|
||
<p class="resume-exp__label">Обязанности:</p>
|
||
<ul>
|
||
<li>Проектирование сценариев публикации вопроса, ответа и поиска по накопленной базе знаний</li>
|
||
<li>Дизайн интерфейса портала на базе общей дизайн-системы компании</li>
|
||
<li>Проработка ролевой модели: пользователь, эксперт, служба поддержки, модератор</li>
|
||
<li>Проектирование механики поиска и подсказок похожих вопросов при публикации</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Достижения:</p>
|
||
<ul>
|
||
<li>Запустил портал на готовых компонентах дизайн-системы за 3 недели вместо запланированных 8</li>
|
||
<li>Снизил нагрузку на поддержку примерно на 25% за счёт переиспользования уже данных ответов</li>
|
||
<li>Механика подсказок похожих вопросов сократила количество дублей на 45%</li>
|
||
<li>Обеспечил визуальную преемственность с продуктами линейки — портал не выглядит сторонним сервисом</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Стэк:</p>
|
||
<ul>
|
||
<li>Веб-портал</li>
|
||
<li>Дизайн-система</li>
|
||
<li>База знаний</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="resume-exp__section">
|
||
<p class="resume-exp__section-title">Общее по компании</p>
|
||
<ul>
|
||
<li>Инициировал обновление внешнего вида всей продуктовой линейки — решение о редизайне компания приняла с моим приходом</li>
|
||
<li>Собрал и внедрил единую дизайн-систему для веб-сервисов, соединив фирменный стиль компании с новой структурой интерфейсов</li>
|
||
<li>Дизайн-систему приняли 4 продуктовые команды; она включает 210 компонентов и токены темизации</li>
|
||
<li>Сократил среднее время подготовки макетов по линейке на 35%</li>
|
||
<li>Создавал и поддерживал UI-kit для консистентности и ускорения разработки</li>
|
||
<li>Провёл более 20 пользовательских исследований и юзабилити-сессий за время работы</li>
|
||
<li>Вёл авторский надзор за реализацией, участвовал в дизайн-ревью, продуктовых обсуждениях и планировании релизов</li>
|
||
<li>Был единственным ведущим дизайнером на всю линейку из 6 продуктов и двух платформ</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="resume-exp">
|
||
<div class="resume-exp__header">
|
||
<p class="resume-exp__company">Lunacy (Icons8)</p>
|
||
<p class="resume-exp__meta-row"><span>Июль 2022 — Январь 2023 (7 месяцев)</span><span class="resume-exp__sep">·</span><a href="https://icons8.com/lunacy" target="_blank" rel="noopener noreferrer">icons8.com/lunacy</a></p>
|
||
</div>
|
||
<p class="resume-exp__desc">Графический редактор для работы над дизайном интерфейсов и прочих макетов. Аналог Sketch App и Figma.</p>
|
||
|
||
<div class="resume-exp__section">
|
||
<div class="resume-exp__cols">
|
||
<div>
|
||
<p class="resume-exp__label">Обязанности:</p>
|
||
<ul>
|
||
<li>Проектирование интерфейса графического редактора: инструменты, панели свойств, работа с холстом и слоями</li>
|
||
<li>Оформление решений в виде юзерфлоу и передача разработчикам</li>
|
||
<li>Создание сложных интерактивных прототипов в Protopie для демонстрации поведения инструментов</li>
|
||
<li>Отрисовка недостающих иконок в стилистике продукта</li>
|
||
<li>Внесение предложений по улучшению функциональности редактора</li>
|
||
<li>Участие в обсуждениях продуктовых решений с командой</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Достижения:</p>
|
||
<ul>
|
||
<li>Спроектировал 6 функциональных блоков редактора, включая работу с компонентами и стилями</li>
|
||
<li>Собрал 15+ прототипов в Protopie, что позволило отсечь неудачные решения до разработки</li>
|
||
<li>Часть моих предложений по функциональности вошла в релизы продукта</li>
|
||
<li>Отрисовал более 60 иконок, дополнивших системный набор редактора</li>
|
||
<li>Работал над продуктом для профессиональной аудитории дизайнеров, где требования к деталям интерфейса выше обычных</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Стэк:</p>
|
||
<ul>
|
||
<li>Protopie</li>
|
||
<li>Графический редактор</li>
|
||
<li>Иконки / иллюстрации</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="resume-exp">
|
||
<div class="resume-exp__header">
|
||
<p class="resume-exp__company">MANU Video Game Maker</p>
|
||
<p class="resume-exp__meta-row"><span>Январь 2019 — Декабрь 2021 (3 года)</span><span class="resume-exp__sep">·</span><a href="https://manu.co/" target="_blank" rel="noopener noreferrer">manu.co</a></p>
|
||
</div>
|
||
<p class="resume-exp__desc">Игровой движок для создания видеоигр без написания кода.</p>
|
||
|
||
<div class="resume-exp__section">
|
||
<div class="resume-exp__cols">
|
||
<div>
|
||
<p class="resume-exp__label">Обязанности:</p>
|
||
<ul>
|
||
<li>Продуктовый дизайн движка целиком: от концепции взаимодействия до конечного UI</li>
|
||
<li>Проектирование поведения интерфейса для сложных пользовательских сценариев</li>
|
||
<li>Исследования пользователей: наблюдение, глубинные интервью, опросы</li>
|
||
<li>Составление портретов потенциальных пользователей и карт эмпатии</li>
|
||
<li>Работа с продуктовой аналитикой и метриками, завязанными на пользовательские сценарии</li>
|
||
<li>Вёрстка главной страницы сайта на Tilda, проектирование информационной архитектуры сайта вместе с командой</li>
|
||
<li>Контроль работы веб-графического дизайнера</li>
|
||
<li>Найм в продуктовый отдел: проведение собеседований и отбор специалистов</li>
|
||
<li>Руководство отделом, построение рабочих процессов всей продуктовой команды</li>
|
||
<li>Кураторство работ по созданию пользовательской документации</li>
|
||
<li>Внедрение инструментов автоматизации (Integromat, Zapier) для внутренних задач</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Достижения:</p>
|
||
<ul>
|
||
<li>Провёл масштабный редизайн всей программы: заложил принципиально новую концепцию работы и стилистику</li>
|
||
<li>Спроектировал поведение интерфейса для 100+ сложных пользовательских сценариев</li>
|
||
<li>Спроектировал дизайн-систему продукта с нуля: 120 компонентов</li>
|
||
<li>Получили массу положительных, местами восторженных отзывов пользователей — в продукте стало значительно легче ориентироваться</li>
|
||
<li>Завершаемость онбординга выросла с 34% до 58% после редизайна</li>
|
||
<li>Провёл 25 глубинных интервью и 4 волны опросов, на их основе переработал 3 ключевых сценария</li>
|
||
<li>Нанял 4 специалистов в продуктовый отдел и вырос из дизайнера в тимлида команды</li>
|
||
<li>Выстроил процессы отдела: дизайн-ревью, работа с бэклогом, передача в разработку</li>
|
||
<li>Автоматизировал внутренние рутины команды, освободив время на продуктовые задачи</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Стэк:</p>
|
||
<ul>
|
||
<li>Tilda</li>
|
||
<li>Integromat / Zapier</li>
|
||
<li>Исследования пользователей</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="resume-exp">
|
||
<div class="resume-exp__header">
|
||
<p class="resume-exp__company">Aegees Messenger</p>
|
||
<p class="resume-exp__meta-row"><span>Октябрь 2017 — Декабрь 2018 (1 год и 3 месяца)</span><span class="resume-exp__sep">·</span><a href="https://aegees.com/" target="_blank" rel="noopener noreferrer">aegees.com</a></p>
|
||
</div>
|
||
<p class="resume-exp__desc">Кроссплатформенный мессенджер с защищенным хранилищем и аудиозвонками.</p>
|
||
|
||
<div class="resume-exp__section">
|
||
<div class="resume-exp__cols">
|
||
<div>
|
||
<p class="resume-exp__label">Обязанности:</p>
|
||
<ul>
|
||
<li>Дизайн мессенджера сразу под пять платформ: Android, iOS, macOS, Windows, Linux</li>
|
||
<li>Проработка сценариев защищённого хранилища и аудиозвонков</li>
|
||
<li>Проектирование сценариев регистрации, шифрования и восстановления доступа</li>
|
||
<li>Адаптация единой продуктовой логики под гайдлайны каждой платформы</li>
|
||
<li>Контроль работы зарубежных иллюстраторов по подготовке графических материалов</li>
|
||
<li>Подготовка материалов для магазинов приложений</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Достижения:</p>
|
||
<ul>
|
||
<li>Выстроил единый визуальный язык продукта при соблюдении гайдлайнов пяти платформ одновременно</li>
|
||
<li>Спроектировал более 90 экранов в пяти платформенных вариантах</li>
|
||
<li>Обеспечил стабильный поток графических материалов от внешних подрядчиков без потери стилистики</li>
|
||
<li>Упростил сценарий защищённого хранилища так, чтобы им пользовались люди без технической подготовки</li>
|
||
<li>Работал в чувствительной области приватности и безопасности, где ошибка в интерфейсе стоит доверия пользователя</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Стэк:</p>
|
||
<ul>
|
||
<li>Android</li>
|
||
<li>iOS</li>
|
||
<li>macOS</li>
|
||
<li>Windows</li>
|
||
<li>Linux</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="resume-exp">
|
||
<div class="resume-exp__header">
|
||
<p class="resume-exp__company">Orion Innovation (ex MERA)</p>
|
||
<p class="resume-exp__meta-row"><span>Июль 2016 — Октябрь 2017 (1 год и 4 месяца)</span><span class="resume-exp__sep">·</span><a href="https://www.orioninnovation.com/" target="_blank" rel="noopener noreferrer">orioninnovation.com</a></p>
|
||
</div>
|
||
<p class="resume-exp__desc">Разработка ПО для внешних заказчиков.</p>
|
||
|
||
<div class="resume-exp__section">
|
||
<div class="resume-exp__cols">
|
||
<div>
|
||
<p class="resume-exp__label">Обязанности:</p>
|
||
<ul>
|
||
<li>Работа в дизайн-отделе численностью до 8 человек</li>
|
||
<li>Создание анкет персон и составление карты функциональности продукта в соответствии с потребностями персон</li>
|
||
<li>Вайрфреймы и отрисовка конечного UI интерфейсов</li>
|
||
<li>Проектирование юзкейсов, карт экранов, демонстрации микроанимаций</li>
|
||
<li>Подготовка мудбордов и дизайн-концепций, обсуждение их с клиентами</li>
|
||
<li>Подготовка и проведение презентаций дизайн-концепций</li>
|
||
<li>Линковка мокапов в прототипы, написание сценариев и проведение качественных юзабилити-тестирований</li>
|
||
<li>Внесение правок по результатам тестирований</li>
|
||
<li>Авторский надзор над реализацией дизайна разработчиками</li>
|
||
<li>Участие в дизайн-ревью: разбор работ коллег и защита собственных решений</li>
|
||
<li>Прямая коммуникация с зарубежными клиентами для обсуждения дизайна и получения задач</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Достижения:</p>
|
||
<ul>
|
||
<li>Провёл 10 сессий юзабилити-тестирования от написания сценария до внесения правок</li>
|
||
<li>Освоил новую для себя платформу Smart TV и довёл проект до успешной публикации в магазине приложений</li>
|
||
<li>Вёл коммуникацию с зарубежными заказчиками напрямую, без посредников</li>
|
||
<li>Активно участвовал в улучшении рабочего процесса дизайн-отдела компании</li>
|
||
<li>Прошёл полный цикл продуктового дизайна на 5 клиентских проектах</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Стэк:</p>
|
||
<ul>
|
||
<li>Smart TV</li>
|
||
<li>Юзабилити-тестирование</li>
|
||
<li>Мудборды / дизайн-концепции</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="resume-exp">
|
||
<div class="resume-exp__header">
|
||
<p class="resume-exp__company">SpaceshipApps Studio</p>
|
||
<p class="resume-exp__meta-row"><span>Июнь 2015 — Июнь 2016 (1 год и 1 месяц)</span><span class="resume-exp__sep">·</span><a href="https://spaceshipapps.ru/" target="_blank" rel="noopener noreferrer">spaceshipapps.ru</a></p>
|
||
</div>
|
||
<p class="resume-exp__desc">Студия разработки мобильных приложений и сайтов.</p>
|
||
|
||
<div class="resume-exp__section">
|
||
<div class="resume-exp__cols">
|
||
<div>
|
||
<p class="resume-exp__label">Обязанности:</p>
|
||
<ul>
|
||
<li>Дизайн мобильных и веб-продуктов в потоковом режиме студии</li>
|
||
<li>Работа с разными доменами: соцгейминг, бьюти-услуги, доставка еды, голосовые интерфейсы, легал-сервисы, коллаборативные инструменты</li>
|
||
<li>Адаптивный веб-дизайн и дизайн административных панелей</li>
|
||
<li>Отрисовка иконок и подготовка графики для проектов</li>
|
||
<li>Подготовка макетов к передаче в разработку</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Достижения:</p>
|
||
<ul>
|
||
<li>Выпустил 6 продуктов за год: геолокационная социальная игра с квестами в реальном мире, приложение записи к бьюти-специалистам, сервис доставки еды, голосовая игра со словами, сайт и админка сервиса регистрации авторского права, мобильная «белая доска» для совместной работы</li>
|
||
<li>Научился быстро входить в новую предметную область и держать качество при высоком темпе студии</li>
|
||
<li>Закрыл весь спектр задач: мобайл, веб, админ-панели, графика</li>
|
||
<li>Заложил базу для перехода от исполнительского дизайна к продуктовому</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<p class="resume-exp__label">Стэк:</p>
|
||
<ul>
|
||
<li>Мобайл</li>
|
||
<li>Веб</li>
|
||
<li>Админ-панели</li>
|
||
<li>Графика</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<h2 id="skills">Навыки</h2>
|
||
<div class="resume-skills">
|
||
<div class="resume-skill">
|
||
<p class="resume-skill__title">Проектирование</p>
|
||
<p class="resume-skill__desc">UX/UI, product design, информационная архитектура, адаптивный дизайн, дизайн-системы</p>
|
||
</div>
|
||
<div class="resume-skill">
|
||
<p class="resume-skill__title">Исследования</p>
|
||
<p class="resume-skill__desc">Интервью, опросы, usability testing, JTBD, карты эмпатии, конверсия, retention, NPS</p>
|
||
</div>
|
||
<div class="resume-skill">
|
||
<p class="resume-skill__title">Инструменты</p>
|
||
<p class="resume-skill__desc">Figma, Protopie, Sketch, Adobe Creative Suite, Tilda, AI-инструменты</p>
|
||
</div>
|
||
<div class="resume-skill">
|
||
<p class="resume-skill__title">Управление</p>
|
||
<p class="resume-skill__desc">Построение команды, Agile, Kanban, авторский надзор, работа со стейкхолдерами</p>
|
||
</div>
|
||
</div>
|
||
|
||
<h2 id="about">О себе</h2>
|
||
<p class="section__prose resume-about">
|
||
В дизайне больше 10 лет, последние годы — продуктовый дизайн сложных B2B-продуктов. Работаю на стыке дизайна и продакт-менеджмента: провожу исследования, формулирую гипотезы и фичи, помогаю с приоритизацией и участвую в планировании релизов.
|
||
</p>
|
||
<p class="section__prose resume-about">
|
||
Люблю разбираться в сложном и делать его понятным — поэтому мне комфортно в продуктах вроде IDE, оркестраторов и ML-панелей, где обычному дизайнеру скучно или страшно.
|
||
</p>
|
||
<p class="section__prose resume-about">
|
||
Не жду, пока задачу сделает кто-то другой: пишу себе инструменты сам. Собрал приватный AI-плагин для Figma, автоматизирую процессы на n8n и PostgreSQL, довожу свои идеи до работающих продуктов с помощью AI-ассистированной разработки. Собственные навыки для Алисы набрали 37 000+ и 33 000+ пользователей, файл Slider Set для дизайнеров скачали больше 20 000 раз.
|
||
</p>
|
||
<p class="section__prose resume-about">
|
||
Участвую в жизни сообщества: веду Telegram-канал «Дизайн не пицца», выкладываю полезности в Figma Community, выступал на митапе Яндекса с докладом по аналитике, побеждал на хакатонах — самая приятная победа на хакатоне Яндекс.Денег в Петербурге за приложение оплаты по QR-коду.
|
||
</p>
|
||
<p class="section__prose resume-about">
|
||
Английский — B1. Работаю удалённо, спокойно веду коммуникацию с распределённой командой.
|
||
</p>
|
||
</div>
|
||
</main>
|
||
|
||
<footer class="footer">
|
||
<div class="footer__inner">
|
||
<span class="footer__chunk footer__chunk--date">© 2026<span class="footer__sep" aria-hidden="true"> · </span></span>
|
||
<span class="footer__chunk footer__chunk--main">Дизайн и разработка сайта — Николай Мамадаев</span>
|
||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="../cases/design-system/">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="../cookie-policy/">Политика cookie</a></span>
|
||
</div>
|
||
</footer>
|
||
|
||
<aside class="cookie-notice glass-neutral" hidden data-cookie-notice>
|
||
<p class="cookie-notice__text">
|
||
Сайт использует cookie для комфортной работы. Подробнее — в
|
||
<a href="../cookie-policy/" data-cookie-policy-link>политике cookie</a>.
|
||
</p>
|
||
<button type="button" class="btn btn--secondary btn--flat cookie-notice__accept" data-cookie-accept>
|
||
<span>Принять</span>
|
||
<span class="cookie-notice__accept-icon" aria-hidden="true">
|
||
<img src="../assets/shared/icons/сookie.svg" alt="" width="20" height="20" loading="eager" decoding="async" />
|
||
</span>
|
||
</button>
|
||
</aside>
|
||
|
||
<script>
|
||
(function () {
|
||
var printBtn = document.querySelector('[data-resume-print-btn]');
|
||
if (!printBtn) return;
|
||
|
||
printBtn.addEventListener('click', function () {
|
||
var doc = document.querySelector('.resume-doc');
|
||
if (!doc) return;
|
||
|
||
var styles = [];
|
||
document.querySelectorAll('link[rel="stylesheet"]').forEach(function (l) {
|
||
styles.push('<link rel="stylesheet" href="' + l.href + '">');
|
||
});
|
||
document.querySelectorAll('style').forEach(function (s) {
|
||
styles.push('<style>' + s.textContent + '</style>');
|
||
});
|
||
|
||
var win = window.open('', '_blank');
|
||
if (!win) return;
|
||
win.document.write(
|
||
'<!DOCTYPE html><html><head><meta charset="utf-8">' +
|
||
styles.join('') +
|
||
'<style>@media print{body{margin:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;}}</style>' +
|
||
'</head><body>' + doc.outerHTML + '</body></html>'
|
||
);
|
||
win.document.close();
|
||
win.onload = function () {
|
||
setTimeout(function () { win.print(); }, 500);
|
||
};
|
||
});
|
||
})();
|
||
</script>
|
||
</body>
|
||
</html>
|