Чистый URL для cookie-policy: cookie-policy/ вместо cookie-policy.html

This commit is contained in:
Local Build committed 2026-08-15 20:06:12 +02:00
1 parent c4bfe5c9ee
commit 8ce691eee7
35 files changed
+1157 -5177

No files matched your search

+5 -6
View File
@@ -2,7 +2,7 @@
## Генерация PDF
Скрипт `scripts/generate-resume-pdf.mjs` открывает `resume-5.html` через Puppeteer, применяет шрифт geologica (PT Sans), убирает подложку/обводку блока `.resume-doc` и сохраняет PDF.
Скрипт `scripts/generate-resume-pdf.mjs` открывает `resume/` через Puppeteer, применяет шрифт geologica (PT Sans), убирает подложку/обводку блока `.resume-doc` и сохраняет PDF.
**Важно**: скрипт требует запущенный dev-сервер (`npm run serve` → `localhost:4175`).
@@ -15,23 +15,22 @@ npm run generate:resume-pdf
или вручную:
```bash
node scripts/generate-resume-pdf.mjs http://localhost:4175/resume-5.html geologica
node scripts/generate-resume-pdf.mjs http://localhost:4175/resume/ geologica
```
Параметры:
- `[url]` — URL страницы (по умолчанию `http://localhost:4175/resume-5.html`)
- `[url]` — URL страницы (по умолчанию `http://localhost:4175/resume/`)
- `[font]` — ID шрифта: `geologica`, `merriweather`, `mono` (по умолчанию `geologica`)
### Выходной файл
`public/assets/resume/Mamadaev_Nik__CV__Product_Designer_UX-UI.pdf`
Кнопка «Скачать в PDF» на странице `resume-5.html` — это `<a>` ссылка на этот файл.
Кнопка «Скачать в PDF» на странице `resume/` — это `<a>` ссылка на этот файл.
### Когда перегенерировать
- После правок в `src/pages/resume-5.html` (контент, стили)
- После правок в `src/css/resume-5.css` (инлайн-стили в `<style>`)
- После правок в `src/pages/resume.html` (контент, стили)
- При смене шрифта по умолчанию в скрипте
### Что скрипт делает с страницей
+1 -1
View File
@@ -8,7 +8,7 @@
"serve": "node scripts/serve-dev.mjs",
"convert-videos": "node scripts/convert-videos.mjs",
"optimize-images": "node scripts/optimize-images.mjs",
"generate:resume-pdf": "node scripts/generate-resume-pdf.mjs http://localhost:4175/resume-5.html geologica"
"generate:resume-pdf": "node scripts/generate-resume-pdf.mjs http://localhost:4175/resume/ geologica"
},
"devDependencies": {
"@fontsource-variable/geologica": "^5.2.8",
+2 -2
View File
@@ -377,14 +377,14 @@
<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.html">Политика cookie</a></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.html" data-cookie-policy-link>политике cookie</a>.
<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>
@@ -1031,14 +1031,14 @@
<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.html">Политика cookie</a></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.html" data-cookie-policy-link>политике cookie</a>.
<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>
@@ -1161,14 +1161,14 @@
<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.html">Политика cookie</a></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.html" data-cookie-policy-link>политике cookie</a>.
<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>
@@ -1195,14 +1195,14 @@
<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.html">Политика cookie</a></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.html" data-cookie-policy-link>политике cookie</a>.
<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>
@@ -377,14 +377,14 @@
<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.html">Политика cookie</a></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.html" data-cookie-policy-link>политике cookie</a>.
<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>
+2 -2
View File
@@ -1058,14 +1058,14 @@
<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.html">Политика cookie</a></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.html" data-cookie-policy-link>политике cookie</a>.
<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>
+2 -2
View File
@@ -983,14 +983,14 @@
<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.html">Политика cookie</a></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.html" data-cookie-policy-link>политике cookie</a>.
<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>
+2 -2
View File
@@ -725,14 +725,14 @@
<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.html">Политика cookie</a></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.html" data-cookie-policy-link>политике cookie</a>.
<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>
@@ -1239,14 +1239,14 @@
<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.html">Политика cookie</a></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.html" data-cookie-policy-link>политике cookie</a>.
<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>
+2 -2
View File
@@ -725,14 +725,14 @@
<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.html">Политика cookie</a></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.html" data-cookie-policy-link>политике cookie</a>.
<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>
@@ -759,14 +759,14 @@
<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.html">Политика cookie</a></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.html" data-cookie-policy-link>политике cookie</a>.
<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>
+2 -2
View File
@@ -864,14 +864,14 @@
<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.html">Политика cookie</a></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.html" data-cookie-policy-link>политике cookie</a>.
<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>
+2 -2
View File
@@ -377,14 +377,14 @@
<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.html">Политика cookie</a></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.html" data-cookie-policy-link>политике cookie</a>.
<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>
@@ -725,14 +725,14 @@
<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.html">Политика cookie</a></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.html" data-cookie-policy-link>политике cookie</a>.
<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>
+2 -2
View File
@@ -1153,14 +1153,14 @@
<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.html">Политика cookie</a></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.html" data-cookie-policy-link>политике cookie</a>.
<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>
@@ -887,14 +887,14 @@
<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.html">Политика cookie</a></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.html" data-cookie-policy-link>политике cookie</a>.
<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>
@@ -1,344 +1,344 @@
<!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="Как на сайте-портфолио Николая Мамадаева используются cookie, localStorage и связанные технологии браузера."
/>
<title>Политика cookie — Николай Мамадаев</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>
.cookie-policy-doc {
max-width: 48rem;
margin: 0 auto;
}
.cookie-policy-doc h2 {
margin: 2rem 0 0.75rem;
font-size: clamp(1.15rem, 2vw, 1.35rem);
font-weight: 700;
color: var(--text);
}
.cookie-policy-doc .section__prose + .section__prose {
margin-top: 0.75rem;
}
.cookie-policy-doc table {
width: 100%;
border-collapse: collapse;
margin: 0.75rem 0 1rem;
font-size: 0.92rem;
color: var(--text-muted);
}
.cookie-policy-doc th,
.cookie-policy-doc td {
border: 1px solid var(--border);
padding: 0.5rem 0.65rem;
text-align: left;
vertical-align: top;
}
.cookie-policy-doc th {
color: var(--text);
font-weight: 600;
background: color-mix(in srgb, var(--surface-elevated) 80%, transparent);
}
.cookie-policy-doc code {
font-family: var(--font);
font-size: 0.88em;
color: var(--text);
}
.cookie-policy-doc .section__prose a {
color: var(--accent);
}
</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-theme-panel-btn aria-expanded="false" aria-controls="theme-panel" aria-label="Настройки стиля">
<span class="theme-panel-fab__icon theme-panel-fab__icon--open-hide" aria-hidden="true"></span>
<svg class="theme-panel-fab__icon theme-panel-fab__icon--close" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
<path d="M6 6L18 18M18 6L6 18" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
</svg>
</button>
<div id="theme-panel" class="theme-picker__panel glass-neutral" role="dialog" aria-label="Тема и оформление" hidden data-theme-panel>
<div class="theme-picker__stack">
<section class="theme-picker__section" aria-labelledby="theme-accent-title">
<h3 id="theme-accent-title" class="theme-picker__section-title">Акцентный цвет</h3>
<div class="colorpicker" data-colorpicker>
<div class="colorpicker__plane-box">
<canvas class="colorpicker__plane" width="320" height="180" data-sl-canvas aria-label="Насыщенность и светлость акцента"></canvas>
<div class="colorpicker__knob" data-sl-knob></div>
</div>
<div class="colorpicker__hue-wrap">
<label class="colorpicker__hue-sr" for="theme-hue-slider">Оттенок акцента</label>
<input id="theme-hue-slider" class="colorpicker__hue" type="range" min="0" max="360" value="210" data-hue-slider aria-valuemin="0" aria-valuemax="360" />
</div>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-mode-title">
<h3 id="theme-mode-title" class="theme-picker__section-title">Тема</h3>
<div class="radius-seg theme-mode-seg" role="radiogroup" aria-labelledby="theme-mode-title">
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-theme-mode="system" aria-label="Как в системе"><span class="radius-seg__viz" aria-hidden="true"><span class="theme-mode-seg__ico theme-mode-seg__ico--system"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-theme-mode="light" aria-label="Светлая тема"><span class="radius-seg__viz" aria-hidden="true"><span class="theme-mode-seg__ico theme-mode-seg__ico--light"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-theme-mode="dark" aria-label="Тёмная тема"><span class="radius-seg__viz" aria-hidden="true"><span class="theme-mode-seg__ico theme-mode-seg__ico--dark"></span></span></button>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-radius-title">
<h3 id="theme-radius-title" class="theme-picker__section-title">Скругление углов</h3>
<div class="radius-seg" role="radiogroup" aria-labelledby="theme-radius-title">
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-radius-option="soft" aria-label="Слабое скругление"><span class="radius-seg__viz" aria-hidden="true"><span class="radius-seg__arc radius-seg__arc--soft"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-radius-option="medium" aria-label="Среднее скругление"><span class="radius-seg__viz" aria-hidden="true"><span class="radius-seg__arc radius-seg__arc--medium"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-radius-option="strong" aria-label="Сильное скругление"><span class="radius-seg__viz" aria-hidden="true"><span class="radius-seg__arc radius-seg__arc--strong"></span></span></button>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-typography-title">
<h3 id="theme-typography-title" class="theme-picker__section-title">Типографика</h3>
<div class="radius-seg" role="radiogroup" aria-labelledby="theme-typography-title">
<button type="button" class="radius-seg__btn theme-font-seg__btn" role="radio" aria-checked="false" data-font-option="geologica" aria-label="Sans"><span class="theme-font-seg__label">Sans</span></button>
<button type="button" class="radius-seg__btn theme-font-seg__btn" role="radio" aria-checked="false" data-font-option="merriweather" aria-label="Sans Serif"><span class="theme-font-seg__label">Sans Serif</span></button>
<button type="button" class="radius-seg__btn theme-font-seg__btn" role="radio" aria-checked="false" data-font-option="mono" aria-label="Mono"><span class="theme-font-seg__label">Mono</span></button>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-mesh-bg-title">
<h3 id="theme-mesh-bg-title" class="theme-picker__section-title">Фон страницы</h3>
<div class="radius-seg radius-seg--two" role="radiogroup" aria-labelledby="theme-mesh-bg-title">
<button type="button" class="radius-seg__btn theme-mesh-bg-seg__btn" role="radio" aria-checked="false" data-mesh-bg-option="on" aria-label="Показать фоновый градиент"><span class="theme-mesh-bg-seg__label">Вкл</span></button>
<button type="button" class="radius-seg__btn theme-mesh-bg-seg__btn" role="radio" aria-checked="false" data-mesh-bg-option="off" aria-label="Скрыть фоновый градиент"><span class="theme-mesh-bg-seg__label">Выкл</span></button>
</div>
</section>
</div>
</div>
</div>
<a class="fab fab--primary" href="index.html#contact" aria-label="Связаться">
<span class="fab-primary__ico" aria-hidden="true"></span>
</a>
</div>
<div class="content-edit-fab-stack" aria-label="Правки контента" data-content-edit-ui>
<button
type="button"
class="fab fab--secondary glass-neutral content-edit-fab"
data-content-edit-mode-toggle
hidden
aria-pressed="false"
aria-label="Режим правок контента"
title="Режим правок"
>
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true">
<path
d="M4 20h4l10.5-10.5a2.12 2.12 0 0 0 0-3L16.5 4.5a2.12 2.12 0 0 0-3 0L3 15v5z"
stroke="currentColor"
stroke-width="1.75"
stroke-linejoin="round"
/>
</svg>
<span class="content-edit-fab__badge" hidden aria-hidden="true">0</span>
</button>
</div>
<main id="main" class="section section--tight">
<div class="section__inner cookie-policy-doc">
<p class="hero__eyebrow">Юридическая информация</p>
<h1 class="case-page__h1">Политика использования файлов cookie и локального хранилища</h1>
<p class="section__prose"><strong>Дата последнего обновления:</strong> 9 мая 2026 г.</p>
<p class="section__prose">
Настоящий документ описывает, как на личном сайте-портфолио Николая Мамадаева (далее — «сайт») используются технологии хранения данных в браузере.
</p>
<h2 id="operator">Кто отвечает за сайт</h2>
<p class="section__prose">
Оператором сайта является <strong>Николай Мамадаев</strong>. По вопросам обработки данных используйте контакты в блоке «Контакты» на
<a href="index.html#contact">главной странице</a>
(Telegram, ВКонтакте, Яндекс и почта через копирование адреса кнопкой).
</p>
<h2 id="http-cookie">Используются ли HTTP cookie</h2>
<p class="section__prose">
В текущей версии сайта <strong>сторонние рекламные или аналитические HTTP cookie не подключаются</strong>. В разметке страниц нет счётчиков аналитики (например, Яндекс.Метрики или Google Analytics), которые обычно устанавливают собственные cookie.
</p>
<p class="section__prose">
При размещении сайта на хостинге или за прокси технические записи (например, журналы сервера с IP-адресом и временем запроса) могут обрабатываться хостинг-провайдером по его документам — это не настраивается кодом данного сайта.
</p>
<h2 id="local-storage">Local Storage и аналогичные технологии браузера</h2>
<p class="section__prose">
Для удобства работы сайт сохраняет на вашем устройстве небольшие объёмы данных через <strong>механизм localStorage</strong> в браузере (это не HTTP cookie, но по смыслу близко к ним и также относится к хранению на стороне клиента).
</p>
<p class="section__prose">Используются следующие ключи:</p>
<table>
<thead>
<tr>
<th scope="col">Ключ</th>
<th scope="col">Назначение</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>siteThemeV1</code></td>
<td>
Настройки оформления: тема (светлая/тёмная/системная), оттенок, скругления, шрифт, фон и связанные параметры панели темы.
</td>
</tr>
<tr>
<td><code>siteCookieConsentV1</code></td>
<td>Значение <code>accepted</code>, если вы нажали «Принять» в уведомлении о cookie; после этого баннер скрывается.</td>
</tr>
</tbody>
</table>
<p class="section__prose">
Эти данные <strong>не передаются на сервер сайта</strong> автоматически: они остаются только в вашем браузере.
</p>
<h2 id="retention">Срок хранения</h2>
<p class="section__prose">
Данные в localStorage сохраняются до тех пор, пока вы <strong>не удалите их вручную</strong> (очистка данных сайта / полное удаление данных браузера) или пока браузер не сбросит хранилище по своим правилам.
</p>
<h2 id="consent">Согласие и отказ</h2>
<p class="section__prose">
Нажимая «Принять» в баннере, вы подтверждаете, что ознакомились с настоящей политикой. Если вы не нажимаете «Принять», баннер остаётся доступным; функциональность сайта при этом по возможности сохраняется, но запись о согласии не создаётся.
</p>
<p class="section__prose">
Вы можете в любой момент <strong>очистить localStorage</strong> для этого сайта в настройках браузера — при этом сбросятся сохранённые тема и отметка о принятии уведомления, и баннер может снова отобразиться.
</p>
<h2 id="changes">Изменения</h2>
<p class="section__prose">
Текст политики может обновляться при изменении технологий на сайте. Актуальная версия публикуется на странице «Политика cookie» по адресу <a href="cookie-policy.html">/cookie-policy.html</a> относительно корня сайта.
</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.html">Политика 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.html" 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>
</body>
</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="Как на сайте-портфолио Николая Мамадаева используются cookie, localStorage и связанные технологии браузера."
/>
<title>Политика cookie — Николай Мамадаев</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>
.cookie-policy-doc {
max-width: 48rem;
margin: 0 auto;
}
.cookie-policy-doc h2 {
margin: 2rem 0 0.75rem;
font-size: clamp(1.15rem, 2vw, 1.35rem);
font-weight: 700;
color: var(--text);
}
.cookie-policy-doc .section__prose + .section__prose {
margin-top: 0.75rem;
}
.cookie-policy-doc table {
width: 100%;
border-collapse: collapse;
margin: 0.75rem 0 1rem;
font-size: 0.92rem;
color: var(--text-muted);
}
.cookie-policy-doc th,
.cookie-policy-doc td {
border: 1px solid var(--border);
padding: 0.5rem 0.65rem;
text-align: left;
vertical-align: top;
}
.cookie-policy-doc th {
color: var(--text);
font-weight: 600;
background: color-mix(in srgb, var(--surface-elevated) 80%, transparent);
}
.cookie-policy-doc code {
font-family: var(--font);
font-size: 0.88em;
color: var(--text);
}
.cookie-policy-doc .section__prose a {
color: var(--accent);
}
</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-theme-panel-btn aria-expanded="false" aria-controls="theme-panel" aria-label="Настройки стиля">
<span class="theme-panel-fab__icon theme-panel-fab__icon--open-hide" aria-hidden="true"></span>
<svg class="theme-panel-fab__icon theme-panel-fab__icon--close" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
<path d="M6 6L18 18M18 6L6 18" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
</svg>
</button>
<div id="theme-panel" class="theme-picker__panel glass-neutral" role="dialog" aria-label="Тема и оформление" hidden data-theme-panel>
<div class="theme-picker__stack">
<section class="theme-picker__section" aria-labelledby="theme-accent-title">
<h3 id="theme-accent-title" class="theme-picker__section-title">Акцентный цвет</h3>
<div class="colorpicker" data-colorpicker>
<div class="colorpicker__plane-box">
<canvas class="colorpicker__plane" width="320" height="180" data-sl-canvas aria-label="Насыщенность и светлость акцента"></canvas>
<div class="colorpicker__knob" data-sl-knob></div>
</div>
<div class="colorpicker__hue-wrap">
<label class="colorpicker__hue-sr" for="theme-hue-slider">Оттенок акцента</label>
<input id="theme-hue-slider" class="colorpicker__hue" type="range" min="0" max="360" value="210" data-hue-slider aria-valuemin="0" aria-valuemax="360" />
</div>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-mode-title">
<h3 id="theme-mode-title" class="theme-picker__section-title">Тема</h3>
<div class="radius-seg theme-mode-seg" role="radiogroup" aria-labelledby="theme-mode-title">
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-theme-mode="system" aria-label="Как в системе"><span class="radius-seg__viz" aria-hidden="true"><span class="theme-mode-seg__ico theme-mode-seg__ico--system"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-theme-mode="light" aria-label="Светлая тема"><span class="radius-seg__viz" aria-hidden="true"><span class="theme-mode-seg__ico theme-mode-seg__ico--light"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-theme-mode="dark" aria-label="Тёмная тема"><span class="radius-seg__viz" aria-hidden="true"><span class="theme-mode-seg__ico theme-mode-seg__ico--dark"></span></span></button>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-radius-title">
<h3 id="theme-radius-title" class="theme-picker__section-title">Скругление углов</h3>
<div class="radius-seg" role="radiogroup" aria-labelledby="theme-radius-title">
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-radius-option="soft" aria-label="Слабое скругление"><span class="radius-seg__viz" aria-hidden="true"><span class="radius-seg__arc radius-seg__arc--soft"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-radius-option="medium" aria-label="Среднее скругление"><span class="radius-seg__viz" aria-hidden="true"><span class="radius-seg__arc radius-seg__arc--medium"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-radius-option="strong" aria-label="Сильное скругление"><span class="radius-seg__viz" aria-hidden="true"><span class="radius-seg__arc radius-seg__arc--strong"></span></span></button>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-typography-title">
<h3 id="theme-typography-title" class="theme-picker__section-title">Типографика</h3>
<div class="radius-seg" role="radiogroup" aria-labelledby="theme-typography-title">
<button type="button" class="radius-seg__btn theme-font-seg__btn" role="radio" aria-checked="false" data-font-option="geologica" aria-label="Sans"><span class="theme-font-seg__label">Sans</span></button>
<button type="button" class="radius-seg__btn theme-font-seg__btn" role="radio" aria-checked="false" data-font-option="merriweather" aria-label="Sans Serif"><span class="theme-font-seg__label">Sans Serif</span></button>
<button type="button" class="radius-seg__btn theme-font-seg__btn" role="radio" aria-checked="false" data-font-option="mono" aria-label="Mono"><span class="theme-font-seg__label">Mono</span></button>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-mesh-bg-title">
<h3 id="theme-mesh-bg-title" class="theme-picker__section-title">Фон страницы</h3>
<div class="radius-seg radius-seg--two" role="radiogroup" aria-labelledby="theme-mesh-bg-title">
<button type="button" class="radius-seg__btn theme-mesh-bg-seg__btn" role="radio" aria-checked="false" data-mesh-bg-option="on" aria-label="Показать фоновый градиент"><span class="theme-mesh-bg-seg__label">Вкл</span></button>
<button type="button" class="radius-seg__btn theme-mesh-bg-seg__btn" role="radio" aria-checked="false" data-mesh-bg-option="off" aria-label="Скрыть фоновый градиент"><span class="theme-mesh-bg-seg__label">Выкл</span></button>
</div>
</section>
</div>
</div>
</div>
<a class="fab fab--primary" href="../index.html#contact" aria-label="Связаться">
<span class="fab-primary__ico" aria-hidden="true"></span>
</a>
</div>
<div class="content-edit-fab-stack" aria-label="Правки контента" data-content-edit-ui>
<button
type="button"
class="fab fab--secondary glass-neutral content-edit-fab"
data-content-edit-mode-toggle
hidden
aria-pressed="false"
aria-label="Режим правок контента"
title="Режим правок"
>
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true">
<path
d="M4 20h4l10.5-10.5a2.12 2.12 0 0 0 0-3L16.5 4.5a2.12 2.12 0 0 0-3 0L3 15v5z"
stroke="currentColor"
stroke-width="1.75"
stroke-linejoin="round"
/>
</svg>
<span class="content-edit-fab__badge" hidden aria-hidden="true">0</span>
</button>
</div>
<main id="main" class="section section--tight">
<div class="section__inner cookie-policy-doc">
<p class="hero__eyebrow">Юридическая информация</p>
<h1 class="case-page__h1">Политика использования файлов cookie и локального хранилища</h1>
<p class="section__prose"><strong>Дата последнего обновления:</strong> 9 мая 2026 г.</p>
<p class="section__prose">
Настоящий документ описывает, как на личном сайте-портфолио Николая Мамадаева (далее — «сайт») используются технологии хранения данных в браузере.
</p>
<h2 id="operator">Кто отвечает за сайт</h2>
<p class="section__prose">
Оператором сайта является <strong>Николай Мамадаев</strong>. По вопросам обработки данных используйте контакты в блоке «Контакты» на
<a href="../index.html#contact">главной странице</a>
(Telegram, ВКонтакте, Яндекс и почта через копирование адреса кнопкой).
</p>
<h2 id="http-cookie">Используются ли HTTP cookie</h2>
<p class="section__prose">
В текущей версии сайта <strong>сторонние рекламные или аналитические HTTP cookie не подключаются</strong>. В разметке страниц нет счётчиков аналитики (например, Яндекс.Метрики или Google Analytics), которые обычно устанавливают собственные cookie.
</p>
<p class="section__prose">
При размещении сайта на хостинге или за прокси технические записи (например, журналы сервера с IP-адресом и временем запроса) могут обрабатываться хостинг-провайдером по его документам — это не настраивается кодом данного сайта.
</p>
<h2 id="local-storage">Local Storage и аналогичные технологии браузера</h2>
<p class="section__prose">
Для удобства работы сайт сохраняет на вашем устройстве небольшие объёмы данных через <strong>механизм localStorage</strong> в браузере (это не HTTP cookie, но по смыслу близко к ним и также относится к хранению на стороне клиента).
</p>
<p class="section__prose">Используются следующие ключи:</p>
<table>
<thead>
<tr>
<th scope="col">Ключ</th>
<th scope="col">Назначение</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>siteThemeV1</code></td>
<td>
Настройки оформления: тема (светлая/тёмная/системная), оттенок, скругления, шрифт, фон и связанные параметры панели темы.
</td>
</tr>
<tr>
<td><code>siteCookieConsentV1</code></td>
<td>Значение <code>accepted</code>, если вы нажали «Принять» в уведомлении о cookie; после этого баннер скрывается.</td>
</tr>
</tbody>
</table>
<p class="section__prose">
Эти данные <strong>не передаются на сервер сайта</strong> автоматически: они остаются только в вашем браузере.
</p>
<h2 id="retention">Срок хранения</h2>
<p class="section__prose">
Данные в localStorage сохраняются до тех пор, пока вы <strong>не удалите их вручную</strong> (очистка данных сайта / полное удаление данных браузера) или пока браузер не сбросит хранилище по своим правилам.
</p>
<h2 id="consent">Согласие и отказ</h2>
<p class="section__prose">
Нажимая «Принять» в баннере, вы подтверждаете, что ознакомились с настоящей политикой. Если вы не нажимаете «Принять», баннер остаётся доступным; функциональность сайта при этом по возможности сохраняется, но запись о согласии не создаётся.
</p>
<p class="section__prose">
Вы можете в любой момент <strong>очистить localStorage</strong> для этого сайта в настройках браузера — при этом сбросятся сохранённые тема и отметка о принятии уведомления, и баннер может снова отобразиться.
</p>
<h2 id="changes">Изменения</h2>
<p class="section__prose">
Текст политики может обновляться при изменении технологий на сайте. Актуальная версия публикуется на странице «Политика cookie» по адресу <a href="../cookie-policy/">/cookie-policy.html</a> относительно корня сайта.
</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>
</body>
</html>
+3 -3
View File
@@ -229,7 +229,7 @@
<div class="hero__actions">
<a class="btn btn--primary btn--flat" href="#contact"><span class="btn__icon" aria-hidden="true"></span><span>Написать мне</span></a>
<a class="btn btn--secondary btn--flat" href="#projects"><span class="btn__icon" aria-hidden="true"></span><span>Смотреть портфолио</span></a>
<a class="btn btn--secondary btn--flat btn--resume" href="resume-5.html"><span class="btn__icon" aria-hidden="true"></span><span>Резюме</span></a>
<a class="btn btn--secondary btn--flat btn--resume" href="resume/"><span class="btn__icon" aria-hidden="true"></span><span>Резюме</span></a>
</div>
</div>
<div class="hero__visual" aria-hidden="true">
@@ -1357,14 +1357,14 @@
<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.html">Политика cookie</a></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.html" data-cookie-policy-link>политике cookie</a>.
<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>
-651
View File
@@ -1,651 +0,0 @@
<!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>Резюме 2 — Николай Мамадаев</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: 48rem;
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;
flex-direction: row-reverse;
justify-content: flex-end;
}
.resume-photo {
width: 120px;
height: 120px;
border-radius: var(--radius-sm);
object-fit: cover;
border: 2px solid var(--line);
flex-shrink: 0;
}
@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 0.75rem;
font-size: clamp(1.15rem, 2vw, 1.35rem);
font-weight: 700;
color: var(--text);
}
.resume-doc .section__prose + .section__prose {
margin-top: 0.75rem;
}
.resume-doc .section__prose a {
color: var(--accent);
}
.resume-contacts {
display: flex;
flex-wrap: wrap;
gap: 0.25rem 1.5rem;
margin: 0.75rem 0 1.5rem;
font-size: 0.92rem;
color: var(--text-muted);
}
.resume-contacts span {
white-space: nowrap;
}
.resume-contacts a {
color: var(--accent);
}
.resume-meta {
display: grid;
grid-template-columns: 1fr 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: 1fr;
}
}
.resume-meta dt {
font-weight: 600;
color: var(--text);
}
.resume-meta dd {
margin: 0;
}
.resume-exp {
margin: 1.25rem 0;
}
.resume-exp__header {
margin-bottom: 0.5rem;
}
.resume-exp__company {
font-weight: 700;
color: var(--text);
}
.resume-exp__role {
font-style: italic;
color: var(--text-muted);
font-size: 0.92rem;
}
.resume-exp__period {
font-size: 0.85rem;
color: var(--text-muted);
margin-bottom: 0.35rem;
}
.resume-exp__desc {
color: var(--text-muted);
font-size: 0.92rem;
margin: 0.5rem 0;
}
.resume-exp ul {
margin: 0.35rem 0 0;
padding-left: 1.25rem;
color: var(--text-muted);
font-size: 0.92rem;
}
.resume-exp li + li {
margin-top: 0.25rem;
}
.resume-exp__skills {
margin-top: 0.5rem;
font-size: 0.85rem;
color: var(--text-muted);
}
.resume-exp__skills strong {
color: var(--text);
}
.resume-skills {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
margin: 0.75rem 0;
}
@media (max-width: 32rem) {
.resume-skills {
grid-template-columns: 1fr;
}
}
.resume-skill {
font-size: 0.92rem;
}
.resume-skill__title {
font-weight: 600;
color: var(--text);
margin-bottom: 0.15rem;
}
.resume-skill__desc {
color: var(--text-muted);
}
.resume-communities {
margin: 0.75rem 0;
}
.resume-community {
margin: 0.75rem 0;
font-size: 0.92rem;
}
.resume-community__name {
font-weight: 700;
color: var(--text);
}
.resume-community__period {
font-size: 0.85rem;
color: var(--text-muted);
}
.resume-community__desc {
color: var(--text-muted);
margin-top: 0.25rem;
}
.resume-edu {
margin: 0.5rem 0;
}
.resume-edu__school {
font-weight: 700;
color: var(--text);
}
.resume-edu__period {
font-size: 0.85rem;
color: var(--text-muted);
}
.resume-edu__spec {
font-size: 0.92rem;
color: var(--text-muted);
}
.resume-additional h3 {
margin: 1rem 0 0.35rem;
font-size: 1rem;
font-weight: 600;
color: var(--text);
}
.resume-additional ul {
margin: 0.25rem 0;
padding-left: 1.25rem;
color: var(--text-muted);
font-size: 0.92rem;
}
.resume-additional li + li {
margin-top: 0.25rem;
}
.resume-about {
margin: 1rem 0;
font-size: 0.92rem;
color: var(--text-muted);
}
</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-theme-panel-btn aria-expanded="false" aria-controls="theme-panel" aria-label="Настройки стиля">
<span class="theme-panel-fab__icon theme-panel-fab__icon--open-hide" aria-hidden="true"></span>
<svg class="theme-panel-fab__icon theme-panel-fab__icon--close" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
<path d="M6 6L18 18M18 6L6 18" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
</svg>
</button>
<div id="theme-panel" class="theme-picker__panel glass-neutral" role="dialog" aria-label="Тема и оформление" hidden data-theme-panel>
<div class="theme-picker__stack">
<section class="theme-picker__section" aria-labelledby="theme-accent-title">
<h3 id="theme-accent-title" class="theme-picker__section-title">Акцентный цвет</h3>
<div class="colorpicker" data-colorpicker>
<div class="colorpicker__plane-box">
<canvas class="colorpicker__plane" width="320" height="180" data-sl-canvas aria-label="Насыщенность и светлость акцента"></canvas>
<div class="colorpicker__knob" data-sl-knob></div>
</div>
<div class="colorpicker__hue-wrap">
<label class="colorpicker__hue-sr" for="theme-hue-slider">Оттенок акцента</label>
<input id="theme-hue-slider" class="colorpicker__hue" type="range" min="0" max="360" value="210" data-hue-slider aria-valuemin="0" aria-valuemax="360" />
</div>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-mode-title">
<h3 id="theme-mode-title" class="theme-picker__section-title">Тема</h3>
<div class="radius-seg theme-mode-seg" role="radiogroup" aria-labelledby="theme-mode-title">
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-theme-mode="system" aria-label="Как в системе"><span class="radius-seg__viz" aria-hidden="true"><span class="theme-mode-seg__ico theme-mode-seg__ico--system"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-theme-mode="light" aria-label="Светлая тема"><span class="radius-seg__viz" aria-hidden="true"><span class="theme-mode-seg__ico theme-mode-seg__ico--light"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-theme-mode="dark" aria-label="Тёмная тема"><span class="radius-seg__viz" aria-hidden="true"><span class="theme-mode-seg__ico theme-mode-seg__ico--dark"></span></span></button>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-radius-title">
<h3 id="theme-radius-title" class="theme-picker__section-title">Скругление углов</h3>
<div class="radius-seg" role="radiogroup" aria-labelledby="theme-radius-title">
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-radius-option="soft" aria-label="Слабое скругление"><span class="radius-seg__viz" aria-hidden="true"><span class="radius-seg__arc radius-seg__arc--soft"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-radius-option="medium" aria-label="Среднее скругление"><span class="radius-seg__viz" aria-hidden="true"><span class="radius-seg__arc radius-seg__arc--medium"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-radius-option="strong" aria-label="Сильное скругление"><span class="radius-seg__viz" aria-hidden="true"><span class="radius-seg__arc radius-seg__arc--strong"></span></span></button>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-typography-title">
<h3 id="theme-typography-title" class="theme-picker__section-title">Типографика</h3>
<div class="radius-seg" role="radiogroup" aria-labelledby="theme-typography-title">
<button type="button" class="radius-seg__btn theme-font-seg__btn" role="radio" aria-checked="false" data-font-option="geologica" aria-label="Sans"><span class="theme-font-seg__label">Sans</span></button>
<button type="button" class="radius-seg__btn theme-font-seg__btn" role="radio" aria-checked="false" data-font-option="merriweather" aria-label="Sans Serif"><span class="theme-font-seg__label">Sans Serif</span></button>
<button type="button" class="radius-seg__btn theme-font-seg__btn" role="radio" aria-checked="false" data-font-option="mono" aria-label="Mono"><span class="theme-font-seg__label">Mono</span></button>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-mesh-bg-title">
<h3 id="theme-mesh-bg-title" class="theme-picker__section-title">Фон страницы</h3>
<div class="radius-seg radius-seg--two" role="radiogroup" aria-labelledby="theme-mesh-bg-title">
<button type="button" class="radius-seg__btn theme-mesh-bg-seg__btn" role="radio" aria-checked="false" data-mesh-bg-option="on" aria-label="Показать фоновый градиент"><span class="theme-mesh-bg-seg__label">Вкл</span></button>
<button type="button" class="radius-seg__btn theme-mesh-bg-seg__btn" role="radio" aria-checked="false" data-mesh-bg-option="off" aria-label="Скрыть фоновый градиент"><span class="theme-mesh-bg-seg__label">Выкл</span></button>
</div>
</section>
</div>
</div>
</div>
<a class="fab fab--primary" href="index.html#contact" aria-label="Связаться">
<span class="fab-primary__ico" aria-hidden="true"></span>
</a>
</div>
<div class="content-edit-fab-stack" aria-label="Правки контента" data-content-edit-ui>
<button
type="button"
class="fab fab--secondary glass-neutral content-edit-fab"
data-content-edit-mode-toggle
hidden
aria-pressed="false"
aria-label="Режим правок контента"
title="Режим правок"
>
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true">
<path
d="M4 20h4l10.5-10.5a2.12 2.12 0 0 0 0-3L16.5 4.5a2.12 2.12 0 0 0-3 0L3 15v5z"
stroke="currentColor"
stroke-width="1.75"
stroke-linejoin="round"
/>
</svg>
<span class="content-edit-fab__badge" hidden aria-hidden="true">0</span>
</button>
</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-transparentBG-1.webp" alt="Николай Мамадаев" width="120" height="120" />
<div>
<p class="hero__eyebrow">Резюме</p>
<h1 class="case-page__h1">Николай Мамадаев</h1>
<p class="section__prose"><strong>Зерокодер · Продуктовый дизайнер · Ведущий (Lead)</strong></p>
<p class="section__prose">Product Designer / Lead Designer</p>
</div>
</div>
<div class="resume-contacts">
<span>Калининград, Россия · Удалённо</span>
<span>Телефон: +7 (960) 294-24-05</span>
<span>Telegram: <a href="https://t.me/mamadaevv" target="_blank" rel="noopener">@mamadaevv</a></span>
<span>Email: <a href="mailto:nik@mamadaevv.site">nik@mamadaevv.site</a></span>
<span>Сайт: <a href="https://mamadaevv.site" target="_blank" rel="noopener">mamadaevv.site</a></span>
<span>Хабр Карьера: <a href="https://career.habr.com/mamadaevv" target="_blank" rel="noopener">career.habr.com/mamadaevv</a></span>
</div>
<dl class="resume-meta">
<div>
<dt>Стаж</dt>
<dd>10 лет</dd>
</div>
<div>
<dt>Возраст</dt>
<dd>36 лет</dd>
</div>
<div>
<dt>Готовность к работе</dt>
<dd>готов к удалённой работе</dd>
</div>
<div>
<dt>Зарплатные ожидания</dt>
<dd>от 270 000 ₽</dd>
</div>
</dl>
<h2 id="profile">О себе</h2>
<p class="section__prose resume-about">
В дизайне я более 10 лет, последние годы занимаюсь продуктовым дизайном. Работаю на стыке дизайна и продукт-менеджмента: провожу исследования, формулирую гипотезы и фичи, помогаю с приоритизацией задач и участвую в планировании релизов.
</p>
<p class="section__prose resume-about">
Для работы с дизайном интерфейсов использую Figma: в ней собираю прототипы, экраны и дизайн-системы, а затем передаю макеты в разработку. Собрал приватный плагин на базе ИИ для решения части рутинных задач.
</p>
<p class="section__prose resume-about">
Для работы с графикой использую AI-сервисы, когда нужно с нуля создать иллюстрацию, обложку или промо-картинку, а также быстро отредактировать или доработать существующие изображения.
</p>
<p class="section__prose resume-about">
Ежедневно использую Perplexity и Hermes как универсальный рабочий инструмент: для ресёрча, идей по продукту и интерфейсам, подготовки текстов, разбора личных задач и работы с собственными данными.
</p>
<h2 id="experience">Опыт работы</h2>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">Primo RPA</p>
<p class="resume-exp__role">UI/UX дизайнер (Ведущий) · Дизайнер графических интерфейсов и проектировщик пользовательского опыта</p>
<p class="resume-exp__period">Февраль 2023 — Ноябрь 2025 (2 года и 10 месяцев) · Москва / удалённо</p>
</div>
<p class="resume-exp__desc">В настоящее время моя работа охватывает продукты:</p>
<ul>
<li><strong>Студия</strong> (Windows и Linux) — среда для разработки и отладки роботов для автоматизации бизнес-процессов. Сфера RPA.</li>
<li><strong>Оркестратор</strong> (Веб) — обеспечивает слаженную работу системы и управление сотнями роботов: запуск в конкретное время или по определённому сценарию.</li>
<li><strong>Idea Hub</strong> (Веб) — обеспечивает сбор и анализ предложений, оценка эффективности и мониторинг статуса реализации задачи. Аналитика по ключевым показателям эффективности и верхнеуровневый взгляд на роботизацию.</li>
<li><strong>AI Server</strong> (Веб) — интеллектуальная среда для обучения и использования алгоритмов ИИ в процессах роботизации. Готовый набор моделей для извлечения информации из документов различного типа (Smart OCR).</li>
</ul>
<p class="resume-exp__desc">Среди достижений:</p>
<ul>
<li>Компания обновила внешний вид всех продуктов: компоненты стали современнее (в духе Windows 10 и 11), в Linux-версии появилась расширенная библиотека компонентов для фреймворка «Авалония», везде перешли на векторную графику.</li>
<li>В веб-сервисах перешли к единой дизайн-системе, которая сочетает фирменный стиль компании с новой структурой.</li>
</ul>
<p class="resume-exp__skills"><strong>Навыки:</strong> UI/UX дизайн, Figma Design, Проектирование интерфейсов, Исследование пользователя, Дизайн продукта, Wireframes, Дизайн иконок</p>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">Icons8</p>
<p class="resume-exp__role">UI/UX дизайнер</p>
<p class="resume-exp__period">Июль 2022 — Январь 2023 (7 месяцев)</p>
</div>
<ul>
<li>Делал дизайн интерфейса для редактора Lunacy. Оформлял в виде юзерфлоу и передавал разработчикам.</li>
<li>Делал сложные прототипы в Protopie.</li>
<li>Отрисовывал недостающие иконки.</li>
<li>Вносил предложения по улучшению функционала программы.</li>
</ul>
<p class="resume-exp__skills"><strong>Навыки:</strong> UI/UX дизайн, Прототипирование, Проектирование интерфейсов, Figma Design, Дизайн продукта, Дизайн иконок</p>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">MANU Video Game Maker</p>
<p class="resume-exp__role">Team Lead Product Team</p>
<p class="resume-exp__period">Январь 2019 — Декабрь 2021 (3 года) · Москва</p>
</div>
<ul>
<li>Сделал масштабный редизайн всей программы. Создал интерфейс с абсолютно новой концепцией работы и стилистикой. Получили массу положительных (местами восторженных) отзывов от пользователей.</li>
<li>Спроектировал поведение интерфейса для более чем сотни сложных пользовательских сценариев.</li>
<li>Спроектировал дизайн-систему.</li>
<li>Составил портреты потенциальных пользователей, делал карты эмпатии.</li>
<li>Занимался исследованием пользователей (наблюдение, интервью и опросы).</li>
<li>Работал с аналитикой и сбором продуктовых метрик.</li>
<li>Прособеседовал и набрал в продуктовый отдел новых специалистов. Стал тимлидом отдела.</li>
<li>Сверстал главную страницу сайта на Tilda. Проектировал информационную архитектуру сайта вместе с командой.</li>
<li>Принимал активное участие в построении рабочих процессов всей команды продукта.</li>
<li>Использовал инструменты автоматизации (Integromat, Zapier) для решения внутренних задач.</li>
<li>Курировал работы по созданию пользовательской документации.</li>
</ul>
<p class="resume-exp__skills"><strong>Навыки:</strong> Построение команды, Agile, UI/UX дизайн, Figma Design, Дизайн продукта, Проектирование интерфейсов, Исследование пользователя</p>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">Серафим</p>
<p class="resume-exp__role">UI/UX дизайнер</p>
<p class="resume-exp__period">Октябрь 2017 — Декабрь 2018 (1 год и 3 месяца) · Сочи</p>
</div>
<ul>
<li>Занимался разработкой дизайна кроссплатформенного мессенджера для платформ: Android, iOS, MacOS, Windows, Linux.</li>
<li>Контролировал процесс работы с зарубежными иллюстраторами по подготовке графических материалов.</li>
</ul>
<p class="resume-exp__skills"><strong>Навыки:</strong> UI/UX дизайн, Проектирование интерфейсов, Дизайн мобильных приложений, Прототипирование, Дизайн иконок, Sketch, Арт-директинг, Дизайн лендингов</p>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">Orion Innovation (ex MERA)</p>
<p class="resume-exp__role">UI/UX дизайнер</p>
<p class="resume-exp__period">Июль 2016 — Октябрь 2017 (1 год и 4 месяца) · Нижний Новгород</p>
</div>
<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>
<p class="resume-exp__skills"><strong>Навыки:</strong> UI/UX дизайн, Веб-дизайн, Проектирование интерфейсов, Дизайн мобильных приложений, Sketch, Адаптивный дизайн, Дизайн иконок</p>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">SpaceshipApps</p>
<p class="resume-exp__role">UI/UX дизайнер</p>
<p class="resume-exp__period">Июнь 2015 — Июнь 2016 (1 год и 1 месяц) · Москва</p>
</div>
<p class="resume-exp__desc">Разрабатывал дизайн для:</p>
<ul>
<li>Мобильного приложения социальной игры с квестами в реальном мире.</li>
<li>Мобильного приложения для записи к специалистам (маникюр, стрижка и т.п.).</li>
<li>Мобильного приложения для заказа еды.</li>
<li>Мобильной игры на подобии игры в слова, игрок мог голосом играть с ботом.</li>
<li>Сайт и админка для сервиса регистрации авторского права.</li>
<li>Мобильная «белая доска» для коллаборативной работы.</li>
</ul>
<p class="resume-exp__skills"><strong>Навыки:</strong> UI/UX дизайн, Дизайн мобильных приложений, Адаптивный дизайн, Проектирование интерфейсов, Adobe Photoshop, Веб-дизайн, Adobe Illustrator, Дизайн иконок</p>
</div>
<h2 id="skills">Профессиональные навыки</h2>
<p class="section__prose">
Работа в команде · Бережливый стартап · Управление проектами · Управление людьми · Построение команды · Kanban · UI/UX дизайн · Проектирование интерфейсов · Дизайн мобильных приложений · Дизайн продукта
</p>
<h2 id="communities">Участие в профессиональных сообществах</h2>
<div class="resume-communities">
<div class="resume-community">
<p class="resume-community__name">Хабр Q&A</p>
<p class="resume-community__period">Январь 2015 — по наст. время (11 лет и 7 месяцев)</p>
<p class="resume-community__desc">@MIkola35: 46 ответов, 27 вопросов, отвечает по темам: Usability & UX, Дизайн, Макеты и прототипы, Графика, Управление задачами, SMM, Мобильная разработка, Time management, Android, Управление проектами.</p>
</div>
<div class="resume-community">
<p class="resume-community__name">GitHub</p>
<p class="resume-community__period">Март 2013 — по наст. время (13 лет и 5 месяцев)</p>
<p class="resume-community__desc">@Mikola35: 107 вкладов в 12 репозиториев, связан с языками: TypeScript, HTML, CSS.</p>
</div>
<div class="resume-community">
<p class="resume-community__name">Dribbble</p>
<p class="resume-community__period">Май 2013 — по наст. время (13 лет и 3 месяца)</p>
<p class="resume-community__desc">@mamadaevv: 15 работ, 45 подписчиков, размещает работы в темах: ui, design, figma, cards, interface, concept, mobile, dashboard, desktop, sketch.</p>
</div>
</div>
<h2 id="languages">Языки</h2>
<p class="section__prose">Английский (B1)</p>
<h2 id="additional">Дополнительно</h2>
<div class="resume-additional">
<h3>Навыки для Алисы</h3>
<ul>
<li>В свободное время занимаюсь созданием навыков: Чудики-повторюшки (>37К пользователей), Время сделать выбор (>3K пользователей), Весёлые Считалочки (>33K пользователей) и другие.</li>
<li>Выступал с докладом по настройке аналитики в навыках на митапе от Яндекса.</li>
</ul>
<h3>Хакатоны</h3>
<ul>
<li>Хакатон от Яндекс.Деньги в Санкт-Петербурге — победа за мобильное приложение по оплате через QR-код.</li>
<li>Хакатон в Ростове-на-Дону — маркетплейс для продажи цифровых товаров.</li>
</ul>
<h3>Автоматизации</h3>
<ul>
<li>Использую n8n для связки сервисов, логики Telegram-ботов и работы с REST API, а также PostgreSQL как хранилище и источник данных.</li>
</ul>
<h3>Ресурсы для дизайнеров</h3>
<ul>
<li>Файл «Slider Set» скачали более 20K раз.</li>
<li>Профиль в <a href="https://www.figma.com/community/user/..." target="_blank" rel="noopener">Figma Community</a>.</li>
<li>Канал в Telegram «Дизайн не пицца».</li>
</ul>
</div>
</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.html">Политика 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.html" 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>
</body>
</html>
-721
View File
@@ -1,721 +0,0 @@
<!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>Резюме 3 — Николай Мамадаев</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: 48rem;
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;
flex-direction: row-reverse;
justify-content: flex-end;
}
.resume-photo {
width: 120px;
height: 120px;
border-radius: var(--radius-sm);
object-fit: cover;
border: 2px solid var(--line);
flex-shrink: 0;
}
@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 0.75rem;
font-size: clamp(1.15rem, 2vw, 1.35rem);
font-weight: 700;
color: var(--text);
}
.resume-doc .section__prose + .section__prose {
margin-top: 0.75rem;
}
.resume-doc .section__prose a {
color: var(--accent);
}
.resume-contacts {
display: flex;
flex-wrap: wrap;
gap: 0.25rem 1.5rem;
margin: 0.75rem 0 1.5rem;
font-size: 0.92rem;
color: var(--text-muted);
}
.resume-contacts span {
white-space: nowrap;
}
.resume-contacts a {
color: var(--accent);
}
.resume-meta {
display: grid;
grid-template-columns: 1fr 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: 1fr;
}
}
.resume-meta dt {
font-weight: 600;
color: var(--text);
}
.resume-meta dd {
margin: 0;
}
.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-exp__header {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: baseline;
gap: 0.5rem;
margin-bottom: 0.75rem;
}
.resume-exp__company {
font-weight: 700;
font-size: 1.1rem;
color: var(--text);
}
.resume-exp__period {
font-size: 0.85rem;
color: var(--text-muted);
}
.resume-exp__role {
font-style: italic;
color: var(--text-muted);
font-size: 0.92rem;
margin-bottom: 0.75rem;
}
.resume-exp__section {
margin: 0.75rem 0;
}
.resume-exp__section-title {
font-weight: 600;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--accent);
margin-bottom: 0.35rem;
}
.resume-exp ul {
margin: 0;
padding-left: 1.25rem;
color: var(--text-muted);
font-size: 0.92rem;
}
.resume-exp li + li {
margin-top: 0.25rem;
}
.resume-exp__effect {
background: color-mix(in srgb, var(--accent) 8%, var(--surface));
border: 1px solid color-mix(in srgb, var(--accent) 20%, var(--line));
border-radius: var(--radius-sm);
padding: 0.75rem 1rem;
margin: 0.75rem 0 0;
font-size: 0.92rem;
color: var(--text);
}
.resume-exp__effect strong {
color: var(--accent);
}
.resume-skills {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
margin: 0.75rem 0;
}
@media (max-width: 32rem) {
.resume-skills {
grid-template-columns: 1fr;
}
}
.resume-skill {
font-size: 0.92rem;
}
.resume-skill__title {
font-weight: 600;
color: var(--text);
margin-bottom: 0.15rem;
}
.resume-skill__desc {
color: var(--text-muted);
}
.resume-communities {
margin: 0.75rem 0;
}
.resume-community {
margin: 0.75rem 0;
font-size: 0.92rem;
}
.resume-community__name {
font-weight: 700;
color: var(--text);
}
.resume-community__period {
font-size: 0.85rem;
color: var(--text-muted);
}
.resume-community__desc {
color: var(--text-muted);
margin-top: 0.25rem;
}
.resume-additional h3 {
margin: 1rem 0 0.35rem;
font-size: 1rem;
font-weight: 600;
color: var(--text);
}
.resume-additional ul {
margin: 0.25rem 0;
padding-left: 1.25rem;
color: var(--text-muted);
font-size: 0.92rem;
}
.resume-additional li + li {
margin-top: 0.25rem;
}
.resume-about {
margin: 1rem 0;
font-size: 0.92rem;
color: var(--text-muted);
}
</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-theme-panel-btn aria-expanded="false" aria-controls="theme-panel" aria-label="Настройки стиля">
<span class="theme-panel-fab__icon theme-panel-fab__icon--open-hide" aria-hidden="true"></span>
<svg class="theme-panel-fab__icon theme-panel-fab__icon--close" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
<path d="M6 6L18 18M18 6L6 18" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
</svg>
</button>
<div id="theme-panel" class="theme-picker__panel glass-neutral" role="dialog" aria-label="Тема и оформление" hidden data-theme-panel>
<div class="theme-picker__stack">
<section class="theme-picker__section" aria-labelledby="theme-accent-title">
<h3 id="theme-accent-title" class="theme-picker__section-title">Акцентный цвет</h3>
<div class="colorpicker" data-colorpicker>
<div class="colorpicker__plane-box">
<canvas class="colorpicker__plane" width="320" height="180" data-sl-canvas aria-label="Насыщенность и светлость акцента"></canvas>
<div class="colorpicker__knob" data-sl-knob></div>
</div>
<div class="colorpicker__hue-wrap">
<label class="colorpicker__hue-sr" for="theme-hue-slider">Оттенок акцента</label>
<input id="theme-hue-slider" class="colorpicker__hue" type="range" min="0" max="360" value="210" data-hue-slider aria-valuemin="0" aria-valuemax="360" />
</div>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-mode-title">
<h3 id="theme-mode-title" class="theme-picker__section-title">Тема</h3>
<div class="radius-seg theme-mode-seg" role="radiogroup" aria-labelledby="theme-mode-title">
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-theme-mode="system" aria-label="Как в системе"><span class="radius-seg__viz" aria-hidden="true"><span class="theme-mode-seg__ico theme-mode-seg__ico--system"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-theme-mode="light" aria-label="Светлая тема"><span class="radius-seg__viz" aria-hidden="true"><span class="theme-mode-seg__ico theme-mode-seg__ico--light"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-theme-mode="dark" aria-label="Тёмная тема"><span class="radius-seg__viz" aria-hidden="true"><span class="theme-mode-seg__ico theme-mode-seg__ico--dark"></span></span></button>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-radius-title">
<h3 id="theme-radius-title" class="theme-picker__section-title">Скругление углов</h3>
<div class="radius-seg" role="radiogroup" aria-labelledby="theme-radius-title">
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-radius-option="soft" aria-label="Слабое скругление"><span class="radius-seg__viz" aria-hidden="true"><span class="radius-seg__arc radius-seg__arc--soft"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-radius-option="medium" aria-label="Среднее скругление"><span class="radius-seg__viz" aria-hidden="true"><span class="radius-seg__arc radius-seg__arc--medium"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-radius-option="strong" aria-label="Сильное скругление"><span class="radius-seg__viz" aria-hidden="true"><span class="radius-seg__arc radius-seg__arc--strong"></span></span></button>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-typography-title">
<h3 id="theme-typography-title" class="theme-picker__section-title">Типографика</h3>
<div class="radius-seg" role="radiogroup" aria-labelledby="theme-typography-title">
<button type="button" class="radius-seg__btn theme-font-seg__btn" role="radio" aria-checked="false" data-font-option="geologica" aria-label="Sans"><span class="theme-font-seg__label">Sans</span></button>
<button type="button" class="radius-seg__btn theme-font-seg__btn" role="radio" aria-checked="false" data-font-option="merriweather" aria-label="Sans Serif"><span class="theme-font-seg__label">Sans Serif</span></button>
<button type="button" class="radius-seg__btn theme-font-seg__btn" role="radio" aria-checked="false" data-font-option="mono" aria-label="Mono"><span class="theme-font-seg__label">Mono</span></button>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-mesh-bg-title">
<h3 id="theme-mesh-bg-title" class="theme-picker__section-title">Фон страницы</h3>
<div class="radius-seg radius-seg--two" role="radiogroup" aria-labelledby="theme-mesh-bg-title">
<button type="button" class="radius-seg__btn theme-mesh-bg-seg__btn" role="radio" aria-checked="false" data-mesh-bg-option="on" aria-label="Показать фоновый градиент"><span class="theme-mesh-bg-seg__label">Вкл</span></button>
<button type="button" class="radius-seg__btn theme-mesh-bg-seg__btn" role="radio" aria-checked="false" data-mesh-bg-option="off" aria-label="Скрыть фоновый градиент"><span class="theme-mesh-bg-seg__label">Выкл</span></button>
</div>
</section>
</div>
</div>
</div>
<a class="fab fab--primary" href="index.html#contact" aria-label="Связаться">
<span class="fab-primary__ico" aria-hidden="true"></span>
</a>
</div>
<div class="content-edit-fab-stack" aria-label="Правки контента" data-content-edit-ui>
<button
type="button"
class="fab fab--secondary glass-neutral content-edit-fab"
data-content-edit-mode-toggle
hidden
aria-pressed="false"
aria-label="Режим правок контента"
title="Режим правок"
>
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true">
<path
d="M4 20h4l10.5-10.5a2.12 2.12 0 0 0 0-3L16.5 4.5a2.12 2.12 0 0 0-3 0L3 15v5z"
stroke="currentColor"
stroke-width="1.75"
stroke-linejoin="round"
/>
</svg>
<span class="content-edit-fab__badge" hidden aria-hidden="true">0</span>
</button>
</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-transparentBG-1.webp" alt="Николай Мамадаев" width="120" height="120" />
<div>
<p class="hero__eyebrow">Резюме</p>
<h1 class="case-page__h1">Николай Мамадаев</h1>
<p class="section__prose"><strong>Зерокодер · Продуктовый дизайнер · Ведущий (Lead)</strong></p>
<p class="section__prose">Product Designer / Lead Designer</p>
</div>
</div>
<div class="resume-contacts">
<span>Калининград, Россия · Удалённо</span>
<span>Телефон: +7 (960) 294-24-05</span>
<span>Telegram: <a href="https://t.me/mamadaevv" target="_blank" rel="noopener">@mamadaevv</a></span>
<span>Email: <a href="mailto:nik@mamadaevv.site">nik@mamadaevv.site</a></span>
<span>Сайт: <a href="https://mamadaevv.site" target="_blank" rel="noopener">mamadaevv.site</a></span>
</div>
<dl class="resume-meta">
<div>
<dt>Стаж</dt>
<dd>10 лет</dd>
</div>
<div>
<dt>Возраст</dt>
<dd>36 лет</dd>
</div>
<div>
<dt>Готовность</dt>
<dd>удалённая работа</dd>
</div>
<div>
<dt>Ожидания</dt>
<dd>от 270 000 ₽</dd>
</div>
</dl>
<h2 id="profile">О себе</h2>
<p class="section__prose resume-about">
В дизайне более 10 лет, последние годы — продуктовый дизайн. Работаю на стыке дизайна и продукт-менеджмента: провожу исследования, формулирую гипотезы и фичи, помогаю с приоритизацией задач и участвую в планировании релизов. Использую Figma для прототипов, экранов и дизайн-систем. Собрал приватный AI-плагин для рутины. Ежедневно применяю Perplexity и Hermes для ресёрча, идей и работы с данными.
</p>
<h2 id="experience">Опыт работы</h2>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">Primo RPA</p>
<p class="resume-exp__period">Фев 2023 — Ноя 2025 · 2 года 10 мес</p>
</div>
<p class="resume-exp__role">Ведущий UI/UX дизайнер</p>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Обязанности</p>
<ul>
<li>Развитие UX/UI 4 продуктов: Studio (Windows/Linux), Orchestrator (Web), Idea Hub (Web), AI Server (Web)</li>
<li>Проведение пользовательских исследований и создание интерактивных прототипов</li>
<li>Поддержка UI-kit и обеспечение консистентности интерфейсов</li>
<li>Авторский надзор при внедрении решений в разработку</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Что сделал</p>
<ul>
<li>Обновил визуальный язык всех продуктов компании до уровня Windows 10/11</li>
<li>Расширил библиотеку компонентов для фреймворка «Авалония» в Linux-версии Студии</li>
<li>Перевёл все продукты на векторную графику для иконок и иллюстраций</li>
<li>Внедрил единую дизайн-систему для веб-сервисов</li>
</ul>
</div>
<div class="resume-exp__effect">
<strong>Эффект:</strong> Время разработки нового экрана сократилось на ~40% благодаря единой дизайн-системе. Обновлённые компоненты повысили удовлетворённость пользователей Студии (рост NPS на 18 пунктов). Конверсия в регистрацию после редизайна выросла на 22%.
</div>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">Icons8</p>
<p class="resume-exp__period">Июл 2022 — Янв 2023 · 7 мес</p>
</div>
<p class="resume-exp__role">UI/UX дизайнер</p>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Обязанности</p>
<ul>
<li>Дизайн интерфейса редактора Lunacy</li>
<li>Создание сложных прототипов в Protopie</li>
<li>Отрисовка иконок и proposal по функционалу</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Что сделал</p>
<ul>
<li>Спроектировал user flows для нового функционала редактора</li>
<li>Создал 50+ интерактивных прототипов для тестирования сценариев</li>
<li>Отрисовал 120+ иконок для обновления библиотеки</li>
</ul>
</div>
<div class="resume-exp__effect">
<strong>Эффект:</strong> Внедрённые решения сократили количество обращений в поддержку по новому функционалу на 35%. Обновлённые иконки повысили оценку визуальной составляющей в опросах пользователей на 12%.
</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__period">Янв 2019 — Дек 2021 · 3 года</p>
</div>
<p class="resume-exp__role">Team Lead Product Team</p>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Обязанности</p>
<ul>
<li>Масштабный редизайн продукта и создание новой концепции интерфейса</li>
<li>Проектирование 100+ пользовательских сценариев</li>
<li>Исследования пользователей (интервью, опросы, наблюдение)</li>
<li>Построение продуктовой команды и рабочих процессов</li>
<li>Курирование документации и автоматизация (Integromat, Zapier)</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Что сделал</p>
<ul>
<li>Провёл масштабный редизайн с нуля: новая концепция, стилистика и поведение интерфейса</li>
<li>Разработал дизайн-систему и создал портреты пользователей с картами эмпатии</li>
<li>Собеседовал и набрал 5 специалистов в продуктовый отдел</li>
<li>Сверстал сайт на Tilda и спроектировал его информационную архитектуру</li>
</ul>
</div>
<div class="resume-exp__effect">
<strong>Эффект:</strong> Рейтинг приложения вырос с 3.2 до 4.6 в магазинах. Количество активных пользователей увеличилось на 65% за первый год после редизайна. Время выполнения типового сценария сократилось на 28%.
</div>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">Серафим</p>
<p class="resume-exp__period">Окт 2017 — Дек 2018 · 1 год 3 мес</p>
</div>
<p class="resume-exp__role">UI/UX дизайнер</p>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Обязанности</p>
<ul>
<li>Дизайн кроссплатформенного мессенджера (Android, iOS, MacOS, Windows, Linux)</li>
<li>Контроль работы с зарубежными иллюстраторами</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Что сделал</p>
<ul>
<li>Спроектировал единый интерфейс для 5 платформ с учётом их особенностей</li>
<li>Координация работы 3 иллюстраторов над графическими материалами</li>
</ul>
</div>
<div class="resume-exp__effect">
<strong>Эффект:</strong> Приложение набрало 15K+ установок за первые 3 месяца. Консистентность интерфейса между платформами оценена пользователями на 4.5/5.
</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__period">Июл 2016 — Окт 2017 · 1 год 4 мес</p>
</div>
<p class="resume-exp__role">UI/UX дизайнер</p>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Обязанности</p>
<ul>
<li>Работа в отделе дизайна (до 8 человек): wireframes, UI, прототипы, презентации клиентам</li>
<li>Юзабилити тестирования и авторский надзор</li>
<li>Проектирование для смарт ТВ</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Что сделал</p>
<ul>
<li>Создал 8 дизайн-концепций для зарубежных клиентов</li>
<li>Провёл 12 юзабилити тестирований и внёс правки по результатам</li>
<li>Осуществлял авторский надзор над 3 проектами одновременно</li>
<li>Освоил смарт ТВ и выпустил приложение в магазин</li>
</ul>
</div>
<div class="resume-exp__effect">
<strong>Эффект:</strong> Приложение для смарт ТВ вошло в ТОП-20 в категории «Утилиты» в магазине Samsung Smart Hub. Удовлетворённость клиентов качеством дизайна — 95% по внутреннему опросу.
</div>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">SpaceshipApps</p>
<p class="resume-exp__period">Июн 2015 — Июн 2016 · 1 год 1 мес</p>
</div>
<p class="resume-exp__role">UI/UX дизайнер</p>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Обязанности</p>
<ul>
<li>Дизайн 6 мобильных приложений и веб-сервисов</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Что сделал</p>
<ul>
<li>Спроектировал интерфейсы для: социальной игры с квестами, сервиса записей, заказа еды, голосовой игры, сервиса авторского права, «белой доски»</li>
</ul>
</div>
<div class="resume-exp__effect">
<strong>Эффект:</strong> 6 проектов выпущены в срок. Приложение для заказа еды набрало 8K+ пользователей за первый месяц. Сервис авторского права вышел на 3 B2B-клиента.
</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, персоны, карты эмпатии, продуктовые метрики</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="communities">Профессиональные сообщества</h2>
<div class="resume-communities">
<div class="resume-community">
<p class="resume-community__name">Хабр Q&A · GitHub · Dribbble</p>
<p class="resume-community__desc">46 ответов на Хабре, 107 вкладов на GitHub (TypeScript, HTML, CSS), 15 работ на Dribbble. Активный участник дизайнерского сообщества с 2013 года.</p>
</div>
</div>
<h2 id="languages">Языки</h2>
<p class="section__prose">Английский (B1)</p>
<h2 id="additional">Дополнительно</h2>
<div class="resume-additional">
<h3>Навыки для Алисы</h3>
<ul>
<li>Создал 4 навыка с совокупной аудиторией 73K+ пользователей</li>
<li>Доклад по аналитике навыков на митапе Яндекса</li>
</ul>
<h3>Хакатоны</h3>
<ul>
<li>1 место — Яндекс.Деньги (оплата QR-кодом)</li>
<li>Маркетплейс цифровых товаров — хакатон Ростов-на-Дону</li>
</ul>
<h3>Автоматизации</h3>
<ul>
<li>n8n, REST API, PostgreSQL, Telegram-боты</li>
</ul>
<h3>Ресурсы для дизайнеров</h3>
<ul>
<li>«Slider Set» — 20K+ скачиваний</li>
<li>Канал «Дизайн не пицца»</li>
</ul>
</div>
</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.html">Политика 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.html" 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>
</body>
</html>
-801
View File
@@ -1,801 +0,0 @@
<!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>Резюме 4 — Николай Мамадаев</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: 48rem;
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;
flex-direction: row-reverse;
justify-content: flex-end;
}
.resume-photo {
width: 120px;
height: 120px;
border-radius: var(--radius-sm);
object-fit: cover;
border: 2px solid var(--line);
flex-shrink: 0;
}
@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 0.75rem;
font-size: clamp(1.15rem, 2vw, 1.35rem);
font-weight: 700;
color: var(--text);
}
.resume-doc .section__prose + .section__prose {
margin-top: 0.75rem;
}
.resume-doc .section__prose a {
color: var(--accent);
}
.resume-contacts {
display: flex;
flex-wrap: wrap;
gap: 0.25rem 1.5rem;
margin: 0.75rem 0 1.5rem;
font-size: 0.92rem;
color: var(--text-muted);
}
.resume-contacts span {
white-space: nowrap;
}
.resume-contacts a {
color: var(--accent);
}
.resume-meta {
display: grid;
grid-template-columns: 1fr 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: 1fr;
}
}
.resume-meta dt {
font-weight: 600;
color: var(--text);
}
.resume-meta dd {
margin: 0;
}
.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-exp__header {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: baseline;
gap: 0.5rem;
margin-bottom: 0.75rem;
}
.resume-exp__company {
font-weight: 700;
font-size: 1.1rem;
color: var(--text);
}
.resume-exp__period {
font-size: 0.85rem;
color: var(--text-muted);
}
.resume-exp__role {
font-style: italic;
color: var(--text-muted);
font-size: 0.92rem;
margin-bottom: 0.75rem;
}
.resume-exp__desc {
color: var(--text-muted);
font-size: 0.92rem;
margin: 0.5rem 0;
}
.resume-exp__section {
margin: 0.75rem 0;
}
.resume-exp__section-title {
font-weight: 600;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--accent);
margin-bottom: 0.35rem;
}
.resume-exp ul {
margin: 0;
padding-left: 1.25rem;
color: var(--text-muted);
font-size: 0.92rem;
}
.resume-exp li + li {
margin-top: 0.25rem;
}
.resume-skills {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
margin: 0.75rem 0;
}
@media (max-width: 32rem) {
.resume-skills {
grid-template-columns: 1fr;
}
}
.resume-skill {
font-size: 0.92rem;
}
.resume-skill__title {
font-weight: 600;
color: var(--text);
margin-bottom: 0.15rem;
}
.resume-skill__desc {
color: var(--text-muted);
}
.resume-about {
margin: 1rem 0;
font-size: 0.92rem;
color: var(--text-muted);
}
</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-theme-panel-btn aria-expanded="false" aria-controls="theme-panel" aria-label="Настройки стиля">
<span class="theme-panel-fab__icon theme-panel-fab__icon--open-hide" aria-hidden="true"></span>
<svg class="theme-panel-fab__icon theme-panel-fab__icon--close" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
<path d="M6 6L18 18M18 6L6 18" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
</svg>
</button>
<div id="theme-panel" class="theme-picker__panel glass-neutral" role="dialog" aria-label="Тема и оформление" hidden data-theme-panel>
<div class="theme-picker__stack">
<section class="theme-picker__section" aria-labelledby="theme-accent-title">
<h3 id="theme-accent-title" class="theme-picker__section-title">Акцентный цвет</h3>
<div class="colorpicker" data-colorpicker>
<div class="colorpicker__plane-box">
<canvas class="colorpicker__plane" width="320" height="180" data-sl-canvas aria-label="Насыщенность и светлость акцента"></canvas>
<div class="colorpicker__knob" data-sl-knob></div>
</div>
<div class="colorpicker__hue-wrap">
<label class="colorpicker__hue-sr" for="theme-hue-slider">Оттенок акцента</label>
<input id="theme-hue-slider" class="colorpicker__hue" type="range" min="0" max="360" value="210" data-hue-slider aria-valuemin="0" aria-valuemax="360" />
</div>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-mode-title">
<h3 id="theme-mode-title" class="theme-picker__section-title">Тема</h3>
<div class="radius-seg theme-mode-seg" role="radiogroup" aria-labelledby="theme-mode-title">
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-theme-mode="system" aria-label="Как в системе"><span class="radius-seg__viz" aria-hidden="true"><span class="theme-mode-seg__ico theme-mode-seg__ico--system"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-theme-mode="light" aria-label="Светлая тема"><span class="radius-seg__viz" aria-hidden="true"><span class="theme-mode-seg__ico theme-mode-seg__ico--light"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-theme-mode="dark" aria-label="Тёмная тема"><span class="radius-seg__viz" aria-hidden="true"><span class="theme-mode-seg__ico theme-mode-seg__ico--dark"></span></span></button>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-radius-title">
<h3 id="theme-radius-title" class="theme-picker__section-title">Скругление углов</h3>
<div class="radius-seg" role="radiogroup" aria-labelledby="theme-radius-title">
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-radius-option="soft" aria-label="Слабое скругление"><span class="radius-seg__viz" aria-hidden="true"><span class="radius-seg__arc radius-seg__arc--soft"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-radius-option="medium" aria-label="Среднее скругление"><span class="radius-seg__viz" aria-hidden="true"><span class="radius-seg__arc radius-seg__arc--medium"></span></span></button>
<button type="button" class="radius-seg__btn" role="radio" aria-checked="false" data-radius-option="strong" aria-label="Сильное скругление"><span class="radius-seg__viz" aria-hidden="true"><span class="radius-seg__arc radius-seg__arc--strong"></span></span></button>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-typography-title">
<h3 id="theme-typography-title" class="theme-picker__section-title">Типографика</h3>
<div class="radius-seg" role="radiogroup" aria-labelledby="theme-typography-title">
<button type="button" class="radius-seg__btn theme-font-seg__btn" role="radio" aria-checked="false" data-font-option="geologica" aria-label="Sans"><span class="theme-font-seg__label">Sans</span></button>
<button type="button" class="radius-seg__btn theme-font-seg__btn" role="radio" aria-checked="false" data-font-option="merriweather" aria-label="Sans Serif"><span class="theme-font-seg__label">Sans Serif</span></button>
<button type="button" class="radius-seg__btn theme-font-seg__btn" role="radio" aria-checked="false" data-font-option="mono" aria-label="Mono"><span class="theme-font-seg__label">Mono</span></button>
</div>
</section>
<section class="theme-picker__section" aria-labelledby="theme-mesh-bg-title">
<h3 id="theme-mesh-bg-title" class="theme-picker__section-title">Фон страницы</h3>
<div class="radius-seg radius-seg--two" role="radiogroup" aria-labelledby="theme-mesh-bg-title">
<button type="button" class="radius-seg__btn theme-mesh-bg-seg__btn" role="radio" aria-checked="false" data-mesh-bg-option="on" aria-label="Показать фоновый градиент"><span class="theme-mesh-bg-seg__label">Вкл</span></button>
<button type="button" class="radius-seg__btn theme-mesh-bg-seg__btn" role="radio" aria-checked="false" data-mesh-bg-option="off" aria-label="Скрыть фоновый градиент"><span class="theme-mesh-bg-seg__label">Выкл</span></button>
</div>
</section>
</div>
</div>
</div>
<a class="fab fab--primary" href="index.html#contact" aria-label="Связаться">
<span class="fab-primary__ico" aria-hidden="true"></span>
</a>
</div>
<div class="content-edit-fab-stack" aria-label="Правки контента" data-content-edit-ui>
<button
type="button"
class="fab fab--secondary glass-neutral content-edit-fab"
data-content-edit-mode-toggle
hidden
aria-pressed="false"
aria-label="Режим правок контента"
title="Режим правок"
>
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true">
<path
d="M4 20h4l10.5-10.5a2.12 2.12 0 0 0 0-3L16.5 4.5a2.12 2.12 0 0 0-3 0L3 15v5z"
stroke="currentColor"
stroke-width="1.75"
stroke-linejoin="round"
/>
</svg>
<span class="content-edit-fab__badge" hidden aria-hidden="true">0</span>
</button>
</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>
<div class="resume-contacts">
<span>Портфолио: <a href="https://mamadaevv.site" target="_blank" rel="noopener">mamadaevv.site</a></span>
<span>Почта: <a href="mailto:nik@mamadaevv.site">nik@mamadaevv.site</a></span>
</div>
<dl class="resume-meta">
<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>
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Определил сценарии автоматизации на основе аудита собственного рабочего процесса: замерил, какие операции повторяются чаще всего и съедают больше всего времени</li>
<li>Спроектировал интерфейс плагина: панель, состояния обработки, обработка ошибок, работа с выделением</li>
<li>Собрал архитектуру взаимодействия с LLM: промпт-шаблоны, валидация ответа, повторные попытки</li>
<li>Довёл до рабочей версии самостоятельно, с помощью AI-ассистированной разработки</li>
<li>Веду плагин как продукт: собираю обратную связь, приоритизирую доработки, выпускаю обновления</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Автоматизировал 7 рутинных операций дизайн-процесса: нейминг слоёв, генерация контента для макетов, приведение текстов к тону продукта, локализация</li>
<li>Сократил время на подготовку макета к передаче в разработку примерно на 40%</li>
<li>Экономлю около 5 часов в неделю на операциях, которые раньше делал руками</li>
<li>Прошёл полный цикл продукта в одиночку: проблема → решение → реализация → эксплуатация</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Автоматизации и сервисы на n8n (личные проекты)</p>
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Проектирование логики сценариев: триггеры, ветвления, обработка ошибок, повторные запуски</li>
<li>Работа с PostgreSQL как хранилищем и источником данных для процессов</li>
<li>Интеграция внешних сервисов через REST API</li>
<li>Проектирование и запуск Telegram-ботов: сценарии диалога, состояния, интерфейс сообщений</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Собрал 12 рабочих сценариев автоматизации, закрывающих личные и рабочие рутины</li>
<li>Запустил 3 Telegram-бота с собственной продуктовой логикой и базой данных</li>
<li>Свёл разрозненные сервисы в единый процесс без единой строки ручной работы</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Пет-проекты на AI-ассистированной разработке</p>
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Продуктовое проектирование: формулировка проблемы, сценарии, интерфейс, приоритизация функций</li>
<li>Реализация фронтенда и логики с помощью AI-ассистентов</li>
<li>Развёртывание и поддержка работающих сервисов</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Довёл 5 идей до состояния работающего продукта, а не макета в Figma</li>
<li>Научился доводить гипотезу до проверяемого прототипа за 2–3 дня вместо нескольких недель ожидания разработки</li>
<li>Закрыл разрыв между дизайном и реализацией: теперь проверяю идеи в коде, а не только на макетах</li>
</ul>
</div>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">Primo RPA</p>
<p class="resume-exp__period">Февраль 2023 — Ноябрь 2025 (2 года и 10 месяцев)</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>
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Проектирование интерфейса управления моделями: обучение, запуск, тестирование, версионирование, мониторинг</li>
<li>Проработка сценариев работы с Smart OCR — извлечение данных из документов различных типов</li>
<li>Проектирование разметки документов и валидации результатов распознавания</li>
<li>Работа с состояниями долгих процессов: обучение модели, прогресс, ошибки, откат</li>
<li>Подготовка интерактивных прототипов и авторский надзор за реализацией</li>
<li>Проведение интервью с ML-инженерами и бизнес-пользователями для сверки моделей поведения</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Упаковал сложную ML-логику в интерфейс, понятный не только ML-инженеру, но и бизнес-аналитику без технического бэкграунда</li>
<li>Свёл работу с моделями к единому предсказуемому сценарию из 4 шагов вместо 9 разрозненных экранов</li>
<li>Сократил время настройки новой модели с 40 до 15 минут по результатам замеров на тестировании</li>
<li>Спроектировал интерфейс разметки документов, который снял 60% обращений в поддержку по этой теме</li>
<li>Провёл 8 юзабилити-сессий, по итогам переработал ключевой сценарий обучения модели</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Robot automation studio (Windows)</p>
<p class="resume-exp__desc">Среда для разработки и отладки роботов для автоматизации бизнес-процессов.</p>
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Проектирование интерфейса профессиональной desktop-IDE: рабочая область, панели инструментов, дерево процесса, отладчик</li>
<li>Развитие библиотеки компонентов и визуального языка продукта</li>
<li>Проработка сценариев отладки: точки останова, пошаговое выполнение, просмотр переменных</li>
<li>Проектирование работы с большими деревьями активностей и вложенностью</li>
<li>Работа в паре с разработкой по реализации компонентов, авторский надзор</li>
<li>Ведение регулярных дизайн-ревью внутри команды</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Обновил визуальный язык продукта до уровня Windows 10/11 — компоненты стали на поколение современнее</li>
<li>Переработал 80+ экранов и диалогов, приведя их к единой сетке и типографике</li>
<li>Собрал библиотеку из 140 компонентов, закрывшую 90% потребностей интерфейса</li>
<li>Перевёл иконки и часть иллюстраций на векторную графику: корректное отображение при любом масштабировании и DPI</li>
<li>Сократил время сборки нового экрана командой с 2 дней до 4 часов за счёт готовых компонентов</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Robot automation studio (Linux)</p>
<p class="resume-exp__desc">Среда для разработки и отладки роботов для автоматизации бизнес-процессов.</p>
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Адаптация дизайна Студии под Linux-версию на фреймворке Avalonia</li>
<li>Проектирование компонентов с учётом технических ограничений фреймворка</li>
<li>Синхронизация визуального языка между Windows- и Linux-версиями продукта</li>
<li>Совместная работа с разработкой над тем, что технически реализуемо в Avalonia, а что требует обходных решений</li>
<li>Подготовка спецификаций поведения компонентов для реализации</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Собрал расширенную библиотеку из 95 компонентов для Avalonia, которой в проекте не существовало до меня</li>
<li>Обеспечил единообразие продукта на двух платформах при разных технологических стеках</li>
<li>Сократил количество визуальных расхождений между версиями с нескольких десятков до единичных случаев</li>
<li>Дал команде Linux-версии готовый набор решений вместо дизайна каждого экрана с нуля</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Idea Hub Dashboard (Saas)</p>
<p class="resume-exp__desc">Обеспечивает сбор и анализ предложений сотрудников, оценка эффективности и мониторинг статуса реализации автоматизаций. Аналитика по ключевым показателям эффективности и верхнеуровневый взгляд на роботизацию.</p>
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Проектирование дашбордов и аналитических представлений по KPI роботизации</li>
<li>Проработка жизненного цикла идеи: подача → оценка → приоритизация → реализация → замер эффекта</li>
<li>Информационная архитектура раздела, работа с плотными таблицами, фильтрами и массовыми операциями</li>
<li>Проектирование ролевой модели: сотрудник, аналитик, руководитель</li>
<li>Подбор типов визуализации данных под конкретные управленческие вопросы</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Свёл верхнеуровневую аналитику и работу с конкретной идеей в один непрерывный сценарий без переключения между разделами</li>
<li>Спроектировал представление данных так, что руководитель видит эффект от роботизации без ручных выгрузок в Excel</li>
<li>Сократил путь от подачи идеи до её оценки с 6 шагов до 3</li>
<li>Спроектировал 12 виджетов аналитики, покрывающих основные вопросы заказчиков о ROI роботизации</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Orchestrator Automation Management Tool (Saas)</p>
<p class="resume-exp__desc">Обеспечивает слаженную работу системы и управление сотнями роботов: запуски, мониторинг и менеджмент.</p>
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Проектирование интерфейса управления парком из сотен роботов: расписания, очереди, приоритеты, мониторинг</li>
<li>Проработка состояний и обработки ошибок при массовых запусках</li>
<li>Проектирование системы уведомлений и алертов о сбоях</li>
<li>Работа со сложными таблицами: сортировка, фильтрация, массовые действия, сохранённые представления</li>
<li>Прототипирование сложных сценариев для валидации до начала разработки</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Спроектировал управление сотнями объектов так, что оператор не теряется в масштабе: от общей картины до конкретного робота за 2 клика</li>
<li>Привёл сервис к единой дизайн-системе вместе с остальными веб-продуктами линейки</li>
<li>Сократил время реакции оператора на сбой робота с 12 до 4 минут за счёт переработанной системы алертов</li>
<li>Свёл 5 разных представлений списка роботов к одному настраиваемому</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">QnA portal (WEB)</p>
<p class="resume-exp__desc">Площадка для постинга вопросов и получения ответов от службы поддержки</p>
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Проектирование сценариев публикации вопроса, ответа и поиска по накопленной базе знаний</li>
<li>Дизайн интерфейса портала на базе общей дизайн-системы компании</li>
<li>Проработка ролевой модели: пользователь, эксперт, служба поддержки, модератор</li>
<li>Проектирование механики поиска и подсказок похожих вопросов при публикации</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Запустил портал на готовых компонентах дизайн-системы за 3 недели вместо запланированных 8</li>
<li>Снизил нагрузку на поддержку примерно на 25% за счёт переиспользования уже данных ответов</li>
<li>Механика подсказок похожих вопросов сократила количество дублей на 45%</li>
<li>Обеспечил визуальную преемственность с продуктами линейки — портал не выглядит сторонним сервисом</li>
</ul>
</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__period">Июль 2022 — Январь 2023 (7 месяцев)</p>
</div>
<p class="resume-exp__desc">Графический редактор для работы над дизайном интерфейсов и прочих макетов. Аналог Sketch App и Figma.</p>
<div class="resume-exp__section">
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Проектирование интерфейса графического редактора: инструменты, панели свойств, работа с холстом и слоями</li>
<li>Оформление решений в виде юзерфлоу и передача разработчикам</li>
<li>Создание сложных интерактивных прототипов в Protopie для демонстрации поведения инструментов</li>
<li>Отрисовка недостающих иконок в стилистике продукта</li>
<li>Внесение предложений по улучшению функциональности редактора</li>
<li>Участие в обсуждениях продуктовых решений с командой</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Спроектировал 6 функциональных блоков редактора, включая работу с компонентами и стилями</li>
<li>Собрал 15+ прототипов в Protopie, что позволило отсечь неудачные решения до разработки</li>
<li>Часть моих предложений по функциональности вошла в релизы продукта</li>
<li>Отрисовал более 60 иконок, дополнивших системный набор редактора</li>
<li>Работал над продуктом для профессиональной аудитории дизайнеров, где требования к деталям интерфейса выше обычных</li>
</ul>
</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__period">Январь 2019 — Декабрь 2021 (3 года)</p>
</div>
<p class="resume-exp__desc">Игровой движок для создания видеоигр без написания кода.</p>
<div class="resume-exp__section">
<p class="resume-exp__desc">Обязанности:</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>
<p class="resume-exp__desc">Достижения:</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>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">Aegees Messenger</p>
<p class="resume-exp__period">Октябрь 2017 — Декабрь 2018 (1 год и 3 месяца)</p>
</div>
<p class="resume-exp__desc">Кроссплатформенный мессенджер с защищенным хранилищем и аудиозвонками.</p>
<div class="resume-exp__section">
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Дизайн мессенджера сразу под пять платформ: Android, iOS, macOS, Windows, Linux</li>
<li>Проработка сценариев защищённого хранилища и аудиозвонков</li>
<li>Проектирование сценариев регистрации, шифрования и восстановления доступа</li>
<li>Адаптация единой продуктовой логики под гайдлайны каждой платформы</li>
<li>Контроль работы зарубежных иллюстраторов по подготовке графических материалов</li>
<li>Подготовка материалов для магазинов приложений</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Выстроил единый визуальный язык продукта при соблюдении гайдлайнов пяти платформ одновременно</li>
<li>Спроектировал более 90 экранов в пяти платформенных вариантах</li>
<li>Обеспечил стабильный поток графических материалов от внешних подрядчиков без потери стилистики</li>
<li>Упростил сценарий защищённого хранилища так, чтобы им пользовались люди без технической подготовки</li>
<li>Работал в чувствительной области приватности и безопасности, где ошибка в интерфейсе стоит доверия пользователя</li>
</ul>
</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__period">Июль 2016 — Октябрь 2017 (1 год и 4 месяца)</p>
</div>
<p class="resume-exp__desc">Разработка ПО для внешних заказчиков.</p>
<div class="resume-exp__section">
<p class="resume-exp__desc">Обязанности:</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>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Провёл 10 сессий юзабилити-тестирования от написания сценария до внесения правок</li>
<li>Освоил новую для себя платформу Smart TV и довёл проект до успешной публикации в магазине приложений</li>
<li>Вёл коммуникацию с зарубежными заказчиками напрямую, без посредников</li>
<li>Активно участвовал в улучшении рабочего процесса дизайн-отдела компании</li>
<li>Прошёл полный цикл продуктового дизайна на 5 клиентских проектах</li>
</ul>
</div>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">SpaceshipApps Studio</p>
<p class="resume-exp__period">Июнь 2015 — Июнь 2016 (1 год и 1 месяц)</p>
</div>
<p class="resume-exp__desc">Студия разработки мобильных приложений и сайтов.</p>
<div class="resume-exp__section">
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Дизайн мобильных и веб-продуктов в потоковом режиме студии</li>
<li>Работа с разными доменами: соцгейминг, бьюти-услуги, доставка еды, голосовые интерфейсы, легал-сервисы, коллаборативные инструменты</li>
<li>Адаптивный веб-дизайн и дизайн административных панелей</li>
<li>Отрисовка иконок и подготовка графики для проектов</li>
<li>Подготовка макетов к передаче в разработку</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Выпустил 6 продуктов за год: геолокационная социальная игра с квестами в реальном мире, приложение записи к бьюти-специалистам, сервис доставки еды, голосовая игра со словами, сайт и админка сервиса регистрации авторского права, мобильная «белая доска» для совместной работы</li>
<li>Научился быстро входить в новую предметную область и держать качество при высоком темпе студии</li>
<li>Закрыл весь спектр задач: мобайл, веб, админ-панели, графика</li>
<li>Заложил базу для перехода от исполнительского дизайна к продуктовому</li>
</ul>
</div>
</div>
<h2 id="skills">Навыки</h2>
<p class="section__prose">Figma, AI, n8n, Rest API, HTML, CSS, JS, JTBD, UJM, KISS</p>
<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.html">Политика 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.html" 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>
</body>
</html>
@@ -7,13 +7,13 @@
name="description"
content="Резюме Николая Мамадаева — продуктовый дизайнер с опытом более 10 лет."
/>
<title>Резюме 5 — Николай Мамадаев</title>
<title>Резюме — Николай Мамадаев</title>
<script>
(function () {
var FONT_CSS = {
merriweather: "assets/fonts/merriweather.css",
geologica: "assets/fonts/geologica.css",
mono: "assets/fonts/mono.css",
merriweather: "../assets/fonts/merriweather.css",
geologica: "../assets/fonts/geologica.css",
mono: "../assets/fonts/mono.css",
};
try {
var t = JSON.parse(localStorage.getItem("siteThemeV1") || "{}");
@@ -89,17 +89,17 @@
})();
</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>
<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>
@@ -312,10 +312,10 @@
<header class="header" data-theme-picker>
<div class="header__inner">
<a class="logo" href="index.html" aria-label="На главную">НМ</a>
<a class="logo" href="../index.html" aria-label="На главную">НМ</a>
<div class="header__cluster">
<nav class="nav" aria-label="Навигация">
<a href="index.html">На главную</a>
<a href="../index.html">На главную</a>
</nav>
</div>
</div>
@@ -336,7 +336,7 @@
<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" />
<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>
@@ -962,19 +962,19 @@
<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.html">Политика cookie</a></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.html" data-cookie-policy-link>политике cookie</a>.
<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" />
<img src="../assets/shared/icons/сookie.svg" alt="" width="20" height="20" loading="eager" decoding="async" />
</span>
</button>
</aside>
+14
View File
@@ -103,6 +103,8 @@ function build() {
const pageDirRel = path.dirname(rel);
const depth = pageDirRel === "." ? 0 : pageDirRel.split(path.sep).length;
const isCase = relNorm.startsWith("cases/");
const isResume = relNorm === "resume.html";
const isCookiePolicy = relNorm === "cookie-policy.html";
let outPath;
let vars;
@@ -114,6 +116,18 @@ function build() {
assetPrefix: "../../",
casesPrefix: "../",
};
} else if (isResume) {
outPath = path.join(outDir, "resume", "index.html");
vars = {
assetPrefix: "../",
casesPrefix: "",
};
} else if (isCookiePolicy) {
outPath = path.join(outDir, "cookie-policy", "index.html");
vars = {
assetPrefix: "../",
casesPrefix: "",
};
} else {
outPath = path.join(outDir, rel);
vars = {
+1 -1
View File
@@ -4,7 +4,7 @@ import { dirname, resolve } from 'path';
const __dirname = dirname(fileURLToPath(import.meta.url));
const OUT = resolve(__dirname, '../public/assets/resume/Mamadaev_Nik__CV__Product_Designer_UX-UI.pdf');
const PAGE = process.argv[2] || 'http://localhost:4175/resume-5.html';
const PAGE = process.argv[2] || 'http://localhost:4175/resume/';
const FONT = process.argv[3] || 'geologica';
const browser = await puppeteer.launch({ headless: true });
+1 -1
View File
@@ -124,7 +124,7 @@
<h2 id="changes">Изменения</h2>
<p class="section__prose">
Текст политики может обновляться при изменении технологий на сайте. Актуальная версия публикуется на странице «Политика cookie» по адресу <a href="{{assetPrefix}}cookie-policy.html">/cookie-policy.html</a> относительно корня сайта.
Текст политики может обновляться при изменении технологий на сайте. Актуальная версия публикуется на странице «Политика cookie» по адресу <a href="{{assetPrefix}}cookie-policy/">/cookie-policy.html</a> относительно корня сайта.
</p>
</div>
</main>
+1 -1
View File
@@ -28,7 +28,7 @@
<div class="hero__actions">
<a class="btn btn--primary btn--flat" href="#contact"><span class="btn__icon" aria-hidden="true"></span><span>Написать мне</span></a>
<a class="btn btn--secondary btn--flat" href="#projects"><span class="btn__icon" aria-hidden="true"></span><span>Смотреть портфолио</span></a>
<a class="btn btn--secondary btn--flat btn--resume" href="resume-5.html"><span class="btn__icon" aria-hidden="true"></span><span>Резюме</span></a>
<a class="btn btn--secondary btn--flat btn--resume" href="resume/"><span class="btn__icon" aria-hidden="true"></span><span>Резюме</span></a>
</div>
</div>
<div class="hero__visual" aria-hidden="true">
-444
View File
@@ -1,444 +0,0 @@
<!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>Резюме 2 — Николай Мамадаев</title>
{{> head-links}}
<style>
.resume-doc {
max-width: 48rem;
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;
flex-direction: row-reverse;
justify-content: flex-end;
}
.resume-photo {
width: 120px;
height: 120px;
border-radius: var(--radius-sm);
object-fit: cover;
border: 2px solid var(--line);
flex-shrink: 0;
}
@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 0.75rem;
font-size: clamp(1.15rem, 2vw, 1.35rem);
font-weight: 700;
color: var(--text);
}
.resume-doc .section__prose + .section__prose {
margin-top: 0.75rem;
}
.resume-doc .section__prose a {
color: var(--accent);
}
.resume-contacts {
display: flex;
flex-wrap: wrap;
gap: 0.25rem 1.5rem;
margin: 0.75rem 0 1.5rem;
font-size: 0.92rem;
color: var(--text-muted);
}
.resume-contacts span {
white-space: nowrap;
}
.resume-contacts a {
color: var(--accent);
}
.resume-meta {
display: grid;
grid-template-columns: 1fr 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: 1fr;
}
}
.resume-meta dt {
font-weight: 600;
color: var(--text);
}
.resume-meta dd {
margin: 0;
}
.resume-exp {
margin: 1.25rem 0;
}
.resume-exp__header {
margin-bottom: 0.5rem;
}
.resume-exp__company {
font-weight: 700;
color: var(--text);
}
.resume-exp__role {
font-style: italic;
color: var(--text-muted);
font-size: 0.92rem;
}
.resume-exp__period {
font-size: 0.85rem;
color: var(--text-muted);
margin-bottom: 0.35rem;
}
.resume-exp__desc {
color: var(--text-muted);
font-size: 0.92rem;
margin: 0.5rem 0;
}
.resume-exp ul {
margin: 0.35rem 0 0;
padding-left: 1.25rem;
color: var(--text-muted);
font-size: 0.92rem;
}
.resume-exp li + li {
margin-top: 0.25rem;
}
.resume-exp__skills {
margin-top: 0.5rem;
font-size: 0.85rem;
color: var(--text-muted);
}
.resume-exp__skills strong {
color: var(--text);
}
.resume-skills {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
margin: 0.75rem 0;
}
@media (max-width: 32rem) {
.resume-skills {
grid-template-columns: 1fr;
}
}
.resume-skill {
font-size: 0.92rem;
}
.resume-skill__title {
font-weight: 600;
color: var(--text);
margin-bottom: 0.15rem;
}
.resume-skill__desc {
color: var(--text-muted);
}
.resume-communities {
margin: 0.75rem 0;
}
.resume-community {
margin: 0.75rem 0;
font-size: 0.92rem;
}
.resume-community__name {
font-weight: 700;
color: var(--text);
}
.resume-community__period {
font-size: 0.85rem;
color: var(--text-muted);
}
.resume-community__desc {
color: var(--text-muted);
margin-top: 0.25rem;
}
.resume-edu {
margin: 0.5rem 0;
}
.resume-edu__school {
font-weight: 700;
color: var(--text);
}
.resume-edu__period {
font-size: 0.85rem;
color: var(--text-muted);
}
.resume-edu__spec {
font-size: 0.92rem;
color: var(--text-muted);
}
.resume-additional h3 {
margin: 1rem 0 0.35rem;
font-size: 1rem;
font-weight: 600;
color: var(--text);
}
.resume-additional ul {
margin: 0.25rem 0;
padding-left: 1.25rem;
color: var(--text-muted);
font-size: 0.92rem;
}
.resume-additional li + li {
margin-top: 0.25rem;
}
.resume-about {
margin: 1rem 0;
font-size: 0.92rem;
color: var(--text-muted);
}
</style>
</head>
<body>
{{> header-minimal}}
{{> fab-stack-home-contact}}
<main id="main" class="section section--surface section--tight">
<div class="section__inner resume-doc">
<div class="resume-header">
<img class="resume-photo" src="{{assetPrefix}}assets/index/me-transparentBG-1.webp" alt="Николай Мамадаев" width="120" height="120" />
<div>
<p class="hero__eyebrow">Резюме</p>
<h1 class="case-page__h1">Николай Мамадаев</h1>
<p class="section__prose"><strong>Зерокодер · Продуктовый дизайнер · Ведущий (Lead)</strong></p>
<p class="section__prose">Product Designer / Lead Designer</p>
</div>
</div>
<div class="resume-contacts">
<span>Калининград, Россия · Удалённо</span>
<span>Телефон: +7 (960) 294-24-05</span>
<span>Telegram: <a href="https://t.me/mamadaevv" target="_blank" rel="noopener">@mamadaevv</a></span>
<span>Email: <a href="mailto:nik@mamadaevv.site">nik@mamadaevv.site</a></span>
<span>Сайт: <a href="https://mamadaevv.site" target="_blank" rel="noopener">mamadaevv.site</a></span>
<span>Хабр Карьера: <a href="https://career.habr.com/mamadaevv" target="_blank" rel="noopener">career.habr.com/mamadaevv</a></span>
</div>
<dl class="resume-meta">
<div>
<dt>Стаж</dt>
<dd>10 лет</dd>
</div>
<div>
<dt>Возраст</dt>
<dd>36 лет</dd>
</div>
<div>
<dt>Готовность к работе</dt>
<dd>готов к удалённой работе</dd>
</div>
<div>
<dt>Зарплатные ожидания</dt>
<dd>от 270 000 ₽</dd>
</div>
</dl>
<h2 id="profile">О себе</h2>
<p class="section__prose resume-about">
В дизайне я более 10 лет, последние годы занимаюсь продуктовым дизайном. Работаю на стыке дизайна и продукт-менеджмента: провожу исследования, формулирую гипотезы и фичи, помогаю с приоритизацией задач и участвую в планировании релизов.
</p>
<p class="section__prose resume-about">
Для работы с дизайном интерфейсов использую Figma: в ней собираю прототипы, экраны и дизайн-системы, а затем передаю макеты в разработку. Собрал приватный плагин на базе ИИ для решения части рутинных задач.
</p>
<p class="section__prose resume-about">
Для работы с графикой использую AI-сервисы, когда нужно с нуля создать иллюстрацию, обложку или промо-картинку, а также быстро отредактировать или доработать существующие изображения.
</p>
<p class="section__prose resume-about">
Ежедневно использую Perplexity и Hermes как универсальный рабочий инструмент: для ресёрча, идей по продукту и интерфейсам, подготовки текстов, разбора личных задач и работы с собственными данными.
</p>
<h2 id="experience">Опыт работы</h2>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">Primo RPA</p>
<p class="resume-exp__role">UI/UX дизайнер (Ведущий) · Дизайнер графических интерфейсов и проектировщик пользовательского опыта</p>
<p class="resume-exp__period">Февраль 2023 — Ноябрь 2025 (2 года и 10 месяцев) · Москва / удалённо</p>
</div>
<p class="resume-exp__desc">В настоящее время моя работа охватывает продукты:</p>
<ul>
<li><strong>Студия</strong> (Windows и Linux) — среда для разработки и отладки роботов для автоматизации бизнес-процессов. Сфера RPA.</li>
<li><strong>Оркестратор</strong> (Веб) — обеспечивает слаженную работу системы и управление сотнями роботов: запуск в конкретное время или по определённому сценарию.</li>
<li><strong>Idea Hub</strong> (Веб) — обеспечивает сбор и анализ предложений, оценка эффективности и мониторинг статуса реализации задачи. Аналитика по ключевым показателям эффективности и верхнеуровневый взгляд на роботизацию.</li>
<li><strong>AI Server</strong> (Веб) — интеллектуальная среда для обучения и использования алгоритмов ИИ в процессах роботизации. Готовый набор моделей для извлечения информации из документов различного типа (Smart OCR).</li>
</ul>
<p class="resume-exp__desc">Среди достижений:</p>
<ul>
<li>Компания обновила внешний вид всех продуктов: компоненты стали современнее (в духе Windows 10 и 11), в Linux-версии появилась расширенная библиотека компонентов для фреймворка «Авалония», везде перешли на векторную графику.</li>
<li>В веб-сервисах перешли к единой дизайн-системе, которая сочетает фирменный стиль компании с новой структурой.</li>
</ul>
<p class="resume-exp__skills"><strong>Навыки:</strong> UI/UX дизайн, Figma Design, Проектирование интерфейсов, Исследование пользователя, Дизайн продукта, Wireframes, Дизайн иконок</p>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">Icons8</p>
<p class="resume-exp__role">UI/UX дизайнер</p>
<p class="resume-exp__period">Июль 2022 — Январь 2023 (7 месяцев)</p>
</div>
<ul>
<li>Делал дизайн интерфейса для редактора Lunacy. Оформлял в виде юзерфлоу и передавал разработчикам.</li>
<li>Делал сложные прототипы в Protopie.</li>
<li>Отрисовывал недостающие иконки.</li>
<li>Вносил предложения по улучшению функционала программы.</li>
</ul>
<p class="resume-exp__skills"><strong>Навыки:</strong> UI/UX дизайн, Прототипирование, Проектирование интерфейсов, Figma Design, Дизайн продукта, Дизайн иконок</p>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">MANU Video Game Maker</p>
<p class="resume-exp__role">Team Lead Product Team</p>
<p class="resume-exp__period">Январь 2019 — Декабрь 2021 (3 года) · Москва</p>
</div>
<ul>
<li>Сделал масштабный редизайн всей программы. Создал интерфейс с абсолютно новой концепцией работы и стилистикой. Получили массу положительных (местами восторженных) отзывов от пользователей.</li>
<li>Спроектировал поведение интерфейса для более чем сотни сложных пользовательских сценариев.</li>
<li>Спроектировал дизайн-систему.</li>
<li>Составил портреты потенциальных пользователей, делал карты эмпатии.</li>
<li>Занимался исследованием пользователей (наблюдение, интервью и опросы).</li>
<li>Работал с аналитикой и сбором продуктовых метрик.</li>
<li>Прособеседовал и набрал в продуктовый отдел новых специалистов. Стал тимлидом отдела.</li>
<li>Сверстал главную страницу сайта на Tilda. Проектировал информационную архитектуру сайта вместе с командой.</li>
<li>Принимал активное участие в построении рабочих процессов всей команды продукта.</li>
<li>Использовал инструменты автоматизации (Integromat, Zapier) для решения внутренних задач.</li>
<li>Курировал работы по созданию пользовательской документации.</li>
</ul>
<p class="resume-exp__skills"><strong>Навыки:</strong> Построение команды, Agile, UI/UX дизайн, Figma Design, Дизайн продукта, Проектирование интерфейсов, Исследование пользователя</p>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">Серафим</p>
<p class="resume-exp__role">UI/UX дизайнер</p>
<p class="resume-exp__period">Октябрь 2017 — Декабрь 2018 (1 год и 3 месяца) · Сочи</p>
</div>
<ul>
<li>Занимался разработкой дизайна кроссплатформенного мессенджера для платформ: Android, iOS, MacOS, Windows, Linux.</li>
<li>Контролировал процесс работы с зарубежными иллюстраторами по подготовке графических материалов.</li>
</ul>
<p class="resume-exp__skills"><strong>Навыки:</strong> UI/UX дизайн, Проектирование интерфейсов, Дизайн мобильных приложений, Прототипирование, Дизайн иконок, Sketch, Арт-директинг, Дизайн лендингов</p>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">Orion Innovation (ex MERA)</p>
<p class="resume-exp__role">UI/UX дизайнер</p>
<p class="resume-exp__period">Июль 2016 — Октябрь 2017 (1 год и 4 месяца) · Нижний Новгород</p>
</div>
<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>
<p class="resume-exp__skills"><strong>Навыки:</strong> UI/UX дизайн, Веб-дизайн, Проектирование интерфейсов, Дизайн мобильных приложений, Sketch, Адаптивный дизайн, Дизайн иконок</p>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">SpaceshipApps</p>
<p class="resume-exp__role">UI/UX дизайнер</p>
<p class="resume-exp__period">Июнь 2015 — Июнь 2016 (1 год и 1 месяц) · Москва</p>
</div>
<p class="resume-exp__desc">Разрабатывал дизайн для:</p>
<ul>
<li>Мобильного приложения социальной игры с квестами в реальном мире.</li>
<li>Мобильного приложения для записи к специалистам (маникюр, стрижка и т.п.).</li>
<li>Мобильного приложения для заказа еды.</li>
<li>Мобильной игры на подобии игры в слова, игрок мог голосом играть с ботом.</li>
<li>Сайт и админка для сервиса регистрации авторского права.</li>
<li>Мобильная «белая доска» для коллаборативной работы.</li>
</ul>
<p class="resume-exp__skills"><strong>Навыки:</strong> UI/UX дизайн, Дизайн мобильных приложений, Адаптивный дизайн, Проектирование интерфейсов, Adobe Photoshop, Веб-дизайн, Adobe Illustrator, Дизайн иконок</p>
</div>
<h2 id="skills">Профессиональные навыки</h2>
<p class="section__prose">
Работа в команде · Бережливый стартап · Управление проектами · Управление людьми · Построение команды · Kanban · UI/UX дизайн · Проектирование интерфейсов · Дизайн мобильных приложений · Дизайн продукта
</p>
<h2 id="communities">Участие в профессиональных сообществах</h2>
<div class="resume-communities">
<div class="resume-community">
<p class="resume-community__name">Хабр Q&A</p>
<p class="resume-community__period">Январь 2015 — по наст. время (11 лет и 7 месяцев)</p>
<p class="resume-community__desc">@MIkola35: 46 ответов, 27 вопросов, отвечает по темам: Usability & UX, Дизайн, Макеты и прототипы, Графика, Управление задачами, SMM, Мобильная разработка, Time management, Android, Управление проектами.</p>
</div>
<div class="resume-community">
<p class="resume-community__name">GitHub</p>
<p class="resume-community__period">Март 2013 — по наст. время (13 лет и 5 месяцев)</p>
<p class="resume-community__desc">@Mikola35: 107 вкладов в 12 репозиториев, связан с языками: TypeScript, HTML, CSS.</p>
</div>
<div class="resume-community">
<p class="resume-community__name">Dribbble</p>
<p class="resume-community__period">Май 2013 — по наст. время (13 лет и 3 месяца)</p>
<p class="resume-community__desc">@mamadaevv: 15 работ, 45 подписчиков, размещает работы в темах: ui, design, figma, cards, interface, concept, mobile, dashboard, desktop, sketch.</p>
</div>
</div>
<h2 id="languages">Языки</h2>
<p class="section__prose">Английский (B1)</p>
<h2 id="additional">Дополнительно</h2>
<div class="resume-additional">
<h3>Навыки для Алисы</h3>
<ul>
<li>В свободное время занимаюсь созданием навыков: Чудики-повторюшки (>37К пользователей), Время сделать выбор (>3K пользователей), Весёлые Считалочки (>33K пользователей) и другие.</li>
<li>Выступал с докладом по настройке аналитики в навыках на митапе от Яндекса.</li>
</ul>
<h3>Хакатоны</h3>
<ul>
<li>Хакатон от Яндекс.Деньги в Санкт-Петербурге — победа за мобильное приложение по оплате через QR-код.</li>
<li>Хакатон в Ростове-на-Дону — маркетплейс для продажи цифровых товаров.</li>
</ul>
<h3>Автоматизации</h3>
<ul>
<li>Использую n8n для связки сервисов, логики Telegram-ботов и работы с REST API, а также PostgreSQL как хранилище и источник данных.</li>
</ul>
<h3>Ресурсы для дизайнеров</h3>
<ul>
<li>Файл «Slider Set» скачали более 20K раз.</li>
<li>Профиль в <a href="https://www.figma.com/community/user/..." target="_blank" rel="noopener">Figma Community</a>.</li>
<li>Канал в Telegram «Дизайн не пицца».</li>
</ul>
</div>
</div>
</main>
{{> footer}}
{{> cookie-notice}}
</body>
</html>
-514
View File
@@ -1,514 +0,0 @@
<!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>Резюме 3 — Николай Мамадаев</title>
{{> head-links}}
<style>
.resume-doc {
max-width: 48rem;
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;
flex-direction: row-reverse;
justify-content: flex-end;
}
.resume-photo {
width: 120px;
height: 120px;
border-radius: var(--radius-sm);
object-fit: cover;
border: 2px solid var(--line);
flex-shrink: 0;
}
@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 0.75rem;
font-size: clamp(1.15rem, 2vw, 1.35rem);
font-weight: 700;
color: var(--text);
}
.resume-doc .section__prose + .section__prose {
margin-top: 0.75rem;
}
.resume-doc .section__prose a {
color: var(--accent);
}
.resume-contacts {
display: flex;
flex-wrap: wrap;
gap: 0.25rem 1.5rem;
margin: 0.75rem 0 1.5rem;
font-size: 0.92rem;
color: var(--text-muted);
}
.resume-contacts span {
white-space: nowrap;
}
.resume-contacts a {
color: var(--accent);
}
.resume-meta {
display: grid;
grid-template-columns: 1fr 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: 1fr;
}
}
.resume-meta dt {
font-weight: 600;
color: var(--text);
}
.resume-meta dd {
margin: 0;
}
.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-exp__header {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: baseline;
gap: 0.5rem;
margin-bottom: 0.75rem;
}
.resume-exp__company {
font-weight: 700;
font-size: 1.1rem;
color: var(--text);
}
.resume-exp__period {
font-size: 0.85rem;
color: var(--text-muted);
}
.resume-exp__role {
font-style: italic;
color: var(--text-muted);
font-size: 0.92rem;
margin-bottom: 0.75rem;
}
.resume-exp__section {
margin: 0.75rem 0;
}
.resume-exp__section-title {
font-weight: 600;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--accent);
margin-bottom: 0.35rem;
}
.resume-exp ul {
margin: 0;
padding-left: 1.25rem;
color: var(--text-muted);
font-size: 0.92rem;
}
.resume-exp li + li {
margin-top: 0.25rem;
}
.resume-exp__effect {
background: color-mix(in srgb, var(--accent) 8%, var(--surface));
border: 1px solid color-mix(in srgb, var(--accent) 20%, var(--line));
border-radius: var(--radius-sm);
padding: 0.75rem 1rem;
margin: 0.75rem 0 0;
font-size: 0.92rem;
color: var(--text);
}
.resume-exp__effect strong {
color: var(--accent);
}
.resume-skills {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
margin: 0.75rem 0;
}
@media (max-width: 32rem) {
.resume-skills {
grid-template-columns: 1fr;
}
}
.resume-skill {
font-size: 0.92rem;
}
.resume-skill__title {
font-weight: 600;
color: var(--text);
margin-bottom: 0.15rem;
}
.resume-skill__desc {
color: var(--text-muted);
}
.resume-communities {
margin: 0.75rem 0;
}
.resume-community {
margin: 0.75rem 0;
font-size: 0.92rem;
}
.resume-community__name {
font-weight: 700;
color: var(--text);
}
.resume-community__period {
font-size: 0.85rem;
color: var(--text-muted);
}
.resume-community__desc {
color: var(--text-muted);
margin-top: 0.25rem;
}
.resume-additional h3 {
margin: 1rem 0 0.35rem;
font-size: 1rem;
font-weight: 600;
color: var(--text);
}
.resume-additional ul {
margin: 0.25rem 0;
padding-left: 1.25rem;
color: var(--text-muted);
font-size: 0.92rem;
}
.resume-additional li + li {
margin-top: 0.25rem;
}
.resume-about {
margin: 1rem 0;
font-size: 0.92rem;
color: var(--text-muted);
}
</style>
</head>
<body>
{{> header-minimal}}
{{> fab-stack-home-contact}}
<main id="main" class="section section--surface section--tight">
<div class="section__inner resume-doc">
<div class="resume-header">
<img class="resume-photo" src="{{assetPrefix}}assets/index/me-transparentBG-1.webp" alt="Николай Мамадаев" width="120" height="120" />
<div>
<p class="hero__eyebrow">Резюме</p>
<h1 class="case-page__h1">Николай Мамадаев</h1>
<p class="section__prose"><strong>Зерокодер · Продуктовый дизайнер · Ведущий (Lead)</strong></p>
<p class="section__prose">Product Designer / Lead Designer</p>
</div>
</div>
<div class="resume-contacts">
<span>Калининград, Россия · Удалённо</span>
<span>Телефон: +7 (960) 294-24-05</span>
<span>Telegram: <a href="https://t.me/mamadaevv" target="_blank" rel="noopener">@mamadaevv</a></span>
<span>Email: <a href="mailto:nik@mamadaevv.site">nik@mamadaevv.site</a></span>
<span>Сайт: <a href="https://mamadaevv.site" target="_blank" rel="noopener">mamadaevv.site</a></span>
</div>
<dl class="resume-meta">
<div>
<dt>Стаж</dt>
<dd>10 лет</dd>
</div>
<div>
<dt>Возраст</dt>
<dd>36 лет</dd>
</div>
<div>
<dt>Готовность</dt>
<dd>удалённая работа</dd>
</div>
<div>
<dt>Ожидания</dt>
<dd>от 270 000 ₽</dd>
</div>
</dl>
<h2 id="profile">О себе</h2>
<p class="section__prose resume-about">
В дизайне более 10 лет, последние годы — продуктовый дизайн. Работаю на стыке дизайна и продукт-менеджмента: провожу исследования, формулирую гипотезы и фичи, помогаю с приоритизацией задач и участвую в планировании релизов. Использую Figma для прототипов, экранов и дизайн-систем. Собрал приватный AI-плагин для рутины. Ежедневно применяю Perplexity и Hermes для ресёрча, идей и работы с данными.
</p>
<h2 id="experience">Опыт работы</h2>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">Primo RPA</p>
<p class="resume-exp__period">Фев 2023 — Ноя 2025 · 2 года 10 мес</p>
</div>
<p class="resume-exp__role">Ведущий UI/UX дизайнер</p>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Обязанности</p>
<ul>
<li>Развитие UX/UI 4 продуктов: Studio (Windows/Linux), Orchestrator (Web), Idea Hub (Web), AI Server (Web)</li>
<li>Проведение пользовательских исследований и создание интерактивных прототипов</li>
<li>Поддержка UI-kit и обеспечение консистентности интерфейсов</li>
<li>Авторский надзор при внедрении решений в разработку</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Что сделал</p>
<ul>
<li>Обновил визуальный язык всех продуктов компании до уровня Windows 10/11</li>
<li>Расширил библиотеку компонентов для фреймворка «Авалония» в Linux-версии Студии</li>
<li>Перевёл все продукты на векторную графику для иконок и иллюстраций</li>
<li>Внедрил единую дизайн-систему для веб-сервисов</li>
</ul>
</div>
<div class="resume-exp__effect">
<strong>Эффект:</strong> Время разработки нового экрана сократилось на ~40% благодаря единой дизайн-системе. Обновлённые компоненты повысили удовлетворённость пользователей Студии (рост NPS на 18 пунктов). Конверсия в регистрацию после редизайна выросла на 22%.
</div>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">Icons8</p>
<p class="resume-exp__period">Июл 2022 — Янв 2023 · 7 мес</p>
</div>
<p class="resume-exp__role">UI/UX дизайнер</p>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Обязанности</p>
<ul>
<li>Дизайн интерфейса редактора Lunacy</li>
<li>Создание сложных прототипов в Protopie</li>
<li>Отрисовка иконок и proposal по функционалу</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Что сделал</p>
<ul>
<li>Спроектировал user flows для нового функционала редактора</li>
<li>Создал 50+ интерактивных прототипов для тестирования сценариев</li>
<li>Отрисовал 120+ иконок для обновления библиотеки</li>
</ul>
</div>
<div class="resume-exp__effect">
<strong>Эффект:</strong> Внедрённые решения сократили количество обращений в поддержку по новому функционалу на 35%. Обновлённые иконки повысили оценку визуальной составляющей в опросах пользователей на 12%.
</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__period">Янв 2019 — Дек 2021 · 3 года</p>
</div>
<p class="resume-exp__role">Team Lead Product Team</p>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Обязанности</p>
<ul>
<li>Масштабный редизайн продукта и создание новой концепции интерфейса</li>
<li>Проектирование 100+ пользовательских сценариев</li>
<li>Исследования пользователей (интервью, опросы, наблюдение)</li>
<li>Построение продуктовой команды и рабочих процессов</li>
<li>Курирование документации и автоматизация (Integromat, Zapier)</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Что сделал</p>
<ul>
<li>Провёл масштабный редизайн с нуля: новая концепция, стилистика и поведение интерфейса</li>
<li>Разработал дизайн-систему и создал портреты пользователей с картами эмпатии</li>
<li>Собеседовал и набрал 5 специалистов в продуктовый отдел</li>
<li>Сверстал сайт на Tilda и спроектировал его информационную архитектуру</li>
</ul>
</div>
<div class="resume-exp__effect">
<strong>Эффект:</strong> Рейтинг приложения вырос с 3.2 до 4.6 в магазинах. Количество активных пользователей увеличилось на 65% за первый год после редизайна. Время выполнения типового сценария сократилось на 28%.
</div>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">Серафим</p>
<p class="resume-exp__period">Окт 2017 — Дек 2018 · 1 год 3 мес</p>
</div>
<p class="resume-exp__role">UI/UX дизайнер</p>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Обязанности</p>
<ul>
<li>Дизайн кроссплатформенного мессенджера (Android, iOS, MacOS, Windows, Linux)</li>
<li>Контроль работы с зарубежными иллюстраторами</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Что сделал</p>
<ul>
<li>Спроектировал единый интерфейс для 5 платформ с учётом их особенностей</li>
<li>Координация работы 3 иллюстраторов над графическими материалами</li>
</ul>
</div>
<div class="resume-exp__effect">
<strong>Эффект:</strong> Приложение набрало 15K+ установок за первые 3 месяца. Консистентность интерфейса между платформами оценена пользователями на 4.5/5.
</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__period">Июл 2016 — Окт 2017 · 1 год 4 мес</p>
</div>
<p class="resume-exp__role">UI/UX дизайнер</p>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Обязанности</p>
<ul>
<li>Работа в отделе дизайна (до 8 человек): wireframes, UI, прототипы, презентации клиентам</li>
<li>Юзабилити тестирования и авторский надзор</li>
<li>Проектирование для смарт ТВ</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Что сделал</p>
<ul>
<li>Создал 8 дизайн-концепций для зарубежных клиентов</li>
<li>Провёл 12 юзабилити тестирований и внёс правки по результатам</li>
<li>Осуществлял авторский надзор над 3 проектами одновременно</li>
<li>Освоил смарт ТВ и выпустил приложение в магазин</li>
</ul>
</div>
<div class="resume-exp__effect">
<strong>Эффект:</strong> Приложение для смарт ТВ вошло в ТОП-20 в категории «Утилиты» в магазине Samsung Smart Hub. Удовлетворённость клиентов качеством дизайна — 95% по внутреннему опросу.
</div>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">SpaceshipApps</p>
<p class="resume-exp__period">Июн 2015 — Июн 2016 · 1 год 1 мес</p>
</div>
<p class="resume-exp__role">UI/UX дизайнер</p>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Обязанности</p>
<ul>
<li>Дизайн 6 мобильных приложений и веб-сервисов</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Что сделал</p>
<ul>
<li>Спроектировал интерфейсы для: социальной игры с квестами, сервиса записей, заказа еды, голосовой игры, сервиса авторского права, «белой доски»</li>
</ul>
</div>
<div class="resume-exp__effect">
<strong>Эффект:</strong> 6 проектов выпущены в срок. Приложение для заказа еды набрало 8K+ пользователей за первый месяц. Сервис авторского права вышел на 3 B2B-клиента.
</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, персоны, карты эмпатии, продуктовые метрики</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="communities">Профессиональные сообщества</h2>
<div class="resume-communities">
<div class="resume-community">
<p class="resume-community__name">Хабр Q&A · GitHub · Dribbble</p>
<p class="resume-community__desc">46 ответов на Хабре, 107 вкладов на GitHub (TypeScript, HTML, CSS), 15 работ на Dribbble. Активный участник дизайнерского сообщества с 2013 года.</p>
</div>
</div>
<h2 id="languages">Языки</h2>
<p class="section__prose">Английский (B1)</p>
<h2 id="additional">Дополнительно</h2>
<div class="resume-additional">
<h3>Навыки для Алисы</h3>
<ul>
<li>Создал 4 навыка с совокупной аудиторией 73K+ пользователей</li>
<li>Доклад по аналитике навыков на митапе Яндекса</li>
</ul>
<h3>Хакатоны</h3>
<ul>
<li>1 место — Яндекс.Деньги (оплата QR-кодом)</li>
<li>Маркетплейс цифровых товаров — хакатон Ростов-на-Дону</li>
</ul>
<h3>Автоматизации</h3>
<ul>
<li>n8n, REST API, PostgreSQL, Telegram-боты</li>
</ul>
<h3>Ресурсы для дизайнеров</h3>
<ul>
<li>«Slider Set» — 20K+ скачиваний</li>
<li>Канал «Дизайн не пицца»</li>
</ul>
</div>
</div>
</main>
{{> footer}}
{{> cookie-notice}}
</body>
</html>
-594
View File
@@ -1,594 +0,0 @@
<!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>Резюме 4 — Николай Мамадаев</title>
{{> head-links}}
<style>
.resume-doc {
max-width: 48rem;
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;
flex-direction: row-reverse;
justify-content: flex-end;
}
.resume-photo {
width: 120px;
height: 120px;
border-radius: var(--radius-sm);
object-fit: cover;
border: 2px solid var(--line);
flex-shrink: 0;
}
@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 0.75rem;
font-size: clamp(1.15rem, 2vw, 1.35rem);
font-weight: 700;
color: var(--text);
}
.resume-doc .section__prose + .section__prose {
margin-top: 0.75rem;
}
.resume-doc .section__prose a {
color: var(--accent);
}
.resume-contacts {
display: flex;
flex-wrap: wrap;
gap: 0.25rem 1.5rem;
margin: 0.75rem 0 1.5rem;
font-size: 0.92rem;
color: var(--text-muted);
}
.resume-contacts span {
white-space: nowrap;
}
.resume-contacts a {
color: var(--accent);
}
.resume-meta {
display: grid;
grid-template-columns: 1fr 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: 1fr;
}
}
.resume-meta dt {
font-weight: 600;
color: var(--text);
}
.resume-meta dd {
margin: 0;
}
.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-exp__header {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: baseline;
gap: 0.5rem;
margin-bottom: 0.75rem;
}
.resume-exp__company {
font-weight: 700;
font-size: 1.1rem;
color: var(--text);
}
.resume-exp__period {
font-size: 0.85rem;
color: var(--text-muted);
}
.resume-exp__role {
font-style: italic;
color: var(--text-muted);
font-size: 0.92rem;
margin-bottom: 0.75rem;
}
.resume-exp__desc {
color: var(--text-muted);
font-size: 0.92rem;
margin: 0.5rem 0;
}
.resume-exp__section {
margin: 0.75rem 0;
}
.resume-exp__section-title {
font-weight: 600;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--accent);
margin-bottom: 0.35rem;
}
.resume-exp ul {
margin: 0;
padding-left: 1.25rem;
color: var(--text-muted);
font-size: 0.92rem;
}
.resume-exp li + li {
margin-top: 0.25rem;
}
.resume-skills {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
margin: 0.75rem 0;
}
@media (max-width: 32rem) {
.resume-skills {
grid-template-columns: 1fr;
}
}
.resume-skill {
font-size: 0.92rem;
}
.resume-skill__title {
font-weight: 600;
color: var(--text);
margin-bottom: 0.15rem;
}
.resume-skill__desc {
color: var(--text-muted);
}
.resume-about {
margin: 1rem 0;
font-size: 0.92rem;
color: var(--text-muted);
}
</style>
</head>
<body>
{{> header-minimal}}
{{> fab-stack-home-contact}}
<main id="main" class="section section--surface section--tight">
<div class="section__inner resume-doc">
<div class="resume-header">
<img class="resume-photo" src="{{assetPrefix}}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>
<div class="resume-contacts">
<span>Портфолио: <a href="https://mamadaevv.site" target="_blank" rel="noopener">mamadaevv.site</a></span>
<span>Почта: <a href="mailto:nik@mamadaevv.site">nik@mamadaevv.site</a></span>
</div>
<dl class="resume-meta">
<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>
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Определил сценарии автоматизации на основе аудита собственного рабочего процесса: замерил, какие операции повторяются чаще всего и съедают больше всего времени</li>
<li>Спроектировал интерфейс плагина: панель, состояния обработки, обработка ошибок, работа с выделением</li>
<li>Собрал архитектуру взаимодействия с LLM: промпт-шаблоны, валидация ответа, повторные попытки</li>
<li>Довёл до рабочей версии самостоятельно, с помощью AI-ассистированной разработки</li>
<li>Веду плагин как продукт: собираю обратную связь, приоритизирую доработки, выпускаю обновления</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Автоматизировал 7 рутинных операций дизайн-процесса: нейминг слоёв, генерация контента для макетов, приведение текстов к тону продукта, локализация</li>
<li>Сократил время на подготовку макета к передаче в разработку примерно на 40%</li>
<li>Экономлю около 5 часов в неделю на операциях, которые раньше делал руками</li>
<li>Прошёл полный цикл продукта в одиночку: проблема → решение → реализация → эксплуатация</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Автоматизации и сервисы на n8n (личные проекты)</p>
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Проектирование логики сценариев: триггеры, ветвления, обработка ошибок, повторные запуски</li>
<li>Работа с PostgreSQL как хранилищем и источником данных для процессов</li>
<li>Интеграция внешних сервисов через REST API</li>
<li>Проектирование и запуск Telegram-ботов: сценарии диалога, состояния, интерфейс сообщений</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Собрал 12 рабочих сценариев автоматизации, закрывающих личные и рабочие рутины</li>
<li>Запустил 3 Telegram-бота с собственной продуктовой логикой и базой данных</li>
<li>Свёл разрозненные сервисы в единый процесс без единой строки ручной работы</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Пет-проекты на AI-ассистированной разработке</p>
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Продуктовое проектирование: формулировка проблемы, сценарии, интерфейс, приоритизация функций</li>
<li>Реализация фронтенда и логики с помощью AI-ассистентов</li>
<li>Развёртывание и поддержка работающих сервисов</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Довёл 5 идей до состояния работающего продукта, а не макета в Figma</li>
<li>Научился доводить гипотезу до проверяемого прототипа за 2–3 дня вместо нескольких недель ожидания разработки</li>
<li>Закрыл разрыв между дизайном и реализацией: теперь проверяю идеи в коде, а не только на макетах</li>
</ul>
</div>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">Primo RPA</p>
<p class="resume-exp__period">Февраль 2023 — Ноябрь 2025 (2 года и 10 месяцев)</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>
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Проектирование интерфейса управления моделями: обучение, запуск, тестирование, версионирование, мониторинг</li>
<li>Проработка сценариев работы с Smart OCR — извлечение данных из документов различных типов</li>
<li>Проектирование разметки документов и валидации результатов распознавания</li>
<li>Работа с состояниями долгих процессов: обучение модели, прогресс, ошибки, откат</li>
<li>Подготовка интерактивных прототипов и авторский надзор за реализацией</li>
<li>Проведение интервью с ML-инженерами и бизнес-пользователями для сверки моделей поведения</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Упаковал сложную ML-логику в интерфейс, понятный не только ML-инженеру, но и бизнес-аналитику без технического бэкграунда</li>
<li>Свёл работу с моделями к единому предсказуемому сценарию из 4 шагов вместо 9 разрозненных экранов</li>
<li>Сократил время настройки новой модели с 40 до 15 минут по результатам замеров на тестировании</li>
<li>Спроектировал интерфейс разметки документов, который снял 60% обращений в поддержку по этой теме</li>
<li>Провёл 8 юзабилити-сессий, по итогам переработал ключевой сценарий обучения модели</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Robot automation studio (Windows)</p>
<p class="resume-exp__desc">Среда для разработки и отладки роботов для автоматизации бизнес-процессов.</p>
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Проектирование интерфейса профессиональной desktop-IDE: рабочая область, панели инструментов, дерево процесса, отладчик</li>
<li>Развитие библиотеки компонентов и визуального языка продукта</li>
<li>Проработка сценариев отладки: точки останова, пошаговое выполнение, просмотр переменных</li>
<li>Проектирование работы с большими деревьями активностей и вложенностью</li>
<li>Работа в паре с разработкой по реализации компонентов, авторский надзор</li>
<li>Ведение регулярных дизайн-ревью внутри команды</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Обновил визуальный язык продукта до уровня Windows 10/11 — компоненты стали на поколение современнее</li>
<li>Переработал 80+ экранов и диалогов, приведя их к единой сетке и типографике</li>
<li>Собрал библиотеку из 140 компонентов, закрывшую 90% потребностей интерфейса</li>
<li>Перевёл иконки и часть иллюстраций на векторную графику: корректное отображение при любом масштабировании и DPI</li>
<li>Сократил время сборки нового экрана командой с 2 дней до 4 часов за счёт готовых компонентов</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Robot automation studio (Linux)</p>
<p class="resume-exp__desc">Среда для разработки и отладки роботов для автоматизации бизнес-процессов.</p>
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Адаптация дизайна Студии под Linux-версию на фреймворке Avalonia</li>
<li>Проектирование компонентов с учётом технических ограничений фреймворка</li>
<li>Синхронизация визуального языка между Windows- и Linux-версиями продукта</li>
<li>Совместная работа с разработкой над тем, что технически реализуемо в Avalonia, а что требует обходных решений</li>
<li>Подготовка спецификаций поведения компонентов для реализации</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Собрал расширенную библиотеку из 95 компонентов для Avalonia, которой в проекте не существовало до меня</li>
<li>Обеспечил единообразие продукта на двух платформах при разных технологических стеках</li>
<li>Сократил количество визуальных расхождений между версиями с нескольких десятков до единичных случаев</li>
<li>Дал команде Linux-версии готовый набор решений вместо дизайна каждого экрана с нуля</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Idea Hub Dashboard (Saas)</p>
<p class="resume-exp__desc">Обеспечивает сбор и анализ предложений сотрудников, оценка эффективности и мониторинг статуса реализации автоматизаций. Аналитика по ключевым показателям эффективности и верхнеуровневый взгляд на роботизацию.</p>
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Проектирование дашбордов и аналитических представлений по KPI роботизации</li>
<li>Проработка жизненного цикла идеи: подача → оценка → приоритизация → реализация → замер эффекта</li>
<li>Информационная архитектура раздела, работа с плотными таблицами, фильтрами и массовыми операциями</li>
<li>Проектирование ролевой модели: сотрудник, аналитик, руководитель</li>
<li>Подбор типов визуализации данных под конкретные управленческие вопросы</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Свёл верхнеуровневую аналитику и работу с конкретной идеей в один непрерывный сценарий без переключения между разделами</li>
<li>Спроектировал представление данных так, что руководитель видит эффект от роботизации без ручных выгрузок в Excel</li>
<li>Сократил путь от подачи идеи до её оценки с 6 шагов до 3</li>
<li>Спроектировал 12 виджетов аналитики, покрывающих основные вопросы заказчиков о ROI роботизации</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">Orchestrator Automation Management Tool (Saas)</p>
<p class="resume-exp__desc">Обеспечивает слаженную работу системы и управление сотнями роботов: запуски, мониторинг и менеджмент.</p>
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Проектирование интерфейса управления парком из сотен роботов: расписания, очереди, приоритеты, мониторинг</li>
<li>Проработка состояний и обработки ошибок при массовых запусках</li>
<li>Проектирование системы уведомлений и алертов о сбоях</li>
<li>Работа со сложными таблицами: сортировка, фильтрация, массовые действия, сохранённые представления</li>
<li>Прототипирование сложных сценариев для валидации до начала разработки</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Спроектировал управление сотнями объектов так, что оператор не теряется в масштабе: от общей картины до конкретного робота за 2 клика</li>
<li>Привёл сервис к единой дизайн-системе вместе с остальными веб-продуктами линейки</li>
<li>Сократил время реакции оператора на сбой робота с 12 до 4 минут за счёт переработанной системы алертов</li>
<li>Свёл 5 разных представлений списка роботов к одному настраиваемому</li>
</ul>
</div>
<div class="resume-exp__section">
<p class="resume-exp__section-title">QnA portal (WEB)</p>
<p class="resume-exp__desc">Площадка для постинга вопросов и получения ответов от службы поддержки</p>
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Проектирование сценариев публикации вопроса, ответа и поиска по накопленной базе знаний</li>
<li>Дизайн интерфейса портала на базе общей дизайн-системы компании</li>
<li>Проработка ролевой модели: пользователь, эксперт, служба поддержки, модератор</li>
<li>Проектирование механики поиска и подсказок похожих вопросов при публикации</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Запустил портал на готовых компонентах дизайн-системы за 3 недели вместо запланированных 8</li>
<li>Снизил нагрузку на поддержку примерно на 25% за счёт переиспользования уже данных ответов</li>
<li>Механика подсказок похожих вопросов сократила количество дублей на 45%</li>
<li>Обеспечил визуальную преемственность с продуктами линейки — портал не выглядит сторонним сервисом</li>
</ul>
</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__period">Июль 2022 — Январь 2023 (7 месяцев)</p>
</div>
<p class="resume-exp__desc">Графический редактор для работы над дизайном интерфейсов и прочих макетов. Аналог Sketch App и Figma.</p>
<div class="resume-exp__section">
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Проектирование интерфейса графического редактора: инструменты, панели свойств, работа с холстом и слоями</li>
<li>Оформление решений в виде юзерфлоу и передача разработчикам</li>
<li>Создание сложных интерактивных прототипов в Protopie для демонстрации поведения инструментов</li>
<li>Отрисовка недостающих иконок в стилистике продукта</li>
<li>Внесение предложений по улучшению функциональности редактора</li>
<li>Участие в обсуждениях продуктовых решений с командой</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Спроектировал 6 функциональных блоков редактора, включая работу с компонентами и стилями</li>
<li>Собрал 15+ прототипов в Protopie, что позволило отсечь неудачные решения до разработки</li>
<li>Часть моих предложений по функциональности вошла в релизы продукта</li>
<li>Отрисовал более 60 иконок, дополнивших системный набор редактора</li>
<li>Работал над продуктом для профессиональной аудитории дизайнеров, где требования к деталям интерфейса выше обычных</li>
</ul>
</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__period">Январь 2019 — Декабрь 2021 (3 года)</p>
</div>
<p class="resume-exp__desc">Игровой движок для создания видеоигр без написания кода.</p>
<div class="resume-exp__section">
<p class="resume-exp__desc">Обязанности:</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>
<p class="resume-exp__desc">Достижения:</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>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">Aegees Messenger</p>
<p class="resume-exp__period">Октябрь 2017 — Декабрь 2018 (1 год и 3 месяца)</p>
</div>
<p class="resume-exp__desc">Кроссплатформенный мессенджер с защищенным хранилищем и аудиозвонками.</p>
<div class="resume-exp__section">
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Дизайн мессенджера сразу под пять платформ: Android, iOS, macOS, Windows, Linux</li>
<li>Проработка сценариев защищённого хранилища и аудиозвонков</li>
<li>Проектирование сценариев регистрации, шифрования и восстановления доступа</li>
<li>Адаптация единой продуктовой логики под гайдлайны каждой платформы</li>
<li>Контроль работы зарубежных иллюстраторов по подготовке графических материалов</li>
<li>Подготовка материалов для магазинов приложений</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Выстроил единый визуальный язык продукта при соблюдении гайдлайнов пяти платформ одновременно</li>
<li>Спроектировал более 90 экранов в пяти платформенных вариантах</li>
<li>Обеспечил стабильный поток графических материалов от внешних подрядчиков без потери стилистики</li>
<li>Упростил сценарий защищённого хранилища так, чтобы им пользовались люди без технической подготовки</li>
<li>Работал в чувствительной области приватности и безопасности, где ошибка в интерфейсе стоит доверия пользователя</li>
</ul>
</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__period">Июль 2016 — Октябрь 2017 (1 год и 4 месяца)</p>
</div>
<p class="resume-exp__desc">Разработка ПО для внешних заказчиков.</p>
<div class="resume-exp__section">
<p class="resume-exp__desc">Обязанности:</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>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Провёл 10 сессий юзабилити-тестирования от написания сценария до внесения правок</li>
<li>Освоил новую для себя платформу Smart TV и довёл проект до успешной публикации в магазине приложений</li>
<li>Вёл коммуникацию с зарубежными заказчиками напрямую, без посредников</li>
<li>Активно участвовал в улучшении рабочего процесса дизайн-отдела компании</li>
<li>Прошёл полный цикл продуктового дизайна на 5 клиентских проектах</li>
</ul>
</div>
</div>
<div class="resume-exp">
<div class="resume-exp__header">
<p class="resume-exp__company">SpaceshipApps Studio</p>
<p class="resume-exp__period">Июнь 2015 — Июнь 2016 (1 год и 1 месяц)</p>
</div>
<p class="resume-exp__desc">Студия разработки мобильных приложений и сайтов.</p>
<div class="resume-exp__section">
<p class="resume-exp__desc">Обязанности:</p>
<ul>
<li>Дизайн мобильных и веб-продуктов в потоковом режиме студии</li>
<li>Работа с разными доменами: соцгейминг, бьюти-услуги, доставка еды, голосовые интерфейсы, легал-сервисы, коллаборативные инструменты</li>
<li>Адаптивный веб-дизайн и дизайн административных панелей</li>
<li>Отрисовка иконок и подготовка графики для проектов</li>
<li>Подготовка макетов к передаче в разработку</li>
</ul>
<p class="resume-exp__desc">Достижения:</p>
<ul>
<li>Выпустил 6 продуктов за год: геолокационная социальная игра с квестами в реальном мире, приложение записи к бьюти-специалистам, сервис доставки еды, голосовая игра со словами, сайт и админка сервиса регистрации авторского права, мобильная «белая доска» для совместной работы</li>
<li>Научился быстро входить в новую предметную область и держать качество при высоком темпе студии</li>
<li>Закрыл весь спектр задач: мобайл, веб, админ-панели, графика</li>
<li>Заложил базу для перехода от исполнительского дизайна к продуктовому</li>
</ul>
</div>
</div>
<h2 id="skills">Навыки</h2>
<p class="section__prose">Figma, AI, n8n, Rest API, HTML, CSS, JS, JTBD, UJM, KISS</p>
<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}}
{{> cookie-notice}}
</body>
</html>
-880
View File
@@ -1,880 +0,0 @@
<!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>Резюме 5 — Николай Мамадаев</title>
{{> head-links}}
<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>
{{> header-minimal}}
{{> fab-stack-resume}}
<main id="main" class="section section--surface section--tight">
<div class="section__inner resume-doc">
<div class="resume-header">
<img class="resume-photo" src="{{assetPrefix}}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}}
{{> cookie-notice}}
<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>
+732 -160
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -1,7 +1,7 @@
<aside class="cookie-notice glass-neutral" hidden data-cookie-notice>
<p class="cookie-notice__text">
Сайт использует cookie для комфортной работы. Подробнее — в
<a href="{{assetPrefix}}cookie-policy.html" data-cookie-policy-link>политике cookie</a>.
<a href="{{assetPrefix}}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>
+1 -1
View File
@@ -2,6 +2,6 @@
<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="{{assetPrefix}}cases/design-system/">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="{{assetPrefix}}cookie-policy.html">Политика cookie</a></span>
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="{{assetPrefix}}cases/design-system/">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="{{assetPrefix}}cookie-policy/">Политика cookie</a></span>
</div>
</footer>