// Data module — single source of truth for the portfolio content.

var TWEAKS = window.__TWEAKS_DEFAULTS || {
  accent: "#0F8E68",
  bentoDensity: "roomy",
  showSparkline: true,
  titleRotationMs: 2200
};

var PROFILE = {
  name: "Ana García",
  location: "Las Condes, Santiago",
  roles: ["Data Analyst", "Especialista en BI", "Experta en Automatización"],
  years: 3,
  summary:
    "Transformo datos en decisiones estratégicas. Más de 3 años diseñando dashboards, automatizando reportes y construyendo procesos ETL que le ahorran tiempo —y errores— a equipos que operan a escala.",
  email: "anahrnandz96@gmail.com",
  phone: "+56 9 5361 0037",
  availability: "Disponible — proyectos Q2/Q3 2026",
};

var HIGHLIGHTS = [
  {
    id: "reclamos",
    size: "xl", // 2x2
    kpi: { value: 35, suffix: "%", prefix: "−", label: "tiempo de reacción" },
    title: "Dashboard operativo · +25.000 reclamos",
    body:
      "Diseño y construcción de un dashboard consolidado que unifica +25.000 reclamos mensuales desde múltiples fuentes. Redujo el tiempo de reacción operativa en un 35% al exponer SLA, backlog y causas-raíz en una sola vista.",
    tags: ["Power BI", "SQL Server", "DAX", "SLA"],
    meta: "Caso destacado · retail",
  },
  {
    id: "automatizacion",
    size: "m", // 1x2
    kpi: { value: 12, suffix: "h", prefix: "", label: "ahorradas / semana" },
    title: "Automatización SQL + Excel",
    body:
      "Scripts de consolidación y macros que reemplazaron tareas manuales recurrentes. 12 horas semanales liberadas para análisis en lugar de data-wrangling.",
    tags: ["SQL", "VBA", "Excel Avanzado"],
  },
  {
    id: "etl",
    size: "m",
    title: "Procesos ETL · SQL Server · Backstore · Jarvis",
    body:
      "Pipelines de extracción y normalización entre SQL Server, Backstore y Jarvis. Datos conciliados a diario, trazables y listos para consumo analítico.",
    tags: ["ETL", "SQL Server", "Backstore", "Jarvis"],
    meta: "Infra",
  },
  {
    id: "standardization",
    size: "s",
    kpi: { value: 20, suffix: "%", prefix: "−", label: "errores de reporting" },
    title: "Estandarización de reporting",
    body:
      "Plantillas, métricas y naming unificados entre áreas. −20% errores en reportes publicados.",
    tags: ["Governance", "Looker Studio"],
  },
];

var STACK = [
  {
    group: "Lenguajes",
    items: [
      { name: "SQL", level: 95, note: "T-SQL · Window functions · CTEs" },
      { name: "Python", level: 80, note: "Pandas · Matplotlib" },
    ],
  },
  {
    group: "Visualización",
    items: [
      { name: "Power BI", level: 92, note: "DAX · RLS · Gateways" },
      { name: "Looker Studio", level: 85, note: "Blended sources" },
      { name: "Excel Avanzado", level: 90, note: "Power Query · VBA" },
    ],
  },
  {
    group: "Herramientas & Métodos",
    items: [
      { name: "Jenkins", level: 70, note: "CI de reportes" },
      { name: "Selenium", level: 65, note: "Scraping / QA" },
      { name: "AWS", level: 60, note: "S3 · RDS" },
      { name: "Scrum", level: 85, note: "Facilitación de ceremonias" },
    ],
  },
];

var EDUCATION = [
  {
    year: "2025",
    title: "Power BI 2025",
    org: "Curso especializado",
    kind: "course",
    detail: "DAX avanzado, modelado tabular, rendimiento.",
  },
  {
    year: "2024",
    title: "Diplomado en Inteligencia de Negocios",
    org: "Universidad / Postgrado",
    kind: "diploma",
    detail: "Gobierno de datos, arquitectura BI, visualización.",
  },
  {
    year: "2021",
    title: "Ingeniería en Informática",
    org: "Universidad",
    kind: "degree",
    detail: "Titulada con mención en sistemas de información.",
  },
  {
    year: "2018",
    title: "Técnico en Informática",
    org: "Instituto",
    kind: "technician",
    detail: "Base técnica en desarrollo y bases de datos.",
  },
];

// Rich data series for hero + bento charts
// SLA reaction time in hours — before vs. after dashboard rollout
var SLA_SERIES = [
  { m: "nov'24", before: 8.2, after: null },
  { m: "dic'24", before: 7.8, after: null },
  { m: "ene'25", before: 8.0, after: 7.9 },
  { m: "feb'25", before: null, after: 6.4 },
  { m: "mar'25", before: null, after: 5.5 },
  { m: "abr'25", before: null, after: 5.2 },
  { m: "may'25", before: null, after: 5.3 },
  { m: "jun'25", before: null, after: 5.1 },
];

// Reclamos por categoría (stacked composition)
var CLAIMS_BREAKDOWN = [
  { cat: "Entrega", value: 38 },
  { cat: "Producto", value: 26 },
  { cat: "Post-venta", value: 18 },
  { cat: "Facturación", value: 12 },
  { cat: "Otros", value: 6 },
];

// Errores de reporting — antes (baseline) vs. después (estandarizado)
var REPORT_SERIES = [
  { m: "ene", baseline: 22, actual: 22 },
  { m: "feb", baseline: 22, actual: 20 },
  { m: "mar", baseline: 22, actual: 17 },
  { m: "abr", baseline: 22, actual: 15 },
  { m: "may", baseline: 22, actual: 13 },
  { m: "jun", baseline: 22, actual: 12 },
  { m: "jul", baseline: 22, actual: 11 },
  { m: "ago", baseline: 22, actual: 10 },
];

Object.assign(window, { TWEAKS, PROFILE, HIGHLIGHTS, STACK, EDUCATION, REPORT_SERIES, SLA_SERIES, CLAIMS_BREAKDOWN });
