# 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: "" # VKontakte profile — secondary channel to Telegram, surfaced alongside it in # CV contact rows and cover letter closings. vk: "https://vk.com/vbleroy" 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 аптек онлайн и кто прочитал оповещение и когда" - name: "Пет-проект — ИИ-планировщик меню на неделю (в разработке)" url: "" hero_metric: "Разрабатываю продукт в связке с ИИ-ассистентом: на практике осваиваю автономную работу ИИ-агента, оркестрацию нескольких субагентов и цикличное улучшение продукта по заранее описанным требованиям" # Optional: dashboard/demo URL with credentials # dashboard: # url: "" # password: "" compensation: target_range: "140 000 - 160 000+ ₽/мес на руки" # Your target total comp currency: "RUB" minimum: "140 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: "either" # email | phone | either — default "either" if omitted # Surfaced near the contact block in `/career-ops email` drafts and can inform # the CTA wording in `/career-ops contacto` and cover letter closings. note: "На связи в будни (13:00-14:00, после 18:00) и в выходные. Чтобы звонок прошёл максимально продуктивно, предлагаю сначала договориться о времени в Telegram (@vbleroy) или VK (vk.com/vbleroy)." # ── 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"