// Anchor copy + content for all worlds.
// Exposed on window so other Babel scripts can read it.

const WORLDS = [
  {
    id: "projects",
    n: "01",
    title: "Projects",
    sub: "engineering · schematics",
    blurb: "Things I've built. Shipped, breaking, or quietly running on a server somewhere.",
    z: 0,       // closest plane
    hue: 30,    // amber
  },
  {
    id: "professional",
    n: "02",
    title: "Professional",
    sub: "the timeline · résumé spine",
    blurb: "Where I've been, in chronological order. From the first ticker to the current seat.",
    z: -1.6,
    hue: 70,    // warm amber-gold
  },
  {
    id: "creative",
    n: "03",
    title: "Creative",
    sub: "sticky whiteboard · in progress",
    blurb: "Pinned tiles, half-finished thoughts. More coming.",
    z: -3.2,
    hue: 200,   // cool teal
  },
  {
    id: "personal",
    n: "04",
    title: "Personal",
    sub: "mind-map · in progress",
    blurb: "A radial map of the off-screen me. Coming soon.",
    z: -4.8,
    hue: 260,   // cool indigo
  },
];

const ABOUT = {
  name: "Arihant Deva",
  tagline: "Finance + engineering.",
  bio:
    "I build research and trading systems for myself, and I write equity research the rigorous way. " +
    "Currently building Leviathan, an autonomous equity research platform. " +
    "Looking for the next seat where research rigor and engineering throughput compound.",
  linkedin: "linkedin.com/in/arihant-deva-44004629a",
};

const PROJECTS = [
  {
    id: "leviathan",
    part: "LVT-001",
    name: "Leviathan",
    kind: "Autonomous equity research platform",
    one: "An autonomous equity research platform. Details under wraps.",
    status: "SHIPPING",
    stack: ["— NDA"],
    inside: ["Internals withheld while the project is in active development."],
    beyond: [],
    data: ["—"],
    platform: ["—"],
    plate: "A",
  },
  {
    id: "jarvis",
    part: "JRV-002",
    name: "Jarvis",
    kind: "Local voice agent",
    one: "Wake-word voice assistant that runs entirely on-device.",
    status: "RUNNING",
    stack: ["Porcupine (wake)", "Silero VAD", "Whisper.cpp (STT)", "Ollama · llama3.1:8b", "Piper (TTS)"],
    inside: [
      "Voice Q&A",
      "“research <topic>” → generates a PDF research brief",
      "“suit up” → starts a soundtrack, opens leviathanterminal.com, attaches a tmux workstation",
    ],
    beyond: ["jarvis start / stop / status daemon"],
    data: ["All local — no cloud round-trip"],
    platform: ["On-device only"],
    plate: "B",
  },
  {
    id: "easyapply",
    part: "EAP-003",
    name: "EasyApply",
    kind: "Personal job-application automation",
    one: "Headless browser script that fills out internship applications across LinkedIn, Handshake, Indeed.",
    status: "PERSONAL",
    stack: ["Playwright · persistent contexts", "Claude Haiku"],
    inside: [
      "launch_persistent_context — one Chromium profile per site",
      "Claude Haiku fills free-text form fields",
      "Short cover-letter drafting from a resume + JD prompt",
    ],
    beyond: ["Built for myself, shared with a few friends. Not a product."],
    data: ["LinkedIn", "Handshake", "Indeed"],
    platform: ["Local CLI"],
    plate: "C",
  },
  {
    id: "inquire",
    part: "INQ-004",
    name: "Inquire",
    kind: "Tenant management platform",
    one: "Tenant intake + triage for small landlords. Tenants submit; AI triages urgency; landlords manage in one console.",
    status: "BETA",
    stack: ["Next.js 16", "React 19", "Drizzle ORM", "Neon Postgres", "NextAuth 5 (beta)", "Argon2", "Vercel"],
    inside: [
      "13-table data model",
      "AI-triage urgency · reasoning · tenant self-rating · admin override",
      "Inquiry messages + attachments",
      "Status events + audit log",
      "Password resets · debug emails · public-ref sequence",
    ],
    beyond: [
      "/portal (tenant) · /admin (landlord) · /accept-invite · /account",
      "Full auth flows + invitations",
    ],
    data: ["First-party"],
    platform: ["Vercel"],
    plate: "D",
  },
];

const TIMELINE = [
  {
    n: 1,
    era: "EARLY",
    title: "Started trading",
    body:
      "Got curious about markets as a teenager. Self-taught from filings, transcripts, and primary sources rather than influencers. Quiet, long compounding interest.",
  },
  {
    n: 2,
    era: "EARLY",
    title: "Niche conviction",
    body:
      "Built early conviction in a then-niche corner of markets. Spent years researching it before it was mainstream. Wrong often, right enough to keep going.",
  },
  {
    n: 3,
    era: "EARLY",
    title: "Drawdown → discipline",
    body:
      "Learned the hard way that conviction without risk management is just a story. A drawdown taught more than any course. Built checklists, position-sizing rules, and a “thesis-kill” file for every position.",
  },
  {
    n: 4,
    era: "SCHOOL",
    title: "Millburn High School",
    body:
      "Honors coursework, AP-heavy load in math, economics, and the sciences. Where the markets habit started turning into something more structured.",
  },
  {
    n: 5,
    era: "SCHOOL",
    title: "Investment Club — President",
    body:
      "Ran the club, restructured the pitch process, mentored younger members on building real DCFs instead of vibes-based price targets.",
  },
  {
    n: 6,
    era: "INTERN",
    title: "FinBotX — Quant/research intern",
    body:
      "Worked on systematic equity signals. First time touching production-grade backtesting infrastructure.",
  },
  {
    n: 7,
    era: "SCHOOL",
    title: "Rutgers Business School — Finance & Analytics",
    body:
      "Dean's List. Coursework in valuation, econometrics, accounting forensics.",
  },
  {
    n: 8,
    era: "WORK",
    title: "Independent quantitative research",
    body:
      "Built mean-variance portfolio optimization on the S&P 100 in Python (PyPortfolioOpt · cvxpy · scipy). Layered K-means preselection, GARCH(1,1) volatility via arch, covariance shrinkage, and weight-bounded constraints feeding the efficient frontier. Backtested through tail events (incl. the COVID drawdown) against equal-weight and proportional-weight baselines. Outputs: optimized weights, drawdown curves, Sharpe-maximized portfolios.",
    tags: ["PyPortfolioOpt", "cvxpy", "GARCH(1,1)", "K-means", "shrinkage"],
  },
  {
    n: 9,
    era: "PIVOT",
    title: "Independent research → Leviathan",
    body:
      "Realized a lot of sell-side research could be assembled more rigorously by a system. Started building.",
  },
  {
    n: 10,
    era: "NOW",
    title: "Leviathan",
    body:
      "An autonomous equity research platform, in active development. Details under NDA.",
    link: { label: "Open project plate →", to: "leviathan" },
  },
  {
    n: 11,
    era: "NEXT",
    title: "Looking for the next seat",
    body:
      "Targeting roles where research rigor and engineering throughput compound.",
  },
];

window.WORLDS = WORLDS;
window.ABOUT = ABOUT;
window.PROJECTS = PROJECTS;
window.TIMELINE = TIMELINE;
