// Dados centralizados do site
const DATA = {
  services: [
    { num: "01", title: "Lab Builds", desc: "Produtos digitais que não existiam. Do zero ao deploy — stack, arquitetura, interface e a mágica no meio.", tags: ["web apps", "mobile", "APIs"], art: "{*}" },
    { num: "02", title: "Prediction Systems", desc: "Mercados de previsão, oráculos, simulações. Onde estatística vira interface. Já fizemos um — queremos fazer mais.", tags: ["markets", "oracles", "on-chain"], art: "σ²" },
    { num: "03", title: "Experimentos Científicos", desc: "Somos um laboratório. Aceitamos hipóteses absurdas se o problema for bom. Publicamos resultados.", tags: ["R&D", "whitepapers"], art: "λ" },
    { num: "04", title: "AI Plumbing", desc: "LLMs deixam de ser demo quando a plumbing funciona. Cuidamos de avals, retrieval, orquestração e do resto.", tags: ["RAG", "agents", "evals"], art: "∇" },
    { num: "05", title: "Design de Sistemas", desc: "Não é UI bonitinha — é o sistema inteiro pensado: tokens, componentes, documentação, mentalidade.", tags: ["design system", "DX"], art: "[/]" },
    { num: "06", title: "Consultoria Caótica", desc: "Seu time tá travado? A gente entra por 4 semanas, desmonta o problema, deixa tudo rodando e sai.", tags: ["audit", "strategy"], art: "?!" },
  ],

  projects: [
    { num: "001", title: "Oráculo", client: "Prediction Market", year: "2025", tags: "next.js · solidity · vercel", color: "#00ff88" },
    { num: "002", title: "Kernel", client: "Fintech stealth", year: "2025", tags: "rust · postgres · react", color: "#ff3ea5" },
    { num: "003", title: "Sinapse", client: "Instituto de pesquisa", year: "2024", tags: "python · d3 · webgl", color: "#ffc233" },
    { num: "004", title: "Rota Quebrada", client: "Mobility startup", year: "2024", tags: "react native · go · maps", color: "#00ff88" },
    { num: "005", title: "Segfault FM", client: "Podcast próprio", year: "2024", tags: "svelte · ffmpeg · whisper", color: "#ff3ea5" },
    { num: "006", title: "Diagrama", client: "Consultoria estratégica", year: "2023", tags: "figma plugin · typescript", color: "#ffc233" },
    { num: "007", title: "Voxel Garden", client: "Agência criativa", year: "2023", tags: "three.js · glsl", color: "#00ff88" },
    { num: "008", title: "Carteirinha", client: "Coletivo cultural", year: "2023", tags: "nfc · flutter · go", color: "#ff3ea5" },
  ],

  team: [
    { name: "Jefferson Bruno", role: "// founder / DEV", bio: "Começou com BASIC no 486 do tio. Hoje quebra produção com intenção. Gosta de compiladores e café azedo.", stats: [["anos", "14"], ["projetos", "87"], ["bugs*", "∞"]], ascii: makeAscii("J") },
    { name: "Matheus Silverio", role: "// founder / DEV", bio: "Desenha em Figma, escreve em React, discute em ASCII. Ex-arquiteto. Faz componentes que se desenham sozinhos.", stats: [["anos", "9"], ["ds", "5"], ["pixels", "7M+"]], ascii: makeAscii("M") },
    { name: "Luca Ferreira", role: "// founder / DEV", bio: "Escreveu um scheduler que ninguém mais entende (nem ele). Tem opiniões fortes sobre vi vs vim. Vence os dois.", stats: [["anos", "11"], ["cores", "128"], ["segfaults", "424"]], ascii: makeAscii("L") },
    { name: "Vini", role: "// PM / PO", bio: "Encontra CVE antes do café. Quebra o próprio código por esporte. Já reportou bug ceu.", stats: [["cves", "12"], ["bounty", "$$"], ["vibes", "low"]], ascii: makeAscii("V") },
    { name: "Gustavo Mota", role: "// DEV", bio: "Se existe um índice pra criar, ele já criou. Banco favorito: Postgres. Segundo favorito: Postgres.", stats: [["fps", "120"], ["easings", "33"], ["specs", "6"]], ascii: makeAscii("G") },
    { name: "Eduh", role: "// Dev / juninho explorado", bio: "explorado pelo matheus Se o deploy travou, ela já resolveu antes de você ver.", stats: [["anos", "18"], ["uptime", "99.99"], ["chaos", "yes"]], ascii: makeAscii("E") },
    { name: "Igor", role: "// DEV", bio: "explorado pelo matheus Se o deploy travou, ele já resolveu antes de você ver.", stats: [["anos", "8"], ["dbs", "9"], ["joins", "∞"]], ascii: makeAscii("I") },
    { name: "Samuel", role: "// DEV", bio: "Encontra CVE antes do café. Quebra o próprio código por esporte. Já reportou bug na NASA.", stats: [["cves", "12"], ["bounty", "$$"], ["vibes", "low"]], ascii: makeAscii("S") },
  ],

  process: [
    { n: "01", t: "Prelúdio", d: "1 semana bebendo café e ouvindo você. Mapeamos o problema, stakeholders, constraints. Nada de código ainda.", dur: "~1 semana" },
    { n: "02", t: "Hipótese", d: "Formulamos o produto como hipótese testável. Spec enxuta, riscos conhecidos, critérios de sucesso escritos.", dur: "~1 semana" },
    { n: "03", t: "Protótipo", d: "Figma + código em paralelo. A cada sexta você clica num thing que funciona. Feedback em alta frequência.", dur: "2-4 semanas" },
    { n: "04", t: "Hardening", d: "Tests, observability, performance. O código vira software. Documentação escrita enquanto está fresco.", dur: "2-3 semanas" },
    { n: "05", t: "Deploy & Depois", d: "Lança. Monitora. Faz pós-mortem mesmo que dê certo. Handoff limpo ou parceria contínua — sua escolha.", dur: "contínuo" },
  ],

  clients: [
    "Ponta Fund", "Bruma Labs", "Quero!", "Instituto K.", "Odeon", "Trem Bala",
    "Salva!", "Nimbus", "Fundação 0xB", "Casa Verbo", "Mapas Vivos", "Corte",
  ],

  testimonials: [
    { quote: "Esperava um time. Recebi um boss fight. Em 6 semanas tinham desmontado algo que a gente travava há 2 anos.", author: "L. Moreira", role: "CTO, fintech stealth", initials: "LM" },
    { quote: "São esquisitos no bom sentido. Fazem pergunta que ninguém faz, entregam coisa que ninguém entrega. Contrataria de novo amanhã.", author: "B. Sampaio", role: "Head of Product, Ponta", initials: "BS" },
    { quote: "Vi o Loop explicar um scheduler com um guardanapo e uma caneta Bic. Fechamos na hora. Não me arrependo.", author: "T. Hideki", role: "Fundador, Bruma Labs", initials: "TH" },
    { quote: "Prometeram um protótipo em 3 semanas, entregaram em 2 e meia + um relatório de performance que a gente usa até hoje.", author: "A. Vilela", role: "Diretora, Instituto K.", initials: "AV" },
    { quote: "O design system deles virou religião interna. Meu time agradece toda sexta.", author: "R. Carneiro", role: "Design Lead, Odeon", initials: "RC" },
    { quote: "Eles quebram coisa com intenção. É incômodo e maravilhoso. É exatamente o que eu queria.", author: "M. Zago", role: "CEO, Quero!", initials: "MZ" },
  ],

  notes: [
    { date: "2026.03.12", title: "Por que terminamos um projeto no meio (e não foi ruim)", tag: "essay", rt: "9 min" },
    { date: "2026.02.28", title: "Prediction markets são só interfaces para opinião", tag: "R&D", rt: "14 min" },
    { date: "2026.02.04", title: "Nosso scheduler escreve logs em limerick — aqui está o porquê", tag: "engineering", rt: "7 min" },
    { date: "2026.01.17", title: "Avals de LLM não são tests — são experimentos", tag: "AI", rt: "11 min" },
    { date: "2025.12.30", title: "Retrospectiva anual: 87 bugs, 3 pets, 1 founder", tag: "studio", rt: "5 min" },
    { date: "2025.12.02", title: "Design tokens como tipos, não como variáveis", tag: "design", rt: "8 min" },
  ],

  roles: [
    { t: "Senior Design Engineer", where: "Remoto / BR", type: "Full-time" },
    { t: "Systems Engineer (Rust / Go)", where: "mundo / Híbrido", type: "Full-time" },
    { t: "Pesquisa em Prediction Markets", where: "Remoto", type: "Contrato 6m" },
    { t: "Estágio em Platform Engineering", where: "mundo", type: "Estágio" },
    { t: "Open application", where: "Mande um e-mail estranho", type: "?" },
  ],
};

function makeAscii(ch) {
  // gera um bloquinho ASCII com a letra + padrão
  const pats = [
    "╔══╗\n║ "+ch+" ║\n║░░║\n╚══╝",
    "┌──┐\n│"+ch+" ·│\n│··│\n└──┘",
    "▓▓▓▓\n▓ "+ch+" ▓\n▓▒▒▓\n▓▓▓▓",
    "╭──╮\n│ "+ch+"│\n│◦◦│\n╰──╯",
    "┏━━┓\n┃ "+ch+"┃\n┃··┃\n┗━━┛",
    "◢██◣\n█ "+ch+" █\n█░░█\n◥██◤",
    "┌◆◆┐\n◆ "+ch+"◆\n◆··◆\n└◆◆┘",
    "░░░░\n░ "+ch+"░\n░▒▒░\n░░░░",
  ];
  return pats[Math.abs(ch.charCodeAt(0)) % pats.length];
}

window.DATA = DATA;
