Files
career-ops-vbleroy/config/profile.yml
T
redlineo d295c7f139
Release Please / release-please (push) Failing after 4m2s
Web CI / web typecheck + build (push) Successful in 3m39s
CodeQL Analysis / Analyze (javascript-typescript) (push) Failing after 1h1m49s
CodeQL Analysis / Analyze (go) (push) Failing after 1h1m49s
init
2026-07-13 10:14:00 +03:00

212 lines
12 KiB
YAML

# Career-Ops Profile Configuration
# Copy this file to config/profile.yml and fill in your details.
# This is the single source of truth for your personal data across all modes.
candidate:
full_name: "Романова Валерия Вячеславовна"
email: "vbleroy@yandex.ru"
phone: "+7 (950) 906-61-62"
# Telegram — основной канал связи для этого рынка
telegram: "@vbleroy"
# Optional. Used by `/career-ops email` contact blocks in markets where WeChat
# is an expected recruiting channel. Omit or leave blank if not applicable.
wechat: ""
location: "Тула, Россия"
linkedin: ""
portfolio_url: ""
github: ""
twitter: ""
# Optional profile photo for the PDF CV (opt-in, #264). Leave empty to omit it
# entirely: US/UK and many-market ATS penalize photos, so the photoless layout
# is the default. Set it only for DACH/European markets (Germany, Austria,
# Switzerland) where a professional photo is expected. Use a local file path or
# a data: URL — the PDF renderer inlines local images.
photo: ""
target_roles:
# Your North Star roles — what you're optimizing for
primary:
- "Frontend Developer (Vue.js)"
- "Vue.js Developer"
# Archetypes help the evaluation system score fit
archetypes:
- name: "Frontend Developer (Vue.js)"
level: "Middle"
fit: "primary" # primary = dream role, secondary = good fit, adjacent = stretch
- name: "Mobile Developer (Flutter)"
level: "Middle"
fit: "secondary"
- name: "Fullstack Developer (Vue + Node.js)"
level: "Middle"
fit: "adjacent"
narrative:
# Your professional headline (1 line)
headline: "Frontend-разработчик (Vue 3 + Flutter) с опытом проектирования RBAC-авторизации"
# Your exit story — what makes you unique
exit_story: "Пришла в разработку из информационной безопасности — образование по защите информации даёт нестандартный для frontend-разработчика взгляд на модели доступа и авторизации."
# Your top 3-5 superpowers
superpowers:
- "Проектирование моделей авторизации (RBAC) на стыке frontend и ИБ-образования"
- "Веду 3 продукта одновременно: веб (Vue 3, с нуля), legacy-проект (Vue 3) и мобильное приложение (Flutter)"
- "Беру на себя дизайнерские задачи (UI-редизайн, app-иконки) в компании без штатного дизайнера"
- "Проактивно поднимаю вопросы приоритизации бэклога — стала участником стратегического планирования спринтов"
- "Внедрение процессов в команде (Git/GitLab, Feature Branching, версионирование, менторство)"
# Proof points — projects, articles, case studies with measurable impact
proof_points:
- name: "Здесь ЕКОМ — ролевая модель авторизации (RBAC)"
url: ""
hero_metric: "Спроектировала и объяснила бэкенд-команде модель ролей для ~20 пользователей в офисе с разграничением по отделам (логистика/заказы)"
- name: "Здесь ЕКОМ — график курьеров (vue-cal, drag-and-drop)"
url: ""
hero_metric: "Заменила ручной ввод расписания SQL-запросами разработчиков — теперь отдел логистики работает полностью самостоятельно"
- name: "Здесь ЕКОМ — список заказов с 9 фильтрами"
url: ""
hero_metric: "Заменила неудобные таблицы 1С; используется логистикой, клиентским отделом, техподдержкой и разработчиками"
- name: "«Здесь Аптека» — диагностика и фикс бага «Избранное»"
url: ""
hero_metric: "Нашла причину (загрузка одним запросом), реализовала постраничную загрузку — жалобы пользователей прекратились"
- name: "РМК — WebSocket-оповещения в реальном времени"
url: ""
hero_metric: "Впервые видно, сколько из ~1200 аптек онлайн и кто прочитал оповещение и когда"
# Optional: dashboard/demo URL with credentials
# dashboard:
# url: ""
# password: ""
compensation:
target_range: "100 000 - 120 000+ ₽/мес на руки" # Your target total comp
currency: "RUB"
minimum: "100 000 ₽/мес на руки" # Walk-away number
location_flexibility: "Удалённо (предпочтительно) или гибрид/офис в Туле, только дневной график. Переезд и командировки — нет."
location:
country: "Россия"
city: "Тула"
timezone: "GMT+3 (МСК)"
visa_status: "Гражданство РФ, разрешение на работу не требуется"
# For remote roles outside your country:
# onsite_availability: "1 week/month in any city"
# Русскоязычный рынок — используем русские режимы (modes/ru/) по умолчанию
language:
primary: ru
modes_dir: modes/ru
# Optional follow-up cadence preferences for `node followup-cadence.mjs`.
# CLI flags still win for one-off runs (for example `--applied-days 10`).
# followup_cadence:
# applied_first_days: 7
# applied_subsequent_days: 7
# applied_max_followups: 2
# responded_initial_days: 1
# responded_subsequent_days: 3
# interview_thankyou_days: 1
cv:
output_format: "html" # "html" (default) or "latex"
# (Optional) Canva resume design ID for visual CV generation via /career-ops pdf.
# Find it in your Canva design URL: https://www.canva.com/design/DAxxxxxxx/...
# The ID starts with "D" and is 11 characters long.
# canva_resume_design_id: "DAxxxxxxxxx"
# ── Cover Letter Settings ──────────────────────────────────────────────────
#
# Used by `/career-ops cover` and the cover letter sub-flow in `/career-ops pdf`.
# All fields are optional — omit any you don't need.
cover_letter:
# Your notice period in calendar days. Surfaced as a prompt default when the
# JD requests an immediate start. The user confirms the actual value before it
# appears in the letter.
notice_period_days: 30
# Your current professional domain (used to detect domain gaps vs the JD).
# Plain English, e.g. "digital media", "fintech", "healthcare IT".
primary_domain: "your current domain"
# Languages you are actively learning. Each entry MAY produce a closing
# sentence in that language IF the JD location matches one of the listed
# countries AND the user confirms inclusion during the cover letter flow.
# Remove the block entirely if not applicable.
language_learning:
- language: Spanish
current_level: B1
target_level: B2
target_date: "end of 2026"
# The sentence to include, written in that language. Keep it one line.
sentence: "Estoy aprendiendo español y espero alcanzar el nivel B2 a finales de 2026."
# Only trigger this entry when the JD location is in one of these countries.
countries: [Spain, Mexico, Argentina, Colombia, Chile]
# ── Contact Preferences ──────────────────────────────────────────────────────
#
# Used by `/career-ops contacto` (outreach CTA) and `/career-ops email` (contact
# block) to steer drafted messages toward how you actually want to be reached.
# Optional. Omit the whole block, or set preferred_channel to "either", to keep
# today's behavior unchanged (no channel steering).
#
# contact_preferences:
# preferred_channel: "email" # email | phone | either — default "either" if omitted
# # Optional. Surfaced near the contact block in `/career-ops email` drafts and
# # can inform the CTA wording in `/career-ops contacto`. Keep it one line.
# note: "Screens unknown numbers — please email or text first to schedule a call"
# ── Outreach / greeting ─────────────────────────────────────────────────────
#
# Used by the greeting variant of `/career-ops contacto` (the short first-touch
# message for BOSS Zhipin 打招呼, job-board chat, or a cold-email opener).
#
# greeting_max_chars is the hard character budget for that message. Default when
# the key is absent: 150 (BOSS Zhipin's greeting limit). Raise or lower it to
# match the platform you're messaging on.
# outreach:
# greeting_max_chars: 150
# ── Application Email Drafts ────────────────────────────────────────────────
#
# Used by `/career-ops email` when drafting formal application emails. This is
# separate from `contacto` short outreach and `cover` full cover letters.
# All fields are optional.
#
# application_email:
# include_contact_block: true
# include_attachment_checklist: true
# # Use this when you want the email body to say "the email used to send this
# # message" instead of printing a concrete email address from candidate.email.
# # default_sender_note: "the email used to send this message"
# # signature_name: "Романова Валерия"
# ── Auto-PDF threshold ──────────────────────────────────────────────────────
#
# Auto-PDF threshold during evaluation (used by `/career-ops pipeline` and
# `bash batch/batch-runner.sh`).
#
# An offer's tailored CV PDF is auto-generated only when its score is
# >= this threshold. Generating a PDF costs ~30-60s per offer (Playwright
# launch + HTML render), and most offers in a scan score 2.x/3.x and never
# become an actual application — so the gate avoids wasted renders.
#
# Default (key absent OR commented out): 3.0 — the original gate of
# `/career-ops pipeline`. Both evaluation paths apply the same default, so
# a batch run and an interactive run treat the same offer identically.
#
# Raise it (e.g. 4.0) to auto-generate PDFs only for stronger matches and
# leave the rest report-only — those can still be produced on demand via
# `/career-ops pdf {company-slug}`. Fractional thresholds work (e.g. 3.5 —
# half-point scores like 3.5/5 occur in evaluations). Set it to 0 to
# generate a PDF for every offer.
# auto_pdf_score_threshold: 4.0
# ── Re-apply Cooldown Windows ──────────────────────────────────────────────
#
# Define cooldown windows for companies where you've recently applied.
# The scanner will skip new postings at these companies during the window.
#
# re_apply_windows:
# CompanyA:
# same_role_days: 180
# cross_role_bucket: "all_EM_roles"
# applied_to: ["Senior Software Engineer"]
# last_apply_date: "2026-01-01"