Event Planning Toolkit
Run ID: 69caea7ac8ebe3066ba6f6c62026-03-30Business
PantheraHive BOS
BOS Dashboard

Complete event planning package with timeline, vendor checklist, budget tracker, marketing plan, run-of-show document, and post-event survey.

Comprehensive Marketing Strategy: Event Planning Toolkit

This document outlines a comprehensive marketing strategy for the "Event Planning Toolkit," designed to maximize reach, engagement, and conversions among target audiences. This strategy encompasses detailed audience analysis, recommended marketing channels, a robust messaging framework, and key performance indicators (KPIs) to measure success.


1. Target Audience Analysis

Understanding who benefits most from the Event Planning Toolkit is crucial for effective marketing. We've identified primary and secondary target audiences, along with their key characteristics and pain points.

1.1 Primary Audience: Small to Medium-sized Businesses (SMBs) & Non-Profit Organizations (NPOs)

  • Description: Organizations that regularly host events (e.g., product launches, corporate meetings, workshops, fundraising galas, community events) but lack a dedicated, full-time event planning department or standardized processes.
  • Key Roles: Marketing Managers, Office Managers, HR Managers, Executive Directors, Project Coordinators, Business Owners.
  • Demographics:

* Company Size: 10-250 employees.

* Industry: Tech startups, professional services, retail, education, healthcare, local government, arts & culture, social services.

* Budget: Often budget-conscious, seeking cost-effective solutions that provide professional results.

  • Psychographics:

* Goals: Host successful, impactful events; maintain brand reputation; maximize ROI on event spend; streamline internal processes.

* Pain Points:

* Lack of a clear, standardized event planning process.

* Overwhelm and stress due to ad-hoc planning.

* Budget overruns or difficulty tracking expenses.

* Inefficient vendor management and communication.

* Time-consuming manual creation of event documents.

* Difficulty measuring event success and gathering feedback.

* Fear of overlooked details leading to poor event execution.

* Needs: A reliable, easy-to-use, comprehensive solution that saves time, reduces stress, and ensures professional event execution.

1.2 Secondary Audience: Individual Entrepreneurs & Freelance Event Planners

  • Description: Solopreneurs, consultants, coaches, and emerging freelance event planners who organize their own events (e.g., workshops, webinars, client appreciation events) or seek to professionalize and standardize their service offerings.
  • Key Roles: Business Owners, Consultants, Coaches, Freelance Event Coordinators.
  • Demographics:

* Company Size: 1-9 employees (or self-employed).

* Industry: Professional coaching, consulting, creative services, online education.

  • Psychographics:

* Goals: Efficiently manage multiple projects; deliver high-quality event experiences; scale their business; maintain a professional image.

* Pain Points:

* Limited time and resources to develop planning tools from scratch.

* Need for consistent, high-quality deliverables for clients.

* Desire to enhance efficiency and productivity.

* Seeking competitive advantage through structured processes.

* Needs: A ready-made, customizable toolkit that enhances productivity, ensures consistency, and elevates their professional offering.


2. Channel Recommendations

A multi-channel approach is recommended to effectively reach the identified target audiences, focusing on digital platforms where these professionals seek solutions and information.

2.1 Digital Marketing Channels

  • Content Marketing & SEO:

* Strategy: Create valuable, evergreen content that addresses common event planning challenges and positions the toolkit as the ultimate solution.

* Content Types:

* Blog Posts: "10 Essential Steps for Flawless Event Planning," "How to Create an Event Budget That Sticks," "Vendor Management Best Practices for Stress-Free Events."

* Guides/E-books: "The Ultimate Guide to Event Marketing," "Post-Event Analysis: Maximizing Your ROI."

* Templates (Free Samples): Offer a stripped-down version of one document (e.g., a basic checklist) as a lead magnet.

* Case Studies: Showcase how businesses successfully used the toolkit to achieve event goals.

* SEO: Target keywords like "event planning template," "event budget tracker," "event checklist," "event marketing plan," "event run of show," "post-event survey tool."

  • Social Media Marketing:

* LinkedIn:

* Focus: B2B engagement. Share articles, host polls on event challenges, promote toolkit benefits directly to Marketing Managers, HR, and Business Owners.

* Content: Professional tips, thought leadership, toolkit feature spotlights, success stories.

* Groups: Engage in relevant industry and professional networking groups.

* Facebook & Instagram:

* Focus: SMBs, NPOs, and individual entrepreneurs. Visual content, behind-the-scenes, testimonials.

* Content: Infographics showcasing toolkit value, short video tutorials, client testimonials, engaging questions related to event planning.

* Groups: Target Facebook groups for small business owners, non-profits, and local community organizers.

  • Paid Advertising:

* Google Search Ads:

* Keywords: Target high-intent keywords (e.g., "buy event planning toolkit," "event management software alternatives," "event planning templates professional").

* Ad Copy: Highlight immediate benefits, time-saving, and professionalism.

* LinkedIn Ads:

* Targeting: Job titles (Marketing Manager, Office Administrator), company size, industry.

* Ad Formats: Sponsored content, lead gen forms.

* Facebook/Instagram Ads:

* Targeting: Interest-based (event planning, small business, non-profit management), lookalike audiences from website visitors.

* Ad Formats: Image ads, video ads, carousel ads showcasing toolkit components.

  • Email Marketing:

* Strategy: Nurture leads generated through free content downloads and website visits.

* Content: Welcome series, educational drip campaigns, toolkit feature deep dives, testimonials, limited-time offers, launch announcements.

* Segmentation: Tailor content based on initial interest (e.g., NPO vs. SMB).

  • Webinars/Online Workshops:

* Strategy: Host free webinars on specific event planning challenges, demonstrating how the toolkit provides solutions.

* Topics: "Mastering Your Event Budget," "Creating a Flawless Event Day Run-of-Show," "Leveraging Marketing for Event Success."

* Call-to-Action: Direct participants to purchase the toolkit with an exclusive discount.

2.2 Partnerships & Public Relations

  • Industry Partnerships:

* Collaborate with complementary businesses: Event technology platforms (registration, ticketing), business coaching services, virtual assistant networks.

* Joint Promotions: Co-host webinars, cross-promote on social media, offer bundled solutions.

  • Influencer Marketing:

* Target: Micro-influencers and thought leaders in the small business, non-profit, or event management space.

* Activities: Sponsored content, reviews, toolkit demonstrations.

  • PR & Media Outreach:

* Target: Business publications, industry blogs, and online news outlets catering to SMBs and NPOs.

* Angles: Highlight the toolkit as an innovative solution for efficient event management, especially for organizations with limited resources.


3. Messaging Framework

The messaging framework ensures consistent, compelling communication that resonates with the target audience's needs and pain points.

3.1 Core Value Proposition

"Transform your event planning from chaos to control. The Event Planning Toolkit provides a comprehensive, professional, and easy-to-use suite of documents to ensure flawless execution, optimize budgets, and maximize the impact of every event, every time."

3.2 Key Benefits & Solutions

  • Streamlined Efficiency: "Save countless hours and reduce stress with pre-built templates for every stage of your event."

Solution:* Pre-designed timeline, checklists, and run-of-show.

  • Budget Mastery: "Gain complete control over your finances with a robust budget tracker that prevents overspending."

Solution:* Detailed budget tracker with expense categories and real-time monitoring.

  • Professional Execution: "Impress attendees and stakeholders with a meticulously planned and executed event."

Solution:* Vendor checklist, run-of-show, and marketing plan ensure all details are covered.

  • Data-Driven Improvement: "Measure success and gather actionable insights to make your next event even better."

Solution:* Post-event survey template for comprehensive feedback.

  • Peace of Mind: "Eliminate guesswork and ensure consistency with a proven, structured approach to event management."

Solution:* All-in-one package covers planning, execution, and analysis.

3.3 Tone & Voice

  • Professional & Authoritative: Position the toolkit as an expert-designed solution.
  • Empathetic & Problem-Solving: Acknowledge the challenges of event planning and present the toolkit as the answer.
  • Clear & Concise: Avoid jargon, focus on direct benefits.
  • Empowering: Convey a sense of control and capability for the user.

3.4 Example Messaging Snippets

  • Headline: "Stop Stressing, Start Succeeding: Your All-in-One Event Planning Toolkit Awaits."
  • Sub-headline: "From concept to curtain call, manage every detail with precision, professionalism, and peace of mind."
  • Call-to-Action (CTA):

* "Download Your Free Sample Checklist"

* "Get the Full Toolkit & Plan Your Next Event Flawlessly"

* "Streamline Your Event Planning – Shop Now!"

  • Social Media Post: "Tired of event planning chaos? 😩 Our comprehensive toolkit gives you the timeline, budget tracker, and marketing plan you need to make your next event a roaring success! #EventPlanning #SmallBusiness #NonProfit #EventManagement"

4. Key Performance Indicators (KPIs)

Measuring the effectiveness of the marketing strategy is critical for continuous optimization. KPIs will be tracked across the marketing funnel.

4.1 Marketing Funnel KPIs

  • Awareness:

* Website Traffic: Unique visitors, page views (especially product pages, blog posts).

* Social Media Reach & Impressions: How many unique users saw our content.

* Brand Mentions: Tracking mentions across social media and web.

* SEO Rankings: Position for target keywords.

  • Engagement:

* Time on Page: For key content and product pages.

* Bounce Rate: On landing pages.

* Social Media Engagement Rate: Likes, comments, shares per post.

* Email Open Rate & Click-Through Rate (CTR): For email campaigns.

* Webinar Attendance & Engagement: Number of attendees, questions asked.

  • Lead Generation:

* Lead Magnet Downloads: Number of free checklist/guide downloads.

* Lead Conversion Rate: Percentage of website visitors who become leads.

* Demo Requests/Inquiries: (If applicable for a more complex product).

  • Conversion:

* Toolkit Sales: Number of units sold.

* Conversion Rate: Percentage of leads who purchase the toolkit.

* Customer Acquisition Cost (CAC): Total marketing spend / number of new customers.

* Return on Ad Spend (ROAS): Revenue from ads / cost of ads.

4.2 Brand & Customer Satisfaction KPIs

  • Customer Reviews & Testimonials: Quantity and quality of feedback.
  • Net Promoter Score (NPS): Gauging customer loyalty and willingness to recommend.
  • Customer Lifetime Value (CLTV): (If there are recurring purchases or upsells planned for the future).

4.3 Financial KPIs

  • Revenue Growth: Month-over-month and year-over-year sales.
  • Profit Margin: On the toolkit sales.

This comprehensive marketing strategy provides a robust framework for launching and promoting the Event Planning Toolkit. Regular monitoring and analysis of these KPIs will allow for agile adjustments and continuous improvement of marketing efforts.

gemini Output

Event Planning Toolkit: Comprehensive Package

This comprehensive Event Planning Toolkit provides all the essential documents and templates required to plan, execute, and evaluate a successful event. Designed for clarity, efficiency, and professional execution, this package ensures no detail is overlooked.


1. Event Planning Timeline

This timeline outlines critical tasks across various phases of event planning, from initial concept to post-event follow-up. Adapt dates and specific tasks to fit your event's scale and duration.

Event Name: [Insert Event Name]

Event Date: [Insert Event Date]

| Phase | Timeframe (Relative to Event Date) | Key Tasks

gemini Output

Event Planning Toolkit: Comprehensive Deliverable

This comprehensive Event Planning Toolkit provides all the essential documents and templates to successfully plan, execute, and evaluate your event. Designed for professionalism and ease of use, each component is detailed and actionable, ensuring you have a structured approach from conception to post-event analysis.


1. Event Planning Timeline

This timeline provides a structured overview of key tasks and milestones, broken down by phases leading up to your event. Adjust dates and tasks as needed for your specific event's complexity and lead time.

Event Name: [Your Event Name]

Event Date: [DD/MM/YYYY]


Phase 1: 9-12 Months Out (Initial Planning & Strategy)

  • Define Event Goals & Objectives:

* What do you want to achieve? (e.g., brand awareness, lead generation, fundraising, education).

* Key Performance Indicators (KPIs) for success.

  • Determine Target Audience: Who are you trying to reach?
  • Establish Event Concept & Theme: Brainstorm ideas, unique selling points.
  • Set Preliminary Budget: Estimate major costs and potential revenue streams.
  • Form Event Committee/Team: Assign roles and responsibilities.
  • Research & Select Potential Dates: Consider holidays, competing events, venue availability.
  • Begin Venue Research: Identify potential venues based on capacity, location, and amenities.
  • Identify Key Speakers/Headliners (if applicable): Start outreach.

Phase 2: 6-9 Months Out (Foundation & Booking)

  • Finalize Event Date & Venue: Secure contracts and deposits.
  • Develop Detailed Budget: Refine estimates with actual quotes.
  • Secure Key Vendors:

* Catering (if not in-house venue).

* AV Production.

* Photography/Videography.

* Entertainment.

  • Create Event Branding & Messaging: Logo, color palette, tagline.
  • Develop Event Website/Registration Platform: Outline content, features.
  • Draft Sponsorship Packages (if applicable): Begin outreach to potential sponsors.
  • Outline Program/Agenda: Initial draft of event flow, sessions, breaks.
  • Apply for Permits/Licenses (if required): Depending on event type and location.

Phase 3: 3-6 Months Out (Marketing & Content Development)

  • Launch Event Website/Registration: Begin promoting registration.
  • Develop Marketing Plan: Identify channels, content strategy (see Section 4).
  • Start Marketing & Promotion: Social media, email campaigns, press releases.
  • Confirm Speakers/Presenters: Secure contracts, gather bios, photos, presentation needs.
  • Finalize Event Program/Agenda: Detailed schedule, session descriptions.
  • Order Event Supplies: Swag, signage, name badges, decor elements.
  • Arrange Accommodation & Travel (if applicable): For speakers, VIPs, out-of-town guests.
  • Recruit & Train Event Staff/Volunteers: Define roles, create training materials.
  • Develop Crisis Management Plan: Identify potential risks and mitigation strategies.

Phase 4: 1-3 Months Out (Logistics & Refinement)

  • Conduct Site Visits: Walk-throughs with key vendors (venue, AV, caterer).
  • Finalize Menus & Beverage Selections: With caterer.
  • Confirm All Vendor Deliverables: Timelines, setup/breakdown, specific requirements.
  • Send Speaker/Presenter Reminders: Confirm AV needs, presentation submission deadlines.
  • Develop Detailed Run-of-Show Document: (See Section 5).
  • Finalize Seating Charts & Floor Plans: If applicable.
  • Prepare Event Signage: Directional, informational, branding.
  • Send Final Marketing Pushes: Reminders, last-minute deals.
  • Process Final Payments/Deposits to Vendors: As per contracts.

Phase 5: 1 Week Out (Final Preparations)

  • Confirm Guest Count (RSVP Deadline): Provide final numbers to caterer/venue.
  • Distribute Run-of-Show: To all staff, volunteers, key vendors.
  • Conduct Team Briefing: Review roles, schedule, troubleshoot potential issues.
  • Prepare Registration Materials: Name badges, welcome packets, check-in process.
  • Assemble Emergency Kits: First aid, office supplies, tools.
  • Confirm Deliveries: Arrival times for rentals, supplies, decor.
  • Final Tech Check: With AV team, speakers.
  • Send Pre-Event Reminders: To attendees with logistics, agenda, what to bring.

Day Of Event (Execution)

  • Early Arrival: Event Manager and key staff.
  • Vendor Check-ins: Confirm setup, deliveries.
  • Staff & Volunteer Briefing: Final instructions, Q&A.
  • Registration Open: Smooth check-in process.
  • Monitor Schedule: Ensure adherence to run-of-show.
  • Troubleshoot Issues: Be ready for unexpected challenges.
  • Guest Experience Management: Ensure attendees are engaged and comfortable.
  • Post-Event Breakdown & Load-out: Coordinate with venue and vendors.

Phase 6: Post-Event (Evaluation & Follow-up)

  • Send Thank You Notes: To speakers, sponsors, vendors, staff, volunteers, attendees.
  • Distribute Post-Event Survey: (See Section 6).
  • Financial Reconciliation: Compare actual vs. budgeted costs.
  • Gather Feedback: From team, key stakeholders.
  • Conduct Debrief Meeting: Review successes, challenges, lessons learned.
  • Analyze Survey Results & KPIs: Prepare a post-event report.
  • Process Final Vendor Payments:
  • Share Event Photos/Videos: On website, social media.
  • Begin Planning for Next Event: Incorporate lessons learned.

2. Vendor Checklist

This checklist helps you track essential information and requirements for each vendor category. It ensures no detail is overlooked during the selection and management process.

Event Name: [Your Event Name]

Event Date: [DD/MM/YYYY]

| Vendor Category | Vendor Name | Contact Person | Phone/Email | Services/Items Provided | Contract Signed? | Deposit Paid? | Final Payment Due | Notes/Requirements |

| :---------------------- | :---------------- | :------------- | :---------------------- | :------------------------------------------------------------------ | :--------------- | :---------------- | :---------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

| Venue | [Venue Name] | [Contact] | [Email/Phone] | Space rental, tables, chairs, basic AV, security, cleaning | [Yes/No] | [Date/Amount] | [Date] | Capacity, accessibility, parking, setup/teardown times, insurance requirements, catering policies, noise restrictions, emergency exits, Wi-Fi. |

| Catering | [Caterer Name] | [Contact] | [Email/Phone] | Food & beverage service, staff, linens, dishware, bar service | [Yes/No] | [Date/Amount] | [Date] | Menu selections, dietary restrictions, service style (plated, buffet, stations), drink packages, tasting schedule, service staff ratio, setup/cleanup. |

| Audio-Visual (AV) | [AV Company] | [Contact] | [Email/Phone] | Projectors, screens, microphones, sound system, lighting, tech support | [Yes/No] | [Date/Amount] | [Date] | Specific equipment needs (projectors, mics, screens, monitors), lighting requirements (stage, ambient), sound quality, tech support during event, power requirements, setup/test times, internet bandwidth. |

| Photography/Video | [Company/Name] | [Contact] | [Email/Phone] | Event photography, videography, editing, delivery of assets | [Yes/No] | [Date/Amount] | [Date] | Hours of coverage, shot list (key moments, speakers, branding), delivery format, usage rights, turnaround time for edits, specific photo/video styles, drone footage. |

| Entertainment | [Artist/Company] | [Contact] | [Email/Phone] | DJ, band, speaker, performer | [Yes/No] | [Date/Amount] | [Date] | Performance times, setup/sound check, rider requirements (green room, food/drink), technical needs (stage size, power), playlist preferences, breaks. |

| Decor/Florals | [Company Name] | [Contact] | [Email/Phone] | Table centerpieces, stage decor, backdrops, entrance decor | [Yes/No] | [Date/Amount] | [Date] | Theme adherence, color palette, delivery/setup/pickup times, specific floral arrangements, lighting elements, furniture rentals. |

| Security | [Company Name] | [Contact] | [Email/Phone] | Crowd control, access points, VIP protection | [Yes/No] | [Date/Amount] | [Date] | Number of guards, coverage areas, hours, emergency protocols, communication with event staff, bag checks, entry/exit points. |

| Staffing/Volunteers | [Agency/Manager] | [Contact] | [Email/Phone] | Registration staff, ushers, coat check, general support | [Yes/No] | [Date/Amount] | [Date] | Number of staff/volunteers, roles, training schedule, uniform requirements, break schedules, point person for coordination. |

| Transportation | [Company Name] | [Contact] | [Email/Phone] | Shuttle service, VIP transport | [Yes/No] | [Date/Amount] | [Date] | Number of vehicles, routes, schedule, passenger capacity, accessibility needs, signage on vehicles. |

| Printing/Signage | [Company Name] | [Contact] | [Email/Phone] | Banners, directional signs, name badges, program booklets | [Yes/No] | [Date/Amount] | [Date] | File formats, proofing process, delivery dates, quantities, installation requirements for large signage. |

| Registration Tech | [Platform Name] | [Contact] | [Email/Phone] | Online registration platform, on-site check-in, lead retrieval | [Yes/No] | [Date/Amount] | [Date] | Customization options, data security, reporting capabilities, badge printing, technical support during event, integration with other systems. |

| Insurance | [Provider Name] | [Contact] | [Email/Phone] | Event liability insurance | [Yes/No] | [Date/Amount] | [Date] | Coverage limits, specific risks covered (cancellation, injury), third-party vendor requirements, certificate of insurance (COI) for venue. |

| Waste Management | [Company Name] | [Contact] | [Email/Phone] | Trash removal, recycling services | [Yes/No] | [Date/Amount] | [Date] | Number of bins, placement, collection schedule, recycling options (compost, glass, plastic), sustainable practices. |

| Other (Specify) | [Vendor Name] | [Contact] | [Email/Phone] | [Service] | [Yes/No] | [Date/Amount] | [Date] | [Specific requirements] |


3. Budget Tracker

This budget tracker helps you manage your event finances by comparing estimated costs against actual expenditures. Remember to include a contingency fund for unexpected expenses.

Event Name: [Your Event Name]

Event Date: [DD/MM/YYYY]

| Budget Category | Sub-Category | Estimated Cost | Actual Cost | Variance (Actual - Estimated) | Notes/Details | Status (Paid/Due) | Due Date |

| :------------------------ | :-------------------- | :------------- | :---------- | :---------------------------- | :------------------------------------------------------------------------------------ | :---------------- | :------- |

| Revenue | | | | | | | |

| Ticket Sales | | [Amount] | [Amount] | [Amount] | Projected vs. actual number of attendees. | | |

| Sponsorships | | [Amount] | [Amount] | [Amount] | Confirmed sponsors and their contribution. | | |

| Exhibitor Fees | | [Amount] | [Amount] | [Amount] | Number of exhibitors and booth fees. | | |

| Merchandise Sales | | [Amount] | [Amount] | [Amount] | | | |

| Other Revenue | | [Amount] | [Amount] | [Amount] | Grants, donations, etc. | | |

| Total Revenue | | [Total Est]| [Total Act]| [Total Var] | | | |

| | | | | | | | |

| Expenses | | | | | | | |

| Venue & Logistics | | | | | | | |

| Venue Rental | | [Amount] | [Amount] | [Amount] | | [Paid/Due] | [Date] |

| Permits/Licenses | | [Amount] | [Amount] | [Amount] | | [Paid/Due] | [Date] |

| Security | | [Amount] | [Amount] | [Amount] | | [Paid/Due] | [Date] |

| Insurance | | [Amount] | [Amount] | [Amount] | | [Paid/Due] | [Date] |

| Cleaning | | [Amount] | [Amount] | [Amount] | | [Paid/Due] | [Date] |

| Waste Management | | [Amount] | [Amount] | [Amount] | | [Paid/Due] | [Date] |

| Food & Beverage | | | | | | | |

| Catering/Menu | | [Amount] | [Amount] | [Amount] | Per person cost, special dietary needs. | [Paid/Due] | [Date] |

| Beverages/Bar | | [Amount] | [Amount] | [Amount] | | [Paid/Due] | [Date] |

| Staffing (F&B) | | [Amount]

event_planning_toolkit.md
Download as Markdown
Copy all content
Full output as text
Download ZIP
IDE-ready project ZIP
Copy share link
Permanent URL for this run
Get Embed Code
Embed this result on any website
Print / Save PDF
Use browser print dialog
\n\n\n"); var hasSrcMain=Object.keys(extracted).some(function(k){return k.indexOf("src/main")>=0;}); if(!hasSrcMain) zip.file(folder+"src/main."+ext,"import React from 'react'\nimport ReactDOM from 'react-dom/client'\nimport App from './App'\nimport './index.css'\n\nReactDOM.createRoot(document.getElementById('root')!).render(\n \n \n \n)\n"); var hasSrcApp=Object.keys(extracted).some(function(k){return k==="src/App."+ext||k==="App."+ext;}); if(!hasSrcApp) zip.file(folder+"src/App."+ext,"import React from 'react'\nimport './App.css'\n\nfunction App(){\n return(\n
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n
\n )\n}\nexport default App\n"); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e}\n.app{min-height:100vh;display:flex;flex-direction:column}\n.app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px}\nh1{font-size:2.5rem;font-weight:700}\n"); zip.file(folder+"src/App.css",""); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/pages/.gitkeep",""); zip.file(folder+"src/hooks/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\n## Open in IDE\nOpen the project folder in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Vue (Vite + Composition API + TypeScript) --- */ function buildVue(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "type": "module",\n "scripts": {\n "dev": "vite",\n "build": "vue-tsc -b && vite build",\n "preview": "vite preview"\n },\n "dependencies": {\n "vue": "^3.5.13",\n "vue-router": "^4.4.5",\n "pinia": "^2.3.0",\n "axios": "^1.7.9"\n },\n "devDependencies": {\n "@vitejs/plugin-vue": "^5.2.1",\n "typescript": "~5.7.3",\n "vite": "^6.0.5",\n "vue-tsc": "^2.2.0"\n }\n}\n'); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite'\nimport vue from '@vitejs/plugin-vue'\nimport { resolve } from 'path'\n\nexport default defineConfig({\n plugins: [vue()],\n resolve: { alias: { '@': resolve(__dirname,'src') } }\n})\n"); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]}\n'); zip.file(folder+"tsconfig.app.json",'{\n "compilerOptions":{\n "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"],\n "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true,\n "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue",\n "strict":true,"paths":{"@/*":["./src/*"]}\n },\n "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"]\n}\n'); zip.file(folder+"env.d.ts","/// \n"); zip.file(folder+"index.html","\n\n\n \n \n "+slugTitle(pn)+"\n\n\n
\n \n\n\n"); var hasMain=Object.keys(extracted).some(function(k){return k==="src/main.ts"||k==="main.ts";}); if(!hasMain) zip.file(folder+"src/main.ts","import { createApp } from 'vue'\nimport { createPinia } from 'pinia'\nimport App from './App.vue'\nimport './assets/main.css'\n\nconst app = createApp(App)\napp.use(createPinia())\napp.mount('#app')\n"); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue","\n\n\n\n\n"); zip.file(folder+"src/assets/main.css","*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,sans-serif;background:#fff;color:#213547}\n"); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/views/.gitkeep",""); zip.file(folder+"src/stores/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\nOpen in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Angular (v19 standalone) --- */ function buildAngular(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var sel=pn.replace(/_/g,"-"); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "scripts": {\n "ng": "ng",\n "start": "ng serve",\n "build": "ng build",\n "test": "ng test"\n },\n "dependencies": {\n "@angular/animations": "^19.0.0",\n "@angular/common": "^19.0.0",\n "@angular/compiler": "^19.0.0",\n "@angular/core": "^19.0.0",\n "@angular/forms": "^19.0.0",\n "@angular/platform-browser": "^19.0.0",\n "@angular/platform-browser-dynamic": "^19.0.0",\n "@angular/router": "^19.0.0",\n "rxjs": "~7.8.0",\n "tslib": "^2.3.0",\n "zone.js": "~0.15.0"\n },\n "devDependencies": {\n "@angular-devkit/build-angular": "^19.0.0",\n "@angular/cli": "^19.0.0",\n "@angular/compiler-cli": "^19.0.0",\n "typescript": "~5.6.0"\n }\n}\n'); zip.file(folder+"angular.json",'{\n "$schema": "./node_modules/@angular/cli/lib/config/schema.json",\n "version": 1,\n "newProjectRoot": "projects",\n "projects": {\n "'+pn+'": {\n "projectType": "application",\n "root": "",\n "sourceRoot": "src",\n "prefix": "app",\n "architect": {\n "build": {\n "builder": "@angular-devkit/build-angular:application",\n "options": {\n "outputPath": "dist/'+pn+'",\n "index": "src/index.html",\n "browser": "src/main.ts",\n "tsConfig": "tsconfig.app.json",\n "styles": ["src/styles.css"],\n "scripts": []\n }\n },\n "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"}\n }\n }\n }\n}\n'); zip.file(folder+"tsconfig.json",'{\n "compileOnSave": false,\n "compilerOptions": {"baseUrl":"./","outDir":"./dist/out-tsc","forceConsistentCasingInFileNames":true,"strict":true,"noImplicitOverride":true,"noPropertyAccessFromIndexSignature":true,"noImplicitReturns":true,"noFallthroughCasesInSwitch":true,"paths":{"@/*":["src/*"]},"skipLibCheck":true,"esModuleInterop":true,"sourceMap":true,"declaration":false,"experimentalDecorators":true,"moduleResolution":"bundler","importHelpers":true,"target":"ES2022","module":"ES2022","useDefineForClassFields":false,"lib":["ES2022","dom"]},\n "references":[{"path":"./tsconfig.app.json"}]\n}\n'); zip.file(folder+"tsconfig.app.json",'{\n "extends":"./tsconfig.json",\n "compilerOptions":{"outDir":"./dist/out-tsc","types":[]},\n "files":["src/main.ts"],\n "include":["src/**/*.d.ts"]\n}\n'); zip.file(folder+"src/index.html","\n\n\n \n "+slugTitle(pn)+"\n \n \n \n\n\n \n\n\n"); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser';\nimport { appConfig } from './app/app.config';\nimport { AppComponent } from './app/app.component';\n\nbootstrapApplication(AppComponent, appConfig)\n .catch(err => console.error(err));\n"); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; }\nbody { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; }\n"); var hasComp=Object.keys(extracted).some(function(k){return k.indexOf("app.component")>=0;}); if(!hasComp){ zip.file(folder+"src/app/app.component.ts","import { Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'app-root',\n standalone: true,\n imports: [RouterOutlet],\n templateUrl: './app.component.html',\n styleUrl: './app.component.css'\n})\nexport class AppComponent {\n title = '"+pn+"';\n}\n"); zip.file(folder+"src/app/app.component.html","
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n \n
\n"); zip.file(folder+"src/app/app.component.css",".app-header{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}h1{font-size:2.5rem;font-weight:700;color:#6366f1}\n"); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core';\nimport { provideRouter } from '@angular/router';\nimport { routes } from './app.routes';\n\nexport const appConfig: ApplicationConfig = {\n providers: [\n provideZoneChangeDetection({ eventCoalescing: true }),\n provideRouter(routes)\n ]\n};\n"); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router';\n\nexport const routes: Routes = [];\n"); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nng serve\n# or: npm start\n\`\`\`\n\n## Build\n\`\`\`bash\nng build\n\`\`\`\n\nOpen in VS Code with Angular Language Service extension.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n.angular/\n"); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var reqMap={"numpy":"numpy","pandas":"pandas","sklearn":"scikit-learn","tensorflow":"tensorflow","torch":"torch","flask":"flask","fastapi":"fastapi","uvicorn":"uvicorn","requests":"requests","sqlalchemy":"sqlalchemy","pydantic":"pydantic","dotenv":"python-dotenv","PIL":"Pillow","cv2":"opencv-python","matplotlib":"matplotlib","seaborn":"seaborn","scipy":"scipy"}; var reqs=[]; Object.keys(reqMap).forEach(function(k){if(src.indexOf("import "+k)>=0||src.indexOf("from "+k)>=0)reqs.push(reqMap[k]);}); var reqsTxt=reqs.length?reqs.join("\n"):"# add dependencies here\n"; zip.file(folder+"main.py",src||"# "+title+"\n# Generated by PantheraHive BOS\n\nprint(title+\" loaded\")\n"); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\npython3 -m venv .venv\nsource .venv/bin/activate\npip install -r requirements.txt\n\`\`\`\n\n## Run\n\`\`\`bash\npython main.py\n\`\`\`\n"); zip.file(folder+".gitignore",".venv/\n__pycache__/\n*.pyc\n.env\n.DS_Store\n"); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var depMap={"mongoose":"^8.0.0","dotenv":"^16.4.5","axios":"^1.7.9","cors":"^2.8.5","bcryptjs":"^2.4.3","jsonwebtoken":"^9.0.2","socket.io":"^4.7.4","uuid":"^9.0.1","zod":"^3.22.4","express":"^4.18.2"}; var deps={}; Object.keys(depMap).forEach(function(k){if(src.indexOf(k)>=0)deps[k]=depMap[k];}); if(!deps["express"])deps["express"]="^4.18.2"; var pkgJson=JSON.stringify({"name":pn,"version":"1.0.0","main":"src/index.js","scripts":{"start":"node src/index.js","dev":"nodemon src/index.js"},"dependencies":deps,"devDependencies":{"nodemon":"^3.0.3"}},null,2)+"\n"; zip.file(folder+"package.json",pkgJson); var fallback="const express=require(\"express\");\nconst app=express();\napp.use(express.json());\n\napp.get(\"/\",(req,res)=>{\n res.json({message:\""+title+" API\"});\n});\n\nconst PORT=process.env.PORT||3000;\napp.listen(PORT,()=>console.log(\"Server on port \"+PORT));\n"; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000\n"); zip.file(folder+".gitignore","node_modules/\n.env\n.DS_Store\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\n\`\`\`\n\n## Run\n\`\`\`bash\nnpm run dev\n\`\`\`\n"); } /* --- Vanilla HTML --- */ function buildVanillaHtml(zip,folder,app,code){ var title=slugTitle(app); var isFullDoc=code.trim().toLowerCase().indexOf("=0||code.trim().toLowerCase().indexOf("=0; var indexHtml=isFullDoc?code:"\n\n\n\n\n"+title+"\n\n\n\n"+code+"\n\n\n\n"; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */\n*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e}\n"); zip.file(folder+"script.js","/* "+title+" — scripts */\n"); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Open\nDouble-click \`index.html\` in your browser.\n\nOr serve locally:\n\`\`\`bash\nnpx serve .\n# or\npython3 -m http.server 3000\n\`\`\`\n"); zip.file(folder+".gitignore",".DS_Store\nnode_modules/\n.env\n"); } /* ===== MAIN ===== */ var sc=document.createElement("script"); sc.src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"; sc.onerror=function(){ if(lbl)lbl.textContent="Download ZIP"; alert("JSZip load failed — check connection."); }; sc.onload=function(){ var zip=new JSZip(); var base=(_phFname||"output").replace(/\.[^.]+$/,""); var app=base.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"my_app"; var folder=app+"/"; var vc=document.getElementById("panel-content"); var panelTxt=vc?(vc.innerText||vc.textContent||""):""; var lang=detectLang(_phCode,panelTxt); if(_phIsHtml){ buildVanillaHtml(zip,folder,app,_phCode); } else if(lang==="flutter"){ buildFlutter(zip,folder,app,_phCode,panelTxt); } else if(lang==="react-native"){ buildReactNative(zip,folder,app,_phCode,panelTxt); } else if(lang==="swift"){ buildSwift(zip,folder,app,_phCode,panelTxt); } else if(lang==="kotlin"){ buildKotlin(zip,folder,app,_phCode,panelTxt); } else if(lang==="react"){ buildReact(zip,folder,app,_phCode,panelTxt); } else if(lang==="vue"){ buildVue(zip,folder,app,_phCode,panelTxt); } else if(lang==="angular"){ buildAngular(zip,folder,app,_phCode,panelTxt); } else if(lang==="python"){ buildPython(zip,folder,app,_phCode); } else if(lang==="node"){ buildNode(zip,folder,app,_phCode); } else { /* Document/content workflow */ var title=app.replace(/_/g," "); var md=_phAll||_phCode||panelTxt||"No content"; zip.file(folder+app+".md",md); var h=""+title+""; h+="

"+title+"

"; var hc=md.replace(/&/g,"&").replace(//g,">"); hc=hc.replace(/^### (.+)$/gm,"

$1

"); hc=hc.replace(/^## (.+)$/gm,"

$1

"); hc=hc.replace(/^# (.+)$/gm,"

$1

"); hc=hc.replace(/\*\*(.+?)\*\*/g,"$1"); hc=hc.replace(/\n{2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\nFiles:\n- "+app+".md (Markdown)\n- "+app+".html (styled HTML)\n"); } zip.generateAsync({type:"blob"}).then(function(blob){ var a=document.createElement("a"); a.href=URL.createObjectURL(blob); a.download=app+".zip"; a.click(); URL.revokeObjectURL(a.href); if(lbl)lbl.textContent="Download ZIP"; }); }; document.head.appendChild(sc); } function phShare(){navigator.clipboard.writeText(window.location.href).then(function(){var el=document.getElementById("ph-share-lbl");if(el){el.textContent="Link copied!";setTimeout(function(){el.textContent="Copy share link";},2500);}});}function phEmbed(){var runId=window.location.pathname.split("/").pop().replace(".html","");var embedUrl="https://pantherahive.com/embed/"+runId;var code='';navigator.clipboard.writeText(code).then(function(){var el=document.getElementById("ph-embed-lbl");if(el){el.textContent="Embed code copied!";setTimeout(function(){el.textContent="Get Embed Code";},2500);}});}