// data.jsx — project + experience content (placeholder)

const PROJECTS = [
  {
    id: "p1",
    title: "Notability",
    kicker: "Notability \u00d7 Berkeley Innovation \u00b7 Product Design 2025",
    headline: "Designing AI That Helps Students Learn",
    cardTitle: "Personalizing Notability Learn",
    subtitle: "A personalized, accessible AI study experience for Notability Learn",
    discipline: "Product Design",
    year: "2025",
    role: "UX Researcher & Product Designer",
    timeline: "14 weeks · Fall 2025",
    team: "5 Designers",
    skills: ["UX Research", "Product Strategy", "Interaction Design", "AI Learning Experiences"],
    color: "#3b6ef5",
    tint: "#dbe6fb",
    hero: "assets/notability/ss-intro.png",
    heroBg: "#eef2fb",
    summary: "Notability asked our team to explore gamification for Notability Learn. Over 14 weeks, we researched how different students study and designed an adaptive learning system centered on meaningful progress rather than points, badges, or streaks.",
    blocks: [
      {"t":"head","id":"overview","nav":"Overview","eyebrow":"Overview","title":"How could Notability motivate students without turning learning into a game?","body":"Notability asked our team to explore gamification for Notability Learn. Over 14 weeks, we researched how different students study and designed an adaptive learning system centered on meaningful progress rather than points, badges, or streaks."},
      {"t":"media","label":"Final Study Sessions walkthrough","caption":"A short video showing a student selecting notes, generating goals, completing a focused session, and reviewing their progress.","ratio":"16 / 9"},
      {"t":"head","id":"problem","nav":"01 · Problem","eyebrow":"01 · Problem","title":"Notability Learn could do almost everything, but so could every other AI study tool.","body":"Learn already offered summaries, flashcards, transcripts, and AI chat. Competitive products provided many of the same features."},
      {"t":"text","body":"Adding another AI capability would not create a meaningful advantage. Notability needed to understand something generic tools could not: the student behind the material."},
      {"t":"media","label":"Competitive landscape","caption":"A focused comparison of Notability Learn, StudyFetch, Knowt, and other competitors. Highlight the shared features and the opportunity around adaptive learning.","ratio":"16 / 8"},
      {"t":"head","id":"research","nav":"02 · Research","eyebrow":"02 · Research","title":"Research overturned the original brief."},
      {"t":"text","body":["We collected ",["74 survey responses"]," and conducted interviews, a focus group, and diary studies across different subjects, learning preferences, and accessibility needs."]},
      {"t":"text","body":"Students wanted motivation, but rejected nearly every conventional way of providing it."},
      {"t":"list","items":["Streaks created pressure.","Badges felt childish.","Points rewarded activity instead of understanding.","Automatic answers made students question whether they were learning."]},
      {"t":"bigquote","text":"“I don’t want points. I want to know I’m actually getting better.”"},
      {"t":"text","body":["The brief asked for gamification. The research revealed a need for ",["evidence of progress"],"."]},
      {"t":"media","label":"Research summary","caption":"Three research findings connected directly to the product decisions they changed. Avoid showing an unedited affinity map.","ratio":"16 / 8"},
      {"t":"head","id":"opportunity","nav":"03 · Opportunity","eyebrow":"03 · Opportunity","title":"Progress could motivate students without becoming performative.","body":"We reframed the project around four principles:"},
      {"t":"points","cols":4,"items":[{"n":"01","title":"Active learning","desc":"Help students think."},{"n":"02","title":"Personalization","desc":"Understand how each student learns."},{"n":"03","title":"Trust","desc":"Use material the student has actually studied."},{"n":"04","title":"Progress","desc":"Show improvement without artificial rewards."}]},
      {"t":"text","body":"These principles became a filter for every concept, not a checklist added after designing."},
      {"t":"media","label":"Four product principles","caption":"Four concise cards with one supporting student quote or behavior under each principle.","ratio":"16 / 7"},
      {"t":"head","id":"exploration","nav":"04 · Exploration","eyebrow":"04 · Exploration","title":"Four directions survived research. Only one connected the system.","body":"We explored:"},
      {"t":"list","items":["Adaptive Learning Profiles","AI Visualizations","Reading Support","Study Sessions"]},
      {"t":"text","body":"We evaluated each direction based on student value, differentiation, and feasibility."},
      {"t":"text","body":"Study Sessions became the primary direction because it acted on all four principles while making meaningful progress visible."},
      {"t":"media","label":"Concept exploration","caption":"Early sketches or interface fragments for the four concepts.","ratio":"16 / 8"},
      {"t":"media","label":"Prioritization matrix","caption":"A simple matrix showing why Study Sessions scored highest across student value, differentiation, and feasibility.","ratio":"16 / 8"},
      {"t":"head","id":"solution","nav":"05 · Solution","eyebrow":"05 · Solution","title":"Study Sessions give studying a beginning, middle, and end.","body":"Instead of rewarding students for opening Notability, Study Sessions turn their own notes into a focused plan."},
      {"t":"step","n":"01","title":"Start with my material","body":"Learn identifies relevant content from the notes already open.","src":"assets/notability/ss-content.png","bg":"#f4f6fb"},
      {"t":"step","n":"02","title":"Help me decide what to do","body":"AI transforms that material into manageable learning goals instead of an unstructured chat.","src":"assets/notability/ss-goals.png","bg":"#f4f6fb"},
      {"t":"step","n":"03","title":"Keep me focused","body":"A lightweight timer adds structure without streaks, points, or artificial urgency.","src":"assets/notability/comp-timer.png","bg":"#f4f6fb"},
      {"t":"step","n":"04","title":"Show me what changed","body":"Session summaries connect progress to completed goals and understanding.","label":"Progress summary screen","ratio":"16 / 10"},
      {"t":"media","label":"Four-screen product flow","caption":"Show note selection, generated goals, the active session, and the progress summary in sequence.","ratio":"16 / 7"},
      {"t":"head","id":"iteration","nav":"06 · Iteration","eyebrow":"06 · Iteration","title":"The most important control lets students use less AI.","body":"Our early direction assumed that greater personalization required more AI assistance. Research showed that students sometimes wanted structure without having each step generated for them."},
      {"t":"text","body":"We added a toggle between AI-enhanced goals and a plain to-do list. Students could retain the session framework while controlling how much responsibility they delegated."},
      {"t":"text","body":"No competitor we reviewed offered an equally clear way to turn the AI down instead of up."},
      {"t":"media","label":"Before and after","caption":"Show the original AI-dependent flow beside the revised experience with manual and AI-assisted options.","ratio":"16 / 8"},
      {"t":"head","id":"system","nav":"07 · System","eyebrow":"07 · System","title":"Study Sessions became the foundation for different learning needs.","body":"The remaining concepts strengthened the core experience:"},
      {"t":"list","items":["Learning Profiles provide context about subjects and preferences.","AI Visualizations offer alternatives when text is insufficient.","Reading Support restructures difficult passages.","Study Sessions organize these tools around a specific learning goal."]},
      {"t":"media","label":"Product ecosystem","caption":"A system diagram showing Learning Profiles, Visualizations, and Reading Support feeding into Study Sessions.","ratio":"16 / 8"},
      {"t":"head","id":"outcome","nav":"08 · Outcome","eyebrow":"08 · Outcome","title":"We changed the scope from rewarding engagement to supporting growth.","body":"The final direction unified four research-backed concepts into an adaptive learning system centered on student autonomy."},
      {"t":"text","body":"Because this was a conceptual client engagement, we did not measure shipped-product outcomes. Our contribution was identifying a differentiated opportunity for Notability Learn and translating it into a coherent product strategy and prototype."},
      {"t":"img","src":"assets/notability/showcase.png","frame":true,"bg":"#eef2fb","caption":"The strongest three screens shown at a large scale with minimal annotation."},
      {"t":"head","id":"reflection","nav":"09 · Reflection","eyebrow":"09 · Reflection","title":"Research matters most when it changes the direction."},
      {"t":"text","body":"We began with a request to make studying more game-like. Following that brief literally would have produced features students actively disliked."},
      {"t":"text","body":"The harder and more valuable decision was abandoning the expected solution. This project taught me to treat a brief as a hypothesis rather than an answer and to use research to determine what the product should become."},
      {"t":"text","body":"It also changed how I approach AI design. The strongest learning tools do not complete the work for students. They provide structure, context, and alternative ways into difficult material while leaving the thinking to them."},
      {"t":"note","text":"Built with Berkeley Innovation for Notability alongside Cheyenne Paw, Mikayla Acosta, Grace Zhang, and Karen Pham."},
    ],
    sections: [
      { kind: "Problem", body: "Notability Learn treats every student the same, leaving learners with differences behind and burying trust under generic AI." },
      { kind: "Approach", body: "A six-method research sprint fed three personas and four design principles, which shaped four research-grounded AI features." },
      { kind: "Outcome", body: "A personalized, accessible redesign of Learn: unified Study Sessions, adaptive tutoring, and AI students can actually trust." },
    ],
  },
  {
    id: "asus",
    title: "ASUS ProArt",
    headline: "AI Autonomy in Creative Workflows",
    cardTitle: "AI Autonomy in Creative Workflows",
    subtitle: "AI Autonomy in Creative Workflows",
    discipline: "In progress \u00b7",
    year: "2026",
    role: "Product Manager",
    timeline: "Fall 2026\u2013Present",
    color: "#1f4fa3",
    tint: "#dde5f4",
    summary: "AI agents can streamline creative workflows, but too much automation can leave creators feeling disconnected from their work.",
    blocks: [
      { t: "head", id: "overview", nav: "Overview", eyebrow: "ASUS ProArt \u00b7 Product Manager \u00b7 Fall 2026\u2013Present",
        title: "AI Autonomy in Creative Workflows",
        body: "AI agents can streamline creative workflows, but too much automation can leave creators feeling disconnected from their work." },
      { t: "tags", items: ["In progress"] },
      { t: "text", body: "I\u2019m leading a team exploring how ProArt can reduce friction across fragmented creative tools while preserving user control. We\u2019re researching what creators are comfortable delegating, where they need transparency, and when an AI agent should step back." },
      { t: "note", label: "Currently:", text: " Conducting user research and translating findings into product opportunities for a transparent, creator-directed agentic workflow." },
    ],
  },
  {
    id: "p7",
    title: "Contexto",
    headline: "Finding Files by Context",
    cardTitle: "Reimagining Finder around context",
    subtitle: "Contexto \u00b7 UX Research & Product Design 2025",
    discipline: "UX Research & Product Design",
    year: "2025",
    role: "UX Researcher & Product Designer",
    timeline: "12 weeks \u00b7 Spring 2025",
    team: "4 Designers",
    skills: ["User Research", "Contextual Inquiry", "Interaction Design", "Prototyping"],
    color: "#1577b8",
    tint: "#d7e9f6",
    summary: "Over 12 weeks, we researched how students actually manage files and designed Contexto: a Finder concept that organizes files into Workspaces based on the projects and moments they belong to.",
    blocks: [
      { t: "head", id: "overview", eyebrow: "Overview",
        title: "How can Finder stay organized without requiring people to become organized?",
        body: "Students accumulate screenshots, duplicate downloads, outdated drafts, and poorly named files. Most organization tools respond by asking users to create and maintain a better folder system." },
      { t: "text", body: ["Over 12 weeks, we researched how students actually manage files and designed ", ["Contexto"], ": a Finder concept that organizes files into Workspaces based on the projects and moments they belong to."] },
      { t: "media", label: "Contexto hero", caption: "The Workspaces home screen alongside one expanded project and the Progressive Organization prompt.", ratio: "16 / 9" },

      { t: "head", id: "problem", eyebrow: "Problem",
        title: "Digital clutter becomes visible only when someone needs something.",
        body: "Files accumulate gradually, below the threshold of attention. The problem becomes urgent when someone cannot locate the correct assignment, r\u00e9sum\u00e9, or project draft." },
      { t: "text", body: "This creates:" },
      { t: "list", items: [
        "Time lost searching and reopening files",
        "Duplicate downloads and outdated versions",
        "Missed work and accidental overwrites",
        "A persistent sense of digital disorder",
      ] },
      { t: "callout", label: "Initial framing", text: "How might we help students maintain cleaner files and folders?" },
      { t: "img", src: "assets/contexto/before-finder.jpg", frame: true, bg: "#e8eef4",
        caption: "A real student Finder window, with duplicate files and ambiguous names." },

      { t: "head", id: "research", eyebrow: "Research",
        title: "We watched students navigate the mess themselves.",
        body: "We combined a survey about digital habits with interviews and contextual inquiry. During each session, students navigated their own computers while explaining how they searched, saved, and organized files." },
      { t: "text", body: "Watching the behavior directly exposed workarounds that students did not think to mention in surveys." },
      { t: "text", body: "We wanted to understand:" },
      { t: "list", items: [
        "Why clutter accumulates",
        "How students search when organization fails",
        "What \u201corganized\u201d means to different people",
        "Which parts of file management could be automated",
      ] },
      { t: "media", label: "Research approach", caption: "The survey and contextual-inquiry process, with one representative artifact from each.", ratio: "16 / 7" },

      { t: "head", id: "insights", eyebrow: "Insights",
        title: "Students avoided organization until they urgently needed a file.",
        body: "Four findings consistently appeared:" },
      { t: "points", cols: 2, items: [
        { n: "01", title: "Clutter grows invisibly.", desc: "Students rarely notice it until searching becomes difficult." },
        { n: "02", title: "Search compensates for weak organization.", desc: "Recents and Finder search are used more often than maintained folders." },
        { n: "03", title: "Forgotten filenames break retrieval.", desc: "Search fails when users remember the file\u2019s purpose but not its name." },
        { n: "04", title: "Everyone organizes differently.", desc: "One prescribed folder system could not serve every student." },
      ] },
      { t: "text", body: "The strongest shared behavior was not how students organized. It was what they remembered:" },
      { t: "callout", label: "Pivotal insight", text: "They forgot where a file lived, but remembered what they were doing when they used it." },
      { t: "media", label: "Findings to opportunities", caption: "Each research finding connected to the corresponding product opportunity, with forgotten filenames as the pivotal insight.", ratio: "16 / 7" },

      { t: "head", id: "shift", eyebrow: "Strategic Shift",
        title: "Our first concepts asked users to maintain another system.",
        body: "Early ideas included smarter folders, cleanup reminders, and automatic deletion suggestions. These addressed the visible clutter, but they still depended on students consistently reviewing or organizing their files." },
      { t: "text", body: "Research showed that this behavior was unlikely to last." },
      { t: "text", body: "We stopped trying to improve the filing cabinet and began designing around memory." },
      { t: "table", head: ["Initial direction", "Research-backed direction"], rows: [
        ["Help people organize files", "Help people retrieve files"],
        ["Build better folders", "Group related work automatically"],
        ["Search by filename", "Search by remembered context"],
        ["Require maintenance", "Form structure progressively"],
      ] },
      { t: "media", label: "Early concepts versus reframe", caption: "An early cleanup or folder concept beside the first contextual Workspace exploration.", ratio: "16 / 8" },

      { t: "head", id: "why-apple", eyebrow: "Why Apple",
        title: "Apple\u2019s best intelligence removes friction without becoming another destination.",
        body: "Apple often integrates intelligence directly into existing workflows instead of asking users to open a separate AI product." },
      { t: "text", body: "The Clean Up tool removes distracting objects from a photo inside the Photos app. Verification codes received through Messages can appear directly in Safari when a website requests them. One uses generative AI and the other does not, but both follow the same interaction principle:" },
      { t: "callout", label: "The principle", text: "The system recognizes what the user is trying to do and removes the next unnecessary step." },
      { t: "text", body: "Users do not need to understand the underlying model, move information between applications, or build a new habit. The capability appears at the moment it becomes useful." },
      { t: "media", label: "Invisible-friction examples", caption: "Three compact examples: removing an object inside Photos, filling a verification code from Messages into Safari, and Contexto suggesting a Workspace from related files. Each emphasizes the step the integration eliminates.", ratio: "16 / 6" },

      { t: "head", id: "fit", eyebrow: "Strategic Fit",
        title: "Contexto applies the same philosophy to file management.",
        body: "Today, Finder requires users to manually create folders, name files, and remember where everything was placed." },
      { t: "text", body: "Contexto uses the context already available across the operating system (recent applications, calendar events, activity patterns, time, and files opened together) to infer which work belongs together." },
      { t: "text", body: "Like Apple\u2019s strongest integrations, Contexto does not introduce a separate AI workspace. It makes an existing system quietly more capable." },
      { t: "table", head: ["Apple integration", "Invisible friction removed"], rows: [
        ["Clean Up in Photos", "Exporting an image to a separate editing tool"],
        ["Verification-code AutoFill", "Switching apps, locating and copying a code"],
        ["Contexto Workspaces", "Naming, filing, and reconstructing a project manually"],
      ] },
      { t: "media", label: "Current flow versus Contexto", caption: "The existing multi-step process of downloading, renaming, filing, and reopening files compared with Contexto\\u2019s suggested Workspace and \\u201cReopen Everything\\u201d action.", ratio: "16 / 7" },

      { t: "head", id: "privacy", eyebrow: "Privacy as Product Strategy",
        title: "File context is useful precisely because it is sensitive.",
        body: "Understanding someone\u2019s projects requires access to deeply personal information: documents, applications, activity patterns, calendar events, and potentially location." },
      { t: "text", body: "That makes privacy part of the product, not a policy added afterward." },
      { t: "text", body: "Apple Intelligence processes requests on-device when possible and uses Private Cloud Compute for more demanding tasks. Apple states that data sent to Private Cloud Compute is used only to fulfill the request and is not retained or accessible to Apple." },
      { t: "text", body: "Contexto follows that model:" },
      { t: "list", items: [
        "Relationships between files are inferred on-device whenever possible.",
        "Files remain in their original locations.",
        "The system explains why items were grouped.",
        "Users confirm, edit, or dismiss every Workspace suggestion.",
        "Contexto does not silently reorganize the filesystem.",
      ] },
      { t: "text", body: "Privacy and user control are not constraints on the experience. They make ambient intelligence trustworthy enough to use." },
      { t: "media", label: "Contexto privacy model", caption: "On-device context signals flowing into a suggested Workspace. No raw file contents leave the device.", ratio: "16 / 7" },

      { t: "head", id: "solution", eyebrow: "Solution",
        title: "Contexto organizes Finder into Workspaces.",
        body: "A Workspace is a living cluster of files and applications associated with one class, project, or activity." },
      { t: "text", body: "Nothing is permanently moved. Contexto identifies relationships between files and presents them in the way users already think about their work." },
      { t: "note", label: "Interactive \u2192", text: "The whole prototype is clickable. Open \u2018Contexto Prototype.html\u2019 to walk through Workspaces, the suggestion flow, and the Labs features." },
      { t: "img", src: "assets/contexto/v2-home.png", frame: true, bg: "#e8eef4",
        caption: "Workspaces home: projects rather than individual files as the primary hierarchy, with recent applications and \\u201cPick up where you left off.\\u201d" },

      { t: "head", id: "flow", eyebrow: "Core Flow",
        title: "Workspaces replace folders as the primary unit of organization." },
      { t: "text", body: "Each Workspace shows:" },
      { t: "list", items: [
        "The files connected to a project",
        "The applications used alongside them",
        "Recent activity",
        "The last working state",
      ] },
      { t: "text", body: "Users can understand what a collection represents without remembering where each file was saved." },
      { t: "media", label: "Workspace anatomy", caption: "The project title, files, associated applications, activity, and recent state, annotated.", ratio: "16 / 8" },

      { t: "subhead", title: "Progressive Organization suggests. It never imposes.",
        body: "When Contexto detects a cluster of related files, it proposes a Workspace:" },
      { t: "callout", text: "\u201cThese 14 files appear to belong to Portfolio Refresh.\u201d" },
      { t: "text", body: "Users can confirm, edit, or dismiss the suggestion. Files remain accessible through their original locations and Recents." },
      { t: "text", body: "This preserved the convenience of automation without allowing the system to reorganize someone\u2019s computer invisibly." },
      { t: "img", src: "assets/contexto/v2-suggest.png", frame: true, bg: "#e8eef4",
        caption: "Progressive Organization: the detected cluster, proposed Workspace, and confirm/dismiss controls." },

      { t: "subhead", title: "Reopen Everything restores the full project state.",
        body: "Opening a Workspace reveals the files, applications, and resources associated with that project." },
      { t: "text", body: "\u201cReopen Everything\u201d restores the working context at once (a Figma file, development environment, readings, and reference material) so the user can continue where they stopped." },
      { t: "img", src: "assets/contexto/v2-workspace.png", frame: true, bg: "#e8eef4",
        caption: "A Workspace restoring several connected applications and files as one project state." },

      { t: "head", id: "tension", eyebrow: "Design Tension",
        title: "Automatic organization became useful only when it remained reversible.",
        body: "Contexto depends on making inferences about which files belong together. Those inferences will not always be correct." },
      { t: "text", body: "We designed around three rules:" },
      { t: "points", cols: 3, items: [
        { n: "01", title: "Propose, don\u2019t move", desc: "Contexto proposes groups rather than silently moving files." },
        { n: "02", title: "Explain connections", desc: "Users can understand why files were connected." },
        { n: "03", title: "Always reversible", desc: "Every suggestion can be edited, dismissed, or undone." },
      ] },
      { t: "text", body: "The system performs the maintenance users avoid while leaving the final decision with them." },
      { t: "media", label: "Explainability and control", caption: "Why files were grouped, how the user corrects the group, and confirmation that no original file location changed.", ratio: "16 / 8" },

      { t: "head", id: "extended", eyebrow: "Extended Concepts",
        title: "Two explorations tested where contextual organization could lead." },
      { t: "subhead", title: "Constellation",
        body: "A visual graph represents files as nodes and shared context as connections. Clusters naturally reveal the projects that become Workspaces." },
      { t: "img", src: "assets/contexto/v2-constellation.png", frame: true, bg: "#e8eef4",
        caption: "Constellation: files as nodes, shared context as connections, with one Workspace cluster highlighted." },

      { t: "subhead", title: "Ask Finder",
        body: "Users can search using what they remember:" },
      { t: "callout", text: "\u201cThe r\u00e9sum\u00e9 I edited before my MDB interview.\u201d" },
      { t: "text", body: "Contexto returns the likely file and explains which contextual signals created the match." },
      { t: "text", body: "We kept this feature intentionally quiet. AI supports retrieval without turning Finder into a chatbot." },
      { t: "img", src: "assets/contexto/v2-ask.png", frame: true, bg: "#e8eef4",
        caption: "Ask Finder: the query, the returned file, and a short explanation of why it matched." },

      { t: "head", id: "outcome", eyebrow: "Outcome",
        title: "We designed a Finder that adapts to behavior instead of correcting it.",
        body: "Our final concept included:" },
      { t: "list", items: [
        "Context-driven Workspaces",
        "Progressive organization suggestions",
        "Full project-state restoration",
        "Explainable natural-language retrieval",
        "A functional interactive prototype",
      ] },
      { t: "text", body: "Because Contexto was an academic concept, we did not claim shipped-product results. The outcome was a research-backed product direction demonstrating how contextual intelligence could reduce the effort required to organize and retrieve files." },
      { t: "media", label: "Final prototype montage", caption: "The Workspaces home, suggestion flow, expanded Workspace, and Ask Finder as a cohesive system.", ratio: "16 / 9" },

      { t: "head", id: "reflection", eyebrow: "Reflection",
        title: "The best intelligence can feel like one less step.",
        body: "Contexto began as an attempt to make students more organized. Contextual inquiry showed that this worked against their existing behavior: people did not want another system to maintain." },
      { t: "text", body: "Apple\u2019s strongest integrations helped clarify the opportunity. Verification-code AutoFill does not ask users to manage codes more carefully; it removes the need to manage them. Clean Up does not require a separate editing workflow; it brings the capability into Photos." },
      { t: "text", body: "Contexto applies the same principle to files. Rather than teaching people to name and organize everything perfectly, it uses context to remove that responsibility." },
      { t: "text", body: "This project changed how I think about AI in established products. Intelligence does not need to become the interface. Sometimes its greatest value is quietly removing the friction that used to require one." },
    ],
    sections: [
      { kind: "Problem", body: "Students accumulate clutter they notice only when they need a file, and search fails when they remember a file\u2019s purpose but not its name." },
      { kind: "Approach", body: "A survey, interviews, and contextual inquiry reframed the brief from helping people organize files to helping them retrieve files by remembered context." },
      { kind: "Outcome", body: "Contexto: a Finder concept that organizes files into Workspaces from context, with reversible suggestions, Reopen Everything, and explainable natural-language retrieval." },
    ],
  },
  {
    id: "p2",
    title: "Partake",
    headline: "Designing for Algorithmic Discovery",
    cardTitle: "Earning attention in algorithmic feeds",
    subtitle: "Partake Foods × Berkeley Innovation · UX Research & Content Strategy 2025",
    discipline: "UX Research & Content Strategy",
    year: "2025",
    role: "UX Researcher & Content Strategist",
    timeline: "10 weeks · Spring 2025",
    team: "5 Consultants",
    skills: ["User Research", "Growth Strategy", "Consumer Behavior", "Content Systems"],
    color: "#1e4d8b",
    tint: "#dde8f6",
    summary: "Over 10 weeks, we studied how consumers find and trust food brands, then translated those behaviors into a repeatable TikTok strategy a lean marketing team could sustain.",
    blocks: [
      { t: "head", id: "overview", eyebrow: "Overview",
        title: "How can a small food brand earn attention in an algorithm-driven feed?",
        body: "Partake makes snacks free from the top nine allergens. Customers often became loyal after discovering the brand, but too few people were discovering it." },
      { t: "text", body: "Over 10 weeks, we studied how consumers find and trust food brands, then translated those behaviors into a repeatable TikTok strategy a lean marketing team could sustain." },
      { t: "media", label: "Final strategy hero", caption: "Partake\u2019s product lineup alongside the three final content concepts in a TikTok-style feed.", ratio: "16 / 9" },

      { t: "head", id: "problem", eyebrow: "Problem",
        title: "A strong product was getting lost in a quiet, inconsistent feed.",
        body: "Partake was competing with brands such as Oreo and Crumbl without their existing audiences, production resources, or cultural visibility." },
      { t: "text", body: "Simply posting more content would not solve the problem. The strategy needed to:" },
      { t: "list", items: [
        "Reach people unfamiliar with Partake",
        "Establish trust before asking for a purchase",
        "Encourage saves, shares, and participation",
        "Remain feasible for a small team to produce weekly",
      ] },
      { t: "callout", label: "The real question", text: "How do products earn attention in environments designed to keep people scrolling?" },
      { t: "media", label: "Starting point", caption: "Partake\u2019s existing feed beside larger competitors, highlighting differences in consistency, format, and engagement.", ratio: "16 / 8" },

      { t: "head", id: "research", eyebrow: "Research",
        title: "We studied what makes someone stop, not what the brand wanted to post.",
        body: "Before developing concepts, we investigated how people discover, evaluate, and remember food brands." },
      { t: "text", body: "Our research included:" },
      { t: "list", items: [
        ["55 survey responses"],
        ["3 consumer interviews"],
        ["5 competitor deep dives"],
        "Analysis of high-performing short-form food content",
      ] },
      { t: "text", body: "We synthesized the findings into behavioral patterns around attention, trust, and participation." },
      { t: "media", label: "Research roadmap", caption: "A simple progression from competitive analysis to surveys, interviews, synthesis, and strategic direction.", ratio: "16 / 5" },

      { t: "head", id: "insight1", eyebrow: "Insight 01",
        title: "Consumers discover moments before they discover products.",
        body: "High-performing content rarely began with product features. Instead, products appeared inside experiences people already cared about:" },
      { t: "list", items: [
        "Morning coffee",
        "Recipes and visual transformations",
        "Fitness routines",
        "Late-night cravings",
        "Everyday lifestyle moments",
      ] },
      { t: "text", body: "The product became memorable because it belonged within the experience, not because it dominated the video." },
      { t: "media", label: "Lifestyle-moment analysis", caption: "Top-performing competitor content categorized by the routine or experience it appeared within.", ratio: "16 / 8" },

      { t: "head", id: "insight2", eyebrow: "Insight 02",
        title: "Trust was not one step in the journey. It was the journey.",
        body: "Food decisions, especially those involving allergies, carry uncertainty. Participants looked for evidence that a product was credible before considering a purchase." },
      { t: "text", body: "The strongest signals included:" },
      { t: "list", items: [
        "Recommendations from trusted creators",
        "Ingredient transparency",
        "Authentic founder stories",
        "Behind-the-scenes content",
        "Real customer experiences",
      ] },
      { t: "text", body: "This meant awareness alone was insufficient. Every format also needed to strengthen belief in the product." },
      { t: "media", label: "Trust signals", caption: "The five trust signals as a progression from initial exposure to purchase consideration.", ratio: "16 / 6" },

      { t: "head", id: "shift", eyebrow: "Strategic Shift",
        title: "Our polished content direction was solving the wrong problem.",
        body: "Our early concepts leaned toward highly produced, branded videos. They looked professional, but research participants interpreted similar content as advertising and scrolled past it." },
      { t: "text", body: "Creator-style content felt more relatable and trustworthy because it resembled the surrounding feed." },
      { t: "note", label: "What I pushed", text: "I argued that greater production value would work against the behaviors we had observed. We abandoned the polished direction and rebuilt the strategy around handheld, community-first storytelling." },
      { t: "table", head: ["Early direction", "Research-backed direction"], rows: [
        ["Studio-polished", "Creator-style"],
        ["Scripted", "Conversational"],
        ["Product-first", "Moment-first"],
        ["Brand speaking", "Community participating"],
      ] },
      { t: "media", label: "Before and after", caption: "An early polished concept beside the revised creator-style direction, with annotations explaining why the first approach failed.", ratio: "16 / 8" },

      { t: "head", id: "opportunity", eyebrow: "Opportunity",
        title: "We reframed content creation as attention design." },
      { t: "table", head: ["We started by asking", "Research led us to a more useful question"], rows: [
        ["What should Partake post?", "How can Partake join experiences people already enjoy?"],
      ] },
      { t: "text", body: "From this reframe, we developed three principles:" },
      { t: "points", cols: 3, items: [
        { n: "01", title: "Familiar behavior", desc: "Enter routines audiences already recognize." },
        { n: "02", title: "Immediate value", desc: "Provide a payoff within the first few seconds." },
        { n: "03", title: "Community participation", desc: "Give viewers a reason to contribute rather than only watch." },
      ] },
      { t: "media", label: "Strategy framework", caption: "Each research finding connected to one strategic principle and the behavior it is intended to encourage.", ratio: "16 / 7" },

      { t: "head", id: "solution", eyebrow: "Solution",
        title: "Three formats turned research into a repeatable content system.",
        body: "Rather than recommending individual posts, we designed formats that could generate new content over time." },
      { t: "subhead", title: "Cookie Crumb Latte",
        body: "A seasonal recipe series that turns Partake cookies into ingredients for visually satisfying drinks. The format combines a familiar morning ritual with a quick transformation and repeatable payoff." },
      { t: "media", label: "Cookie Crumb Latte storyboard", caption: "The recipe, reveal, and reaction across a video lasting fewer than 20 seconds.", ratio: "16 / 9" },
      { t: "subhead", title: "Partake Everywhere",
        body: "A lifestyle series showing Partake within real routines, from studying and commuting to post-workout snacks. The format positions allergy-friendly food as an everyday choice rather than a specialty product." },
      { t: "media", label: "Partake Everywhere examples", caption: "The product naturally appearing within three recognizable daily moments.", ratio: "16 / 9" },
      { t: "subhead", title: "Your Month, Your Cookie",
        body: "A recurring community format inviting customers to submit flavor ideas and personal stories. The concept turns customers into contributors while producing authentic content and social proof." },
      { t: "media", label: "Participation flow", caption: "Submission, community voting or selection, and the monthly customer spotlight.", ratio: "16 / 9" },

      { t: "head", id: "system", eyebrow: "System",
        title: "Each concept serves a different stage of discovery." },
      { t: "points", cols: 3, items: [
        { title: "Cookie Crumb Latte", desc: "Primary behavior: Save and recreate. Strategic value: Exposure and repeatability." },
        { title: "Partake Everywhere", desc: "Primary behavior: Recognize and relate. Strategic value: Relevance and normalization." },
        { title: "Your Month, Your Cookie", desc: "Primary behavior: Submit and share. Strategic value: Trust and participation." },
      ] },
      { t: "text", body: "Together, the formats balance short-term reach with longer-term trust and community growth." },
      { t: "media", label: "Content ecosystem", caption: "How discovery leads to trust, participation, and repeat engagement across the three formats.", ratio: "16 / 7" },

      { t: "head", id: "feasibility", eyebrow: "Feasibility",
        title: "The strategy had to survive contact with a small team.",
        body: "A strong concept would be useless if Partake could not produce it consistently." },
      { t: "text", body: "We designed each format around:" },
      { t: "list", items: [
        "Simple, repeatable templates",
        "Limited locations and equipment",
        "Creator-style filming",
        "Flexible seasonal variations",
        "Opportunities to incorporate customer content",
      ] },
      { t: "text", body: "This made the system easier to sustain without requiring constant trend-chasing or studio production." },
      { t: "media", label: "Production toolkit", caption: "The reusable shot lists, templates, or format rules Partake could apply to future posts.", ratio: "16 / 8" },

      { t: "head", id: "outcome", eyebrow: "Outcome",
        title: "We delivered a system for earning attention, not a list of TikTok ideas.",
        body: "Our final strategy included:" },
      { t: "list", items: [
        "Three repeatable content formats",
        "A research-backed framework for evaluating future ideas",
        "Storyboards and production guidance",
        "Recommendations connecting discovery, trust, and participation",
      ] },
      { t: "text", body: "Because this was a strategy engagement, we did not measure post-launch performance. Our contribution was giving Partake a practical system for producing content that aligned consumer behavior with the realities of a lean team." },
      { t: "media", label: "Final deliverables", caption: "Selected pages from the strategy deck alongside the strongest concept mockups.", ratio: "16 / 8" },

      { t: "head", id: "reflection", eyebrow: "Reflection",
        title: "The best strategy begins with what people already care about." },
      { t: "text", body: "We entered the project thinking about what Partake should say. Research shifted our attention toward the moments, routines, and communities audiences already valued." },
      { t: "text", body: "The hardest decision was moving away from polished branded content. That direction looked more \u201cfinished,\u201d but it contradicted how participants judged authenticity in their feeds." },
      { t: "text", body: "This project taught me that discovery is a product problem as much as a marketing problem. Whether someone encounters a snack, an app, or a creator, algorithmic systems shape what receives attention. Strong strategy works with those behaviors without losing the trust required to turn visibility into lasting interest." },
    ],
    sections: [
      { kind: "Problem", body: "A strong product was getting lost in a quiet, inconsistent feed." },
      { kind: "Approach", body: "55 survey responses, 3 consumer interviews, and 5 competitor deep dives, synthesized into behavioral patterns around attention, trust, and participation." },
      { kind: "Outcome", body: "A system for earning attention: three repeatable formats, a framework for evaluating future ideas, and production guidance." },
    ],
  },
  {
    id: "p3",
    title: "Sand",
    headline: "Helping People Feel Time",
    cardTitle: "A wearable to help you feel time",
    subtitle: "Sand · Speculative Product Design · FigBuild 2026",
    discipline: "Speculative Product Design",
    year: "2026",
    role: "Product Designer & Researcher",
    timeline: "FigBuild 2026",
    team: "4 Designers",
    skills: ["Speculative Design", "Product Strategy", "AR Prototyping", "Data Ethics"],
    color: "#c0883c",
    tint: "#f2ead9",
    summary: "Sand is a speculative wearable system that translates biological rhythms into ambient AR cues. Through connected glasses, a biometric ring, and a companion app, it helps people recognize periods of focus, fatigue, and rest as they happen.",
    blocks: [
      { t: "head", id: "overview", eyebrow: "Overview",
        title: "What if technology helped people feel time instead of merely tracking it?",
        body: "Sand is a speculative wearable system that translates biological rhythms into ambient AR cues. Through connected glasses, a biometric ring, and a companion app, it helps people recognize periods of focus, fatigue, and rest as they happen." },
      { t: "media", label: "Sand system hero", caption: "A polished composition showing the Sand Shades, biometric ring, and companion app as one connected system.", ratio: "16 / 9" },

      { t: "head", id: "problem", eyebrow: "Problem",
        title: "Wearables explain fatigue after the moment to respond has passed.",
        body: "People regularly lose track of time while working, scrolling, or socializing. They may not recognize fatigue until their concentration, health, or relationships have already been affected." },
      { t: "text", body: "Existing wearables collect useful information, but primarily communicate it through scores and retrospective dashboards. They can tell someone that they were exhausted yesterday without helping them notice their changing state today." },
      { t: "callout", label: "We asked", text: "How might technology help people recognize and respond to their internal rhythms in real time?" },
      { t: "media", label: "Existing experience", caption: "A wearable readiness dashboard contrasted with someone losing track of time during focused work.", ratio: "16 / 8" },

      { t: "head", id: "research", eyebrow: "Research",
        title: "People didn\u2019t want more data. They wanted it at the right moment.",
        body: "We surveyed 36 students and professionals about time perception and their experiences with wearable technology." },
      { t: "list", items: [
        [ "70%", " preferred support integrated into their environment in real time." ],
        [ "41%", " disliked receiving information after it was too late to act." ],
        "Participants described forgetting to eat, underestimating tasks, and recognizing fatigue only after it became physical.",
      ] },
      { t: "text", body: ["Research into ", ["chronoception"], ", the brain\u2019s subjective experience of time, helped us understand why. Attention, emotion, and biological rhythms can make time feel compressed, extended, or nearly invisible."] },
      { t: "note", label: "My role", text: "As a Cognitive Science student, I pushed our team to treat felt time as the design material rather than building another clock." },
      { t: "media", label: "Research-to-decision summary", caption: "Three behavioral findings connected directly to the product opportunities they created.", ratio: "16 / 8" },

      { t: "head", id: "reframe", eyebrow: "Reframing",
        title: "We started with a better tracker. That became the wrong product.",
        body: "Our early ideas centered on visualizing time and biological data more clearly. But research showed that another dashboard would repeat the central limitation of existing wearables: it would still require users to stop, interpret information, and act after the fact." },
      { t: "text", body: "That forced a change in direction." },
      { t: "text", body: "Instead of asking how we could display time better, we asked how an environment could communicate it naturally." },
      { t: "table", head: ["Existing wearables", "Sand"], rows: [
        ["Track and score", "Interpret and guide"],
        ["Report afterward", "Respond in real time"],
        ["Live on a dashboard", "Blend into the environment"],
      ] },
      { t: "media", label: "Early direction versus reframe", caption: "An early dashboard concept beside the ambient AR direction, with a short explanation of why the first approach was abandoned.", ratio: "16 / 8" },

      { t: "head", id: "opportunity", eyebrow: "Opportunity",
        title: "Augmented reality could make invisible rhythms perceptible.",
        body: "AR allowed us to move the experience beyond a screen and into the user\u2019s surroundings." },
      { t: "text", body: "Sand combines:" },
      { t: "list", items: [
        [ "Sand Shades:", " AR glasses that adjust visual ambiance" ],
        [ "Biometric ring:", " Captures sleep and recovery signals" ],
        [ "Sand app:", " Explains the system and gives users control" ],
      ] },
      { t: "text", body: "The system interprets signals associated with attention and fatigue, then translates them into environmental cues rather than another numerical score." },
      { t: "media", label: "System architecture", caption: "The glasses, ring, and app, with arrows explaining what each component senses, communicates, or controls.", ratio: "16 / 9" },

      { t: "head", id: "solution", eyebrow: "Solution",
        title: "Three moments make the future tangible." },
      { t: "points", cols: 3, items: [
        { n: "01", title: "Calibrate my internal clock", desc: "During onboarding, users estimate when ten minutes have passed. Sand compares perceived and actual time to begin learning how that individual experiences duration." },
        { n: "02", title: "Support deep focus", desc: "When Sand recognizes focused work, the glasses reduce surrounding visual distractions and emphasize the active task." },
        { n: "03", title: "Bring me back to the present", desc: "When focus becomes fatigue, or attention drifts during a social moment, Sand changes its cues to support rest, awareness, or connection." },
      ] },
      { t: "media", label: "Three-part storyboard", caption: "One person through calibration, focused work, and an evening with friends. The AR environment changes without requiring a screen.", ratio: "16 / 7" },

      { t: "head", id: "companion", eyebrow: "Companion Experience",
        title: "The app makes an ambient system understandable.",
        body: "An invisible system can easily become confusing or controlling. The Sand app explains what the wearable is sensing and gives users direct control over its behavior." },
      { t: "text", body: "Users can:" },
      { t: "list", items: [
        "Review their expected energy peaks and dips",
        "Change between Peak, Steady, Fatigue, and Rest modes",
        "Select which biological signals are used",
        "Adjust or override automatic interventions",
        "Manage sleep and time-zone changes",
      ] },
      { t: "gallery", cols: 3, items: [
        { label: "Energy curve", caption: "Expected peaks and dips", ratio: "9 / 16" },
        { label: "Mode controls", caption: "Peak, Steady, Fatigue, Rest", ratio: "9 / 16" },
        { label: "Data permissions", caption: "Choose which signals are used", ratio: "9 / 16" },
      ] },

      { t: "head", id: "tension", eyebrow: "Design Tension",
        title: "The system needed autonomy, but not authority.",
        body: "Sand had to respond automatically for ambient guidance to feel useful. But a device that changes someone\u2019s environment could also become invasive." },
      { t: "text", body: "We designed around three principles:" },
      { t: "points", cols: 3, items: [
        { n: "01", title: "Understand", desc: "Users should understand why Sand is intervening." },
        { n: "02", title: "Adjust", desc: "Every automatic action should be adjustable or reversible." },
        { n: "03", title: "Don\u2019t judge", desc: "The system should guide behavior without judging it." },
      ] },
      { t: "text", body: ["This shifted our goal from maximum automation to ", ["negotiated control"], " between the user and the system."] },
      { t: "media", label: "Autonomy spectrum", caption: "A continuum from fully manual to fully autonomous, showing where Sand\u2019s major interactions sit and when user confirmation is required.", ratio: "16 / 6" },

      { t: "head", id: "edges", eyebrow: "Edge Cases",
        title: "The hardest users exposed the weaknesses in our first concept.",
        body: "Our initial direction assumed predictable routines and users who felt comfortable seeing biological data." },
      { t: "text", body: "That excluded people with ADHD, sleep conditions, changing schedules, or anxiety around health tracking." },
      { t: "text", body: "We responded with three features:" },
      { t: "points", cols: 3, items: [
        { title: "Personal baselines", desc: "Sand learns an individual\u2019s rhythms instead of comparing everyone with one standardized routine." },
        { title: "Sustainable Peak", desc: "When someone tries to sustain intense focus through fatigue, Sand offers a limited session that gradually transitions toward rest." },
        { title: "Mist Mode", desc: "Users can hide detailed biological metrics while retaining supportive ambient cues." },
      ] },
      { t: "note", label: "What I pushed", text: "I pushed the team to treat these cases as core requirements rather than optional accessibility features. Designing for them made the entire system more flexible and less judgmental." },
      { t: "media", label: "Edge-case features", caption: "Mist Mode and Sustainable Peak beside the specific risk or user need that produced each feature.", ratio: "16 / 8" },

      { t: "head", id: "ethics", eyebrow: "Ethics",
        title: "A system that reads the body should not define the person.",
        body: "Health metrics can easily become labels: productive, distracted, recovered, or unhealthy. Those labels can influence how people understand themselves." },
      { t: "text", body: "We designed Sand to:" },
      { t: "list", items: [
        "Describe temporary states instead of fixed identities",
        "Allow users to hide or disable sensitive measurements",
        "Communicate through gentle cues rather than performance scores",
        "Keep personal biological information private and controlled by the user",
      ] },
      { t: "callout", label: "The goal", text: "The goal was not to make people monitor themselves more closely. It was to help them notice what their bodies were already communicating." },
      { t: "media", label: "Ethical risk and response", caption: "Three risks (labeling, self-policing, and data anxiety) paired with the corresponding design response.", ratio: "16 / 7" },

      { t: "head", id: "outcome", eyebrow: "Outcome",
        title: "We designed a product vision for ambient, ethical AR.",
        body: "Within FigBuild, our team produced:" },
      { t: "list", items: [
        "A connected wearable ecosystem",
        "An AR interaction model for focus and rest",
        "A companion application with transparent controls",
        "Features addressing burnout, irregular rhythms, and data anxiety",
        "A research-backed vision for designing around chronoception",
      ] },
      { t: "text", body: "Because Sand was a speculative concept, we did not claim measured behavioral outcomes. Its value was making a possible future concrete enough to experience, question, and critique." },
      { t: "media", label: "Final product montage", caption: "The strongest AR moment, hardware concept, and app screens in one closing composition.", ratio: "16 / 9" },

      { t: "head", id: "reflection", eyebrow: "Reflection",
        title: "Speculative design let me prototype a future, not just an interface." },
      { t: "text", body: "Designing within a hypothetical future changed how I approached the project. We were not limited to improving an existing wearable or adding another screen. We had to imagine how augmented reality might fit into everyday life, and what new behaviors, risks, and responsibilities could emerge with it." },
      { t: "text", body: "AR made the experience immediate, but it also raised harder questions: How much should a system alter someone\u2019s perception? When should it intervene? How can users understand and override technology designed to remain ambient?" },
      { t: "text", body: "This project taught me that speculative design is not about predicting the future perfectly. It is a way to make possible futures tangible enough to examine and shape responsibly." },
      { t: "text", body: "By prototyping both the promise and the uncomfortable edges of ambient AR, we asked not only what technology could do, but what role it should have in people\u2019s lives." },
    ],
    sections: [
      { kind: "Problem", body: "Wearables explain fatigue after the moment to respond has passed." },
      { kind: "Approach", body: "A speculative wearable system that translates biological rhythms into ambient AR cues through glasses, a biometric ring, and a companion app." },
      { kind: "Outcome", body: "A product vision for ambient, ethical AR, designed around negotiated control, edge cases, and user-owned data." },
    ],
  },
  {
    id: "p4",
    title: "Signal",
    headline: "Reading behavior through analytics",
    subtitle: "Reading behavior through analytics",
    discipline: "Systems & Data",
    year: "2024",
    role: "Design Engineer",
    timeline: "Sep – Dec 2024",
    team: "Solo project",
    skills: ["Design Engineering", "Data Viz", "Systems"],
    color: "#7a4ba8",
    tint: "#eae0f1",
    summary: "An analytics canvas that makes behavioral data legible: bar graphs, funnels, and cohorts you can actually reason about.",
    sections: [
      { kind: "Problem", body: "Most dashboards are dense and decorative. Signal strips charts back to the decision they support." },
      { kind: "Approach", body: "A consistent visual grammar across every chart type, so reading the data takes seconds, not minutes." },
      { kind: "Outcome", body: "The component library shipped to three internal teams and became the default way analysts presented findings." },
    ],
  },
  {
    id: "p5",
    title: "Garden",
    headline: "A friendlier home for personal notes",
    subtitle: "A friendlier home for personal notes",
    discipline: "Product Design",
    year: "2024",
    role: "Product Designer",
    timeline: "Mar – Jun 2024",
    team: "2 Designers",
    skills: ["Product Design", "Interaction", "Branding"],
    color: "#c14a4a",
    tint: "#f1dcdc",
    summary: "A note-taking space built around connection. Link ideas, grow clusters, and watch your thinking take shape over time.",
    sections: [
      { kind: "Problem", body: "Notes apps store, but rarely help you think. Garden treats notes as a living network you tend." },
      { kind: "Approach", body: "Bidirectional links and gentle prompts surface forgotten ideas right when they're relevant." },
      { kind: "Outcome", body: "Beta users reported revisiting old notes 4× more often, turning a graveyard of ideas into a working garden." },
    ],
  },
  {
    id: "p6",
    title: "Pulse",
    headline: "Hardware × ambient interfaces",
    subtitle: "Hardware × ambient interfaces",
    discipline: "Experiments",
    year: "2023",
    role: "Prototyper",
    timeline: "Oct – Dec 2023",
    team: "Solo project",
    skills: ["Prototyping", "Hardware", "Interaction"],
    color: "#2f8f8a",
    tint: "#daece9",
    summary: "An exploration of glanceable, screen-free interfaces, translating data into light, sound, and gentle motion.",
    sections: [
      { kind: "Problem", body: "Screens demand attention. Pulse asks how a device can inform you without ever pulling you in." },
      { kind: "Approach", body: "A series of physical prototypes pairing micro-displays with ambient light to convey state at a glance." },
      { kind: "Outcome", body: "Three working prototypes demonstrated that a glance of light could replace a phone buzz for everyday status." },
    ],
  },
];

const EXPERIENCE = [
  { year: "2026", org: "Independent Practice", role: "Design Engineer" },
  { year: "2025", org: "Northwind Labs", role: "Product Design Intern" },
  { year: "2024", org: "Meridian", role: "Software Engineering Intern" },
  { year: "2023", org: "Onova", role: "Design + Engineering Intern" },
];

window.PROJECTS = PROJECTS;
window.EXPERIENCE = EXPERIENCE;
