// Portfolio data — sourced from Connor's resume + provided info.
const DATA = {
  name: "CONNOR TAN",
  handle: "Copokemon",
  tagline: "SOFTWARE ENGINEER",
  bio: "I'm Connor, a first-year CS student at the University of Waterloo and a varsity fencer. I got into coding because I was forced to but now I enjoy building things and solving complex problems. Outside of school I'm usually working on a side project, picking up something new, or playing video games to pass the time. I'm early in my journey but I'm excited to build something that affects the entire world.",
  skills: ["Python", "JavaScript", "TypeScript", "React", "Node.js", "Express", "SQL", "Git"],
  champion: { name: "CAITLYN", title: "Sheriff of Piltover", image: "assets/caitlyn.png" },
  ugg: { handle: "Copokemon#cope", url: "https://u.gg/lol/profile/na1/Copokemon-cope/overview" },
  email: "connor.tan@uwaterloo.ca",
  github: "https://github.com/ConnorXTan",
  linkedin: "https://www.linkedin.com/in/connorxtan/",
  resumeUrl: "assets/Connor_Tan_Resume.pdf",
  photo: "assets/connor.jpg",

  experience: [
    {
      role: "Software Engineer",
      org: "Visfuture",
      dates: "Summer 2026",
      bullets: [
        "Incoming summer '26",
      ],
    },
  ],

  projects: [
    {
      name: "Cardly",
      featured: true,
      tags: ["React", "Node.js", "Express", "SQLite", "JWT", "bcryptjs"],
      desc: "A digital business card generator that turns a few quick prompts into a polished, shareable card. Sign in, fill out a guided flow, preview your card live, and send a link to anyone — no design work required.",
      link: { url: "https://github.com/ConnorXTan/cardly", label: "GitHub ↗" },
    },
    {
      name: "SparkSense",
      tags: ["JavaScript", "Node.js", "MongoDB", "Gemini API"],
      desc: "An early wildfire risk dashboard that turns weather and environmental data into a region-by-region risk score. Visualizes hotspots in real time and surfaces alerts before fires become catastrophic.",
      link: { url: "https://devpost.com/software/sparksense", label: "Devpost ↗" },
    },
    {
      name: "Short Circuit",
      tags: ["Unity", "C#"],
      desc: "A 2D platformer about a small robot navigating broken machinery, with tight controls and puzzle-style level design. Free to play on itch.io.",
      link: { url: "https://connortan.itch.io/short-circuit", label: "itch.io ↗" },
    },
    {
      name: "Detection Alerted",
      tags: ["Python", "Java", "Arduino", "Raspberry Pi"],
      desc: "A home motion-detection system that watches a space with a camera + sensors and pushes a notification the moment something moves. Designed for quick, reliable alerts on entryways and unattended rooms.",
    },
    {
      name: "PDF to Speech",
      tags: ["Python", "PyPDF2", "pyttsx3"],
      desc: "A small utility that reads any PDF out loud — drop in a file and listen instead of read. Useful for long documents, accessibility, or hands-free studying on the go.",
      link: { url: "https://github.com/ConnorXTan/PDF-To-Speech.python", label: "GitHub ↗" },
    },
  ],

  resume: {
    education: {
      school: "University of Waterloo",
      degree: "Bachelor of Computer Science",
      grad: "Expected Apr 2030",
      coursework: "Design of Functional Programs · Algorithm Design & Data Abstraction · Microeconomics",
    },
    skills: {
      "Languages":    ["Python", "Java", "C", "C#", "C++", "JavaScript", "TypeScript", "Racket"],
      "Frameworks":   ["React.js", "Node.js", "Express.js", "MongoDB", "Unity", "Arduino", "Pygame"],
      "Tools":        ["Git", "GitHub Actions", "Vercel", "Figma", "Visual Studio", "IntelliJ", "VS Code"],
    },
  },

  journal: [
    {
      image: "assets/journal_photos/image1.png",
      desc: "Went to my first concert ever and saw my good friend Abel.",
    },
    {
      image: "assets/journal_photos/image2.png",
      desc: "First day at Waterloo! Excited to learn.",
    },
    {
      image: "assets/journal_photos/image3.png",
      desc: "Favourite spot — top of PAC!",
    },
    {
      image: "assets/journal_photos/image4.png",
      desc: "Got to see one of my favourite artists, Lil Tecca — forgot to take photos…",
    },
    {
      image: "assets/journal_photos/image5.png",
      desc: "Went to the Distillery District — lots of yummy food.",
    },
    {
      image: "assets/journal_photos/image6.png",
      desc: "Finished up OUAs — team got first!",
      objectPosition: "center 18%",
    },
  ],

  patchNotes: [
    {
      version: "26.04",
      date: "Apr 2026",
      tag: "new",
      tagLabel: "NEW",
      title: "Shipped Cardly v1",
      body: "Wrapped the conversational onboarding flow, live preview, and auth. End-to-end on Node/Express + SQLite, deployed and ready for users.",
    },
    {
      version: "26.02",
      date: "Feb 2026",
      tag: "note",
      tagLabel: "WORK",
      title: "Joined Visfuture as a Software Engineer",
      body: "Started contributing to product engineering — picking up the stack quickly and shipping across frontend and backend.",
    },
    {
      version: "25.11",
      date: "Nov 2025",
      tag: "fix",
      tagLabel: "STUDY",
      title: "First-term coursework underway at UWaterloo",
      body: "Working through Functional Programs, Algorithm Design & Data Abstraction, and Microeconomics — and applying it to side projects.",
    },
    {
      version: "25.10",
      date: "Oct 2025",
      tag: "new",
      tagLabel: "LAUNCH",
      title: "Shipped this portfolio",
      body: "Built and deployed a personal site styled as a fantasy game launcher — every section lovingly hand-bracketed.",
    },
    {
      version: "25.09",
      date: "Sep 2025",
      tag: "note",
      tagLabel: "MILESTONE",
      title: "Wrapped up YFF Presidency",
      body: "Closed out 2.5 years leading Youth Future Foundation. $15K+ raised, 3,000+ youth reached, 15+ teammates mentored.",
    },
  ],
};

window.DATA = DATA;
