Статическое публичное портфолио Александра Попова для руководящих ролей в аналитике и BI.
Сайт: https://adikant.github.io/
Дополнительное портфолио для analyst/BI-позиций: https://adikant.github.io/analyst/
- запуск и развитие аналитической функции;
- управление командой, дорожной картой, бэклогом, приоритетами и качеством BI-решений;
- опыт в корпоративной отчетности, коммерческой аналитике, KPI и работе с бизнес-заказчиками;
- избранные кейсы Атом и Mars без суммирования финансовых эффектов между кейсами;
- архитектурный контекст BI и данных без раскрытия внутренних материалов.
- Hero
- Ключевые зоны ответственности
- Опыт
- Избранные кейсы
- Примеры дашбордов, только если есть опубликованный sandbox-пример
- Как организована работа аналитики
- Выступление и контакты
Верхняя навигационная планка не используется. Якоря секций и skip-link остаются в статическом HTML; пункт и раздел Дашборды появляются только при наличии хотя бы одного dashboardExamples со статусом published.
npm run build
npm run validate
python3 -m http.server 8080Открыть локально: http://127.0.0.1:8080
content.js- основной редактируемый слой: тексты, опыт, кейсы, dashboard-конфигурация, подход, архитектурная схема и контакты.scripts/build.mjs- статически генерируетindex.html, страницы кейсов,sitemap.xmlиrobots.txt.scripts/validate-content.mjs- проверяет структуру контента, ссылки, assets, SEO-базу, public-safety маркеры, dashboard gating и архитектурную схему.scripts/generate-demo-data.mjs- детерминированно генерирует безопасные синтетические CSV для будущих dashboard-примеров.index.html- сгенерированная статическая главная страница.cases/<slug>/index.html- сгенерированные статические страницы кейсов.script.js- только progressive enhancement: плавное появление блоков и будущая загрузка iframe по действию пользователя.styles.css- визуальная система, адаптивная верстка и обязательная пятиэтапная архитектурная схема.assets/docs/popov-resume.pdf- актуальное публичное резюме.assets/images/- публичные изображения и social preview. При смене позиционирования нужно обновлятьog-preview.svg, генерировать новыйog-preview-v*.pngс новым именем для сброса кеша мессенджеров и затем запускать build/validate.assets/icons/architecture/- локальные декоративные SVG для архитектурной схемы.analyst/- самостоятельный статический analyst/BI-вариант портфолио со своими HTML-резюме, PDF, стилями, скриптом и ассетами.materials for future dev/facts_to_confirm.md- локальный ignored-файл с вопросами по спорным фактам.codex-goal/,portfolio-goal/,memory-bank/archive/,demo-data/*.csv,__MACOSX/и.DS_Store- рабочие артефакты, не публичный контент.
- Изменить структурированные данные в
content.js. - Запустить
npm run build. - Запустить
npm run validate. - Проверить главную и страницы кейсов в локальном сервере.
Не редактировать вручную один и тот же текст в нескольких HTML-файлах. Если текст относится к кейсу, он должен жить в объекте cases в content.js.
Главные CTA берутся из content.hero.actions и content.contact.actions: Telegram, PDF-резюме и HeadHunter. Email не публикуется в HTML, JSON-LD, CTA и страницах кейсов.
Подсайт analyst/ хранится как отдельный готовый статический срез и не генерируется из content.js. Его PDF-резюме находится в analyst/assets/docs/popov-resume.pdf и не заменяет основное резюме в assets/docs/popov-resume.pdf.
- Добавить объект в
content.jsв массивcases. - Заполнить обязательные поля:
slug,company,period,title,lead,context,problem,task,role,actions,results,measurement,attribution,tools,evidence. - Убедиться, что результаты содержат значение, единицу, масштаб, пояснение и тип.
- Запустить
npm run buildиnpm run validate.
Страницы кейсов генерируются из того же объекта cases: отдельный HTML руками не правится. Нижние CTA на каждой странице кейса должны оставаться Написать в Telegram, Открыть резюме PDF, Резюме на HeadHunter.
- Создать draft-объект в
dashboardExamples. - Сгенерировать синтетические данные командой
npm run demo:data. - Собрать dashboard в отдельном публичном sandbox-контуре на полностью синтетических данных.
- Проверить превью, tooltip, фильтры, drill-down, исходные данные, ссылки, права доступа и отсутствие материалов работодателей.
- Добавить локальное превью, HTTPS
embedUrl, HTTPSfullScreenUrlиsyntheticDataNote. - Перевести статус в
review, затем вpublishedтолько после проверки. - Запустить
npm run buildиnpm run validate.
Чтобы снять пример с публикации, перевести статус из published в review или draft, удалить публичные URL из объекта, запустить build и validate. Секция, навигация, sitemap и страницы дашбордов исчезнут из публичной сборки при нуле published-примеров.
Схема обязательна внутри раздела Как организована работа аналитики. Она должна сохранять пять этапов:
Источники -> Обработка -> LakeHouse -> Serving -> Governance
Состав технологий меняется только после подтверждения фактов. На узких экранах горизонтальная прокрутка допустима только внутри контейнера схемы.
GitHub Pages публикует статические файлы из корня репозитория. Перед публикацией обязательно выполнить:
npm run build
npm run validateПосле изменения social preview и публикации отправить https://adikant.github.io/ в Telegram @WebpageBot, дождаться обновления карточки и затем заново вставить ссылку в чат.
Сайт не должен содержать внутренние ссылки, идентификаторы задач, адреса закрытых дашбордов, конфиденциальные скриншоты или непроверенные метрики. Спорные показатели убираются из публичного текста до подтверждения периода, территории, методики и права на публикацию.