// Blue Ocean Event Planning Tool with PDF Export import { useState } from "react"; import { Button } from "@/components/ui/button"; import { Card, CardContent } from "@/components/ui/card"; import { Textarea } from "@/components/ui/textarea"; import jsPDF from "jspdf"; export default function BlueOceanEventTool() { const [responses, setResponses] = useState({}); const questions = [ { step: "Define Your Current Event Landscape", prompts: [ "Who are your direct competitors?", "What is the typical audience profile?", "What are the dominant event formats in your space?", "What are the key selling points currently used?", "Where is the market crowded or stagnant?" ] }, { step: "Identify Frustrations, Gaps, and Non-Customers", prompts: [ "Who currently does not attend your type of event, and why?", "What frustrates attendees about existing options?", "What prevents occasional attendees from returning?", "What price, access, or cultural barriers keep people out?" ] }, { step: "ERRC Grid (Eliminate, Reduce, Raise, Create)", prompts: [ "Eliminate: What can we remove that no longer adds value?", "Reduce: What can we do less of to reduce cost or complexity?", "Raise: What can we do significantly better than competitors?", "Create: What completely new elements can we introduce?" ] }, { step: "Reconstruct Market Boundaries", prompts: [ "Can we combine sectors, artforms, or disciplines to create a new format?", "Can we blend community engagement, education, digital, or wellness into the event?", "Can we reimagine the venue, space, or setting to create a new experience?", "Can we redesign the event calendar to avoid head-to-head competition?" ] }, { step: "Reach Beyond Existing Demand", prompts: [ "How can we attract people who typically feel excluded?", "How can we design for accessibility, affordability, cultural relevance?", "What partnerships (e.g., community groups, schools, niche media) can help reach new audiences?" ] }, { step: "Build Execution Into Strategy", prompts: [ "How will we involve our team in shaping this strategy?", "What resources, skills, or partners are required to deliver the new approach?", "How will we pilot or test the idea before scaling?", "What success measures (qualitative and quantitative) will we track?" ] }, { step: "Plan for Continuous Evolution", prompts: [ "How will we keep evolving to avoid imitation?", "How will we gather audience feedback to refine the experience?", "How can we build long-term cultural, community, or brand loyalty that competitors can’t easily replicate?" ] } ]; const handleChange = (prompt, value) => { setResponses({ ...responses, [prompt]: value }); }; const exportPDF = () => { const doc = new jsPDF(); let y = 10; doc.setFontSize(12); questions.forEach(({ step, prompts }) => { doc.text(step, 10, y); y += 7; prompts.forEach((p) => { doc.text(`- ${p}`, 10, y); y += 7; const answer = responses[p] || "(No response)"; doc.text(answer, 15, y); y += 10; if (y > 270) { doc.addPage(); y = 10; } }); y += 5; }); doc.save("Blue_Ocean_Event_Plan.pdf"); }; return (

Blue Ocean Event Planning Template

{questions.map(({ step, prompts }) => (

{step}

{prompts.map((p) => (

{p}