// data.jsx — fictional personas + shared step config

const PERSONAS = {
  maya: {
    id: "maya",
    name: "Maya Okonkwo",
    initials: "MO",
    role: "Full-stack AI Engineer",
    location: "Brooklyn, NY",
    headline: "I build inference systems that don't fall over.",
    bio: "Engineer working at the seam of model serving and product. Previously infrastructure at a Series-B vector DB. Now independent, taking on three retainers a year.",
    domains: ["mayaokonkwo.com", "mayaokonkwo.dev", "maya.engineer", "hireokonkwo.com", "okonkwo.studio"],
    sources: {
      github: "okonkwo-m",
      linkedin: "in/mayaokonkwo",
      twitter: "@mayadotpy",
      substack: "loadbearing.substack.com",
      resume: "Okonkwo_Maya_Resume.pdf",
    },
    projects: [
      { name: "vllm-gateway", tag: "open-source", stat: "3.2k stars", desc: "Drop-in proxy that adds streaming, retries, and per-tenant quotas to vLLM. Adopted internally at two YC AI companies." },
      { name: "Loadbearing", tag: "newsletter", stat: "11k readers", desc: "Weekly notes on operating LLMs in production — caching, eval drift, the boring parts." },
      { name: "Tessera", tag: "client work", stat: "Series A · 2025", desc: "Designed and shipped the inference layer for Tessera's enterprise search product. Cut p99 by 4×." },
      { name: "tinyeval", tag: "open-source", stat: "820 stars", desc: "A 400-line Python library for running offline LLM evals on CI. No SaaS. No telemetry." },
      { name: "Substrate residency", tag: "talk", stat: "Mar 2026", desc: "Closing keynote on the operational maturity gap between training and serving teams." },
    ],
    skills: ["Python", "Rust", "PyTorch", "vLLM", "Triton", "Kubernetes", "Postgres", "DuckDB", "Modal", "Cloudflare Workers"],
    positioning: [
      {
        id: "infra",
        headline: "Inference Infrastructure Engineer",
        sub: "For teams scaling LLM products past prototype",
        bio: "I make model serving boring. Six years building distributed systems, now focused on the inference layer — caching, batching, eval, observability. Open to retainer engagements with seed-to-Series-B AI companies.",
        audience: "AI startup CTOs · Platform leads",
        tone: "Direct, technical, calm",
        projects: ["vllm-gateway", "Tessera", "tinyeval"],
        recommended: true,
      },
      {
        id: "product",
        headline: "Product-minded AI Engineer",
        sub: "Bridging research output and shippable features",
        bio: "I sit in the gap between ML research and product. Comfortable owning a feature from prompt design to k8s rollout, with a bias toward simple systems and visible behavior.",
        audience: "Founding engineer roles · 11–80 person teams",
        tone: "Pragmatic, narrative-driven",
        projects: ["Tessera", "Loadbearing", "vllm-gateway"],
        recommended: false,
      },
      {
        id: "writer",
        headline: "Engineer & Writer on LLM Operations",
        sub: "Newsletter-led practice with selective consulting",
        bio: "I write Loadbearing, a weekly newsletter on operating LLMs in production, and take three to four retainer engagements a year. Speaking, advising, and the occasional deep audit.",
        audience: "Conference programmers · Platform decision-makers",
        tone: "Editorial, opinionated, generous",
        projects: ["Loadbearing", "Substrate residency", "tinyeval"],
        recommended: false,
      },
    ],
  },
  rohan: {
    id: "rohan",
    name: "Rohan Mehta",
    initials: "RM",
    role: "Product Designer",
    location: "Lisbon",
    headline: "Interfaces with weight, restraint, and a sense of humor.",
    bio: "Designer working on systems-heavy B2B products. Eight years across fintech, devtools, and one very strange logistics startup.",
    domains: ["rohanmehta.com", "rohan.design", "mehtastudio.com", "studio.rohan.work", "rm.studio"],
    sources: {
      github: "rohanmehta",
      linkedin: "in/rohanmehta",
      twitter: "@rohan_mehta",
      substack: null,
      resume: "Mehta_Rohan_CV.pdf",
    },
    projects: [
      { name: "Plaintext for Stripe", tag: "case study", stat: "2024", desc: "Rebuilt the developer-facing log explorer. 14 screens, six weeks, 38% drop in support tickets." },
      { name: "Helio Notes", tag: "side project", stat: "12k MAU", desc: "An opinionated notes app for working scientists. Built with two friends. Featured in MacStories." },
      { name: "Ledger v3", tag: "case study", stat: "2023", desc: "Lead designer on the third-generation books app at Mercury. Internal name: Ledger." },
    ],
    skills: ["Figma", "Framer", "Origami", "Swift UI", "Rive", "Brand systems", "Motion"],
    positioning: [
      { id: "studio", headline: "Independent Product Designer", sub: "B2B fintech and devtools, retainer-first", bio: "Eight years of work on systems-heavy interfaces. I take two retainer clients at a time and write about the craft on weekends.", audience: "Series A–C product orgs", tone: "Considered, evidence-led", projects: ["Plaintext for Stripe", "Ledger v3", "Helio Notes"], recommended: true },
      { id: "lead", headline: "Senior Product Design Lead", sub: "For 30–80 person teams", bio: "Looking for a lead role at a product-led B2B company. Comfortable owning a surface, growing a team, and writing the systems doc nobody wanted to write.", audience: "Hiring managers · Heads of design", tone: "Confident, structural", projects: ["Ledger v3", "Plaintext for Stripe"], recommended: false },
      { id: "writer", headline: "Designer & Essayist", sub: "Slow practice, public craft", bio: "I write essays on interface craft and take a small number of advisory engagements a year.", audience: "Founders · Design leaders", tone: "Editorial, slow", projects: ["Helio Notes", "Ledger v3"], recommended: false },
    ],
  },
  ellis: {
    id: "ellis",
    name: "Dr. Ellis Tanaka",
    initials: "ET",
    role: "Computational Biologist",
    location: "Boston",
    headline: "Machine learning for protein engineering.",
    bio: "Postdoc at the Broad. Building generative models for de novo binder design. Looking for an industry research position.",
    domains: ["ellistanaka.com", "tanaka.science", "ellis.bio", "etanaka.io", "tanakalab.org"],
    sources: {
      github: "etanaka",
      linkedin: "in/ellistanaka",
      twitter: "@etanaka_phd",
      substack: null,
      resume: "Tanaka_E_CV.pdf",
    },
    projects: [
      { name: "BinderFlow", tag: "preprint", stat: "Nature Methods · in review", desc: "A flow-matching architecture for protein-protein binder design with 3× the experimental success rate of prior SOTA." },
      { name: "Eval-Bind", tag: "open-source", stat: "PyPI", desc: "Standardized evaluation suite for binder design models. Used at three industry labs." },
      { name: "PhD Thesis", tag: "thesis", stat: "MIT, 2024", desc: "On the geometry of protein interfaces and what generative models actually learn." },
    ],
    skills: ["JAX", "PyTorch", "Rosetta", "AlphaFold", "Cryo-EM", "Molecular Dynamics", "Bayesian Inference"],
    positioning: [
      { id: "research", headline: "ML Research Scientist · Bio", sub: "Industry research roles in protein design", bio: "Postdoc-trained ML researcher with deep wet-lab fluency. Looking for industry research positions where the team owns the loop end-to-end.", audience: "Hiring scientists · Research leads", tone: "Rigorous, generous", projects: ["BinderFlow", "Eval-Bind"], recommended: true },
      { id: "academic", headline: "Computational Biologist", sub: "Faculty-track / academic profile", bio: "Postdoctoral researcher at the Broad. Publications, teaching, and software contributions in protein engineering.", audience: "Search committees · Collaborators", tone: "Formal, comprehensive", projects: ["BinderFlow", "PhD Thesis", "Eval-Bind"], recommended: false },
      { id: "founder", headline: "Technical Co-founder", sub: "Open to founding-team conversations", bio: "Considering founding-team roles at protein engineering companies with a serious wet-lab footprint.", audience: "VCs · Founder networks", tone: "Decisive, candid", projects: ["BinderFlow", "Eval-Bind"], recommended: false },
    ],
  },
};

const GOALS = [
  { id: "hired", label: "Get hired", sub: "Land a full-time role", icon: "briefcase" },
  { id: "freelance", label: "Get freelance clients", sub: "Build an inbound pipeline", icon: "handshake" },
  { id: "showcase", label: "Showcase projects", sub: "A clean home for the work", icon: "frame" },
  { id: "brand", label: "Build personal brand", sub: "Be known for something specific", icon: "compass" },
  { id: "fund", label: "Raise funding", sub: "Founder profile for investors", icon: "spark" },
  { id: "academic", label: "Academic profile", sub: "Research, papers, teaching", icon: "book" },
];

const SOURCES = [
  { id: "github", label: "GitHub", desc: "Connect repos and proof of work", required: false, color: "#0f0f0f" },
  { id: "resume", label: "Resume", desc: "Upload PDF, DOCX, TXT, or MD", required: false, color: "#7a5af8" },
  { id: "linkedin_pdf", label: "LinkedIn PDF", desc: "Upload exported LinkedIn profile PDF", required: false, color: "#0a66c2" },
  { id: "links", label: "Links", desc: "Add portfolio links, articles, demos", required: false, color: "#c95f3c" },
  { id: "image", label: "Portfolio picture", desc: "Upload your portrait or hero image", required: false, color: "#6f8f72" },
];

const DESIGNS = [
  { id: "editorial", label: "Editorial", sub: "Magazine, serif, restrained", best: "Writers, founders, operators" },
  { id: "terminal", label: "Terminal", sub: "Mono, dark, dense, technical", best: "Engineers, infra people" },
  { id: "studio", label: "Studio", sub: "Visual case studies, generous imagery", best: "Designers, creative directors" },
  { id: "operator", label: "Operator", sub: "One-page founder profile, metric-led", best: "Founders, BD leaders" },
  { id: "academic", label: "Academic", sub: "Publications-first, formal", best: "Researchers, faculty candidates" },
];

const TLD_PRICES = {
  ".com": 14, ".dev": 16, ".ai": 79, ".studio": 36, ".engineer": 48,
  ".io": 39, ".work": 12, ".design": 42, ".bio": 92, ".science": 32,
};

const STEPS = [
  { id: "landing", num: "00", label: "Landing", path: "/" },
  { id: "goal", num: "01", label: "Goal", path: "/goal" },
  { id: "connect", num: "02", label: "Connect", path: "/connect" },
  { id: "scan", num: "03", label: "Scan", path: "/scan" },
  { id: "direction", num: "04", label: "Direction", path: "/direction" },
  { id: "design", num: "05", label: "Design", path: "/design" },
  { id: "domain", num: "06", label: "Domain", path: "/domain" },
  { id: "checkout", num: "07", label: "Checkout", path: "/checkout" },
  { id: "publish", num: "08", label: "Publish", path: "/publish" },
  { id: "edit", num: "09", label: "Edit", path: "/edit" },
  { id: "auto", num: "10", label: "Auto-update", path: "/auto" },
  { id: "dashboard", num: "11", label: "Dashboard", path: "/dashboard" },
];

Object.assign(window, { PERSONAS, GOALS, SOURCES, DESIGNS, TLD_PRICES, STEPS });
