Influencer Campaign Planner
Run ID: 69cbe7cd61b1021a29a8d6652026-03-31Marketing
PantheraHive BOS
BOS Dashboard

Plan an influencer marketing campaign with ideal influencer profiles, outreach templates, contract terms, content guidelines, and ROI tracking framework.

Step 1 of 3: Audience Analysis for Influencer Campaign Planner

This document provides a comprehensive analysis of the target audience, forming the bedrock for your influencer marketing campaign. Understanding your audience deeply is crucial for identifying the right influencers, crafting compelling content, and achieving a strong return on investment (ROI).


1. Introduction: The Foundation of Your Campaign

The objective of this initial step is to conduct a thorough analysis of your ideal customer. By dissecting their demographics, psychographics, and behavioral patterns, we can identify where they spend their time online, what content resonates with them, and who influences their decisions. This detailed understanding will directly inform the selection of appropriate influencers, the development of engaging content guidelines, and the overall strategic direction of your campaign.

For the purpose of this detailed output, we will use a hypothetical brand, "EcoFit Activewear," which specializes in sustainable and ethically produced activewear for an active, environmentally conscious lifestyle.


2. Defining Your Target Audience: EcoFit Activewear Example

Primary Target Audience Persona: "Conscious Carrie"

  • Description: Carrie is a young professional or student who prioritizes health, wellness, and environmental sustainability. She is active, socially aware, and seeks products that align with her values. She uses social media for inspiration, community, and product discovery.
  • Age: 22-35 years old
  • Gender: Primarily Female (but includes gender-neutral individuals who identify with the values)
  • Location: Urban and suburban areas in developed countries (e.g., North America, Western Europe, Australia).
  • Income Level: Mid-to-high disposable income, willing to pay a premium for quality, sustainability, and ethical production.
  • Education Level: College-educated or currently pursuing higher education.

Secondary Target Audience:

  • Description: Slightly older individuals (35-45) who are established in their careers, have families, but still maintain an active lifestyle and are increasingly concerned about environmental impact and ethical consumption for themselves and their children. They might be less trend-driven but highly value product longevity and brand integrity.

3. Deep Dive: Demographic Profile

A closer look at the factual characteristics of your primary audience.

  • Age Range (22-35 years old):

* Insights: This segment primarily consists of Gen Z and younger Millennials. They are digital natives, highly adept at consuming content across various platforms, and are comfortable with online shopping. They are in a life stage where they are establishing careers, exploring personal interests, and forming their identities, often through their consumption choices.

* Trends: Increased focus on personal well-being, mental health, and social justice. They are less brand-loyal than older generations but highly loyal to brands that genuinely reflect their values.

* Recommendation: Influencer content should be authentic, relatable, and demonstrate a genuine connection to the brand's values, not just product promotion.

  • Gender Distribution (Primarily Female, but inclusive):

* Insights: While activewear marketing historically leaned heavily female, there's a growing market for gender-neutral and male activewear, especially with sustainable brands. However, the primary purchasing decision-makers for fashion-forward activewear with a strong ethical component often skew female.

* Trends: Increasing demand for inclusive sizing, diverse representation, and gender-neutral options in fashion.

* Recommendation: Focus influencer outreach on diverse female voices, but also consider male or gender-neutral fitness and lifestyle influencers who align with sustainability values to broaden reach.

  • Geographic Location (Urban & Suburban, Developed Countries):

* Insights: Higher concentration of individuals with disposable income and access to sustainable lifestyle options. Urban environments often foster communities around fitness and wellness, and suburban areas see a rise in active families.

* Trends: Growth of local fitness communities, outdoor activities, and conscious consumerism in accessible markets.

* Recommendation: Prioritize influencers with a strong local or regional following in target cities/countries, especially those who showcase active lifestyles in relatable settings. Geo-targeted ad campaigns can amplify influencer content.

  • Income Level (Mid-to-High Disposable Income):

* Insights: This audience is willing to invest in higher-quality, ethically produced goods, even if they come at a premium price, because they see it as an investment in their values and longevity. They are not simply price-driven.

* Trends: "Conscious spending" where value is derived from ethical production, environmental impact, and durability, not just low cost.

Recommendation: Influencer messaging should highlight the value* proposition (e.g., durability, comfort, ethical impact) rather than focusing solely on price. Emphasize the long-term benefits and the positive impact of their purchase.

  • Education Level (College-Educated or Pursuing):

* Insights: This audience is generally well-informed, critical thinkers, and capable of understanding complex messages around sustainability and ethical production. They appreciate transparency and data-backed claims.

* Trends: A desire for knowledge and understanding behind product claims. Skepticism towards greenwashing.

* Recommendation: Influencers should be articulate and able to explain the brand's sustainability practices credibly. Content can include educational elements about materials, supply chain, and certifications.


4. Understanding Their World: Psychographic Profile

Delving into the psychological attributes, values, and lifestyle choices of your audience.

  • Interests & Hobbies:

* Insights: Yoga, Pilates, running, hiking, gym workouts, outdoor activities, healthy cooking, plant-based diets, meditation, mindfulness, travel, environmental activism, personal growth, reading.

* Trends: Holistic wellness (mind, body, spirit), growth of niche fitness communities (e.g., Peloton users, specific yoga styles), interest in plant-based and sustainable food.

* Recommendation: Partner with influencers whose content naturally integrates these interests. Look for fitness instructors, wellness coaches, outdoor enthusiasts, or sustainable lifestyle bloggers.

  • Values & Beliefs:

* Insights: Sustainability, environmental protection, ethical labor practices, authenticity, transparency, community, body positivity, mental well-being, self-improvement, social justice, conscious consumerism.

* Trends: Strong preference for brands that demonstrate genuine commitment to social and environmental causes. Distrust of performative activism or "greenwashing."

* Recommendation: Influencers must genuinely embody these values. Their personal brand should reflect integrity and a commitment to similar causes. Content should highlight EcoFit's specific sustainable practices, not just general statements.

  • Lifestyle:

* Insights: Active, health-conscious, digitally native, socially aware, engaged in communities (online and offline), often busy, values convenience but not at the expense of ethics. They seek balance between work, fitness, and personal life.

* Trends: Work-life integration, digital detox trends balanced with heavy digital consumption, rise of "athleisure" as everyday wear.

* Recommendation: Influencers should showcase how EcoFit Activewear seamlessly integrates into their daily, active, and conscious lifestyle – from workouts to casual outings, emphasizing versatility and comfort.

  • Pain Points & Aspirations:

* Insights:

* Pain Points: Finding truly sustainable and ethical activewear that performs well and looks good; discomfort with fast fashion's environmental impact; lack of transparency from brands; feeling overwhelmed by choices.

* Aspirations: To live a healthy, balanced, and impactful life; to make responsible purchasing decisions; to feel good about their choices; to be part of a like-minded community; to express their values through their style.

* Recommendation: Influencer messaging should address these pain points directly (e.g., "finally activewear you can feel good about buying and wearing!") and tap into aspirations (e.g., "join me on my journey to a more sustainable lifestyle with EcoFit").


5. How They Engage: Behavioral Insights

Understanding how your audience interacts with content and makes purchasing decisions.

  • Online Behavior:

* Preferred Platforms: Instagram (Stories, Reels, Feed), TikTok, YouTube (fitness tutorials, vlogs), Pinterest (inspiration, mood boards), potentially niche wellness forums/communities. Less emphasis on Facebook for primary discovery.

* Content Consumption Habits: Highly visual content (photos, short-form video), authentic storytelling, behind-the-scenes glimpses, educational content, live Q&As, user-generated content (UGC). They often follow niche accounts rather than just mega-influencers.

* Online Shopping Habits: Research products extensively online, read reviews, compare brands. Influencer recommendations are a significant trust factor. They use mobile devices for most online activities.

* Trends: Dominance of short-form video (Reels, TikTok), rise of shoppable content, increased reliance on peer reviews and influencer testimonials.

* Recommendation: Prioritize Instagram and TikTok. Influencer campaigns should leverage short-form video formats, authentic reviews, and direct links to products. Encourage user-generated content and brand tagging.

  • Purchase Drivers:

* Insights: Brand values (sustainability, ethics), product quality and durability, comfort, fit, style, peer recommendations (especially from trusted influencers), transparency of production, positive social impact. Price is a consideration but secondary to value and ethics.

* Trends: Shift from purely aesthetic purchases to "purpose-driven" purchases.

* Recommendation: Influencer content should highlight the brand's sustainable materials, ethical manufacturing, product performance, and how it aligns with their personal values. Social proof (reviews, community engagement) is vital.

  • Engagement Patterns:

* Insights: Active participation in comments, DMs, polls, and Q&A sessions, especially with influencers they trust. They share content that resonates with their values.

* Trends: Desire for interactive content and direct communication with influencers and brands.

* Recommendation: Encourage influencers to host Q&As about EcoFit, run polls, and respond to comments. Facilitate user-generated content challenges or contests to boost engagement and organic reach.


6. Strategic Implications & Recommendations

Based on the comprehensive audience analysis, here are the strategic recommendations for your EcoFit Activewear influencer campaign:

  • Influencer Profile Alignment:

* Type: Micro and Mid-Tier Influencers (10K - 250K followers) with high engagement rates are often more effective than mega-influencers, as they foster a stronger sense of community and trust. Niche experts (yoga instructors, sustainable living advocates, personal trainers) are ideal.

* Values: Influencers must genuinely embody sustainable and healthy lifestyles. Their content should reflect authenticity and a clear alignment with EcoFit's ethical mission. Avoid influencers known for fast fashion or excessive consumption.

* Aesthetic: Clean, natural, active, aspirational yet achievable. Focus on showcasing real-life scenarios rather than overly produced, artificial shoots.

* Diversity: Select a diverse range of influencers in terms of body type, ethnicity, and background to resonate with a broad audience and promote inclusivity.

  • Platform Prioritization:

* Primary: Instagram (Reels, Stories, In-Feed Posts) and TikTok. These platforms offer the visual and short-form video formats preferred by the target audience and are excellent for discovery and community building.

* Secondary: YouTube (for longer-form reviews, "day in the life" content, workout routines), Pinterest (for aesthetic inspiration and product discovery).

  • Content Strategy & Themes:

* Authentic Storytelling: Influencers should share their personal journey with sustainability and fitness, integrating EcoFit Activewear naturally into their routines.

* Educational Content: Explain the "why" behind sustainable activewear – materials, ethical production, impact.

* Performance & Versatility: Showcase the activewear in various activities (yoga, running, hiking, daily wear) to highlight comfort, durability, and style.

* "Outfit of the Day" / Styling: Demonstrate how EcoFit pieces can be styled for different occasions, emphasizing athleisure trends.

* Behind-the-Scenes/Transparency: If applicable, influencers can share insights into EcoFit's brand story or values.

* Interactive Content: Q&As, polls, "ask me anything" sessions about sustainability, fitness, or EcoFit products.

*User-Generated Content (

gemini Output

Influencer Campaign Planner: Your Blueprint for Success

Unlock unparalleled brand growth and connect with your audience authentically through a meticulously planned influencer marketing campaign.

This comprehensive guide provides you with all the essential components to launch, manage, and measure a high-impact influencer marketing initiative. From identifying the perfect voices to track your return on investment, we've got you covered.


1. Campaign Overview & Strategic Objectives

Campaign Title: [Your Campaign Title Here - e.g., "Elevate Your Everyday with [Brand Name]"]

Campaign Goal: To drive [Awareness/Engagement/Sales/Leads/Website Traffic] for [Product/Service/Brand] by leveraging authentic content creators.

Target Audience: [Describe your ideal customer demographic, psychographics, interests]

Key Message: [Concise, impactful message you want influencers to convey]


2. Ideal Influencer Profiles: Finding Your Brand's Perfect Match

Identifying the right influencers is paramount. Our strategy focuses on authenticity, audience alignment, and proven engagement.

Core Characteristics:

  • Audience Alignment: Influencer's primary audience must closely match your target demographic and psychographics.
  • Niche Relevance: Their content niche (e.g., beauty, tech, fitness, sustainable living) must align with your brand or product category.
  • Authenticity & Trust: Influencers who genuinely connect with their audience and maintain trust are invaluable. Look for genuine comments, not just likes.
  • Brand Fit: Their personal brand, values, and past collaborations should resonate positively with your brand's image and values.

Influencer Tiers & Considerations:

| Tier | Follower Range | Engagement & Impact | Ideal For |

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

| Nano | 1,000 - 10,000 | Highest engagement rates; deeply connected, niche communities; highly authentic and trusted; cost-effective. | Niche product launches, authentic reviews, hyper-targeted campaigns. |

| Micro | 10,000 - 100,000 | Strong engagement; growing influence within specific niches; good balance of reach and authenticity. | Product reviews, tutorials, brand ambassadorships, community building. |

| Macro | 100,000 - 1 Million | Significant reach; established presence; professional content creation; can drive considerable traffic. | Major product launches, brand awareness campaigns, reaching broader audiences. |

| Mega/Celeb | 1 Million+ | Massive reach; high visibility; can generate significant buzz and mainstream media attention; higher cost. | Large-scale brand awareness, celebrity endorsements, national campaigns. |

Key Metrics to Evaluate:

  • Engagement Rate: (Likes + Comments + Shares) / Followers * 100%. Aim for 2-5% for Macro/Mega, 5-10%+ for Micro/Nano.
  • Audience Demographics: Verify their audience aligns with your target (age, gender, location, interests).
  • Content Quality: High-resolution visuals, clear audio, compelling storytelling, and a consistent aesthetic.
  • Past Collaborations: Review previous sponsored content for authenticity, disclosure compliance, and performance.
  • Follower Growth Rate: Indicates genuine audience expansion versus potential bot activity.

3. Influencer Outreach Strategy & Templates

A professional and personalized outreach approach is crucial for securing top-tier talent.

Outreach Best Practices:

  • Personalization: Address them by name, reference specific content of theirs you admire, and explain why you think they're a great fit.
  • Clear Value Proposition: Clearly state what the collaboration entails and what's in it for them (payment, free product, long-term partnership, creative freedom).
  • Concise & Professional: Get straight to the point without being overly verbose.
  • Call to Action: Make it easy for them to respond (e.g., "Are you open to discussing this further?").
  • Follow-Up: A gentle reminder after 3-5 business days can significantly improve response rates.

Template 1: Initial Outreach Email

Subject: Exciting Collaboration Opportunity with [Your Brand Name] - [Influencer's Name]

Dear [Influencer's Name],

My name is [Your Name] and I'm the [Your Title] at [Your Brand Name]. I've been following your work on [Platform, e.g., Instagram/TikTok/YouTube] for some time, and I'm particularly impressed by your [mention specific content piece or style, e.g., "authentic reviews of sustainable products" or "engaging travel vlogs"]. Your audience's genuine connection with your content truly stands out.

At [Your Brand Name], we create [briefly describe your product/service and its unique selling point, e.g., "eco-friendly home goods designed to simplify daily life"]. We believe your unique voice and engaged community would be a perfect fit to introduce our [specific product/campaign] to a wider audience.

We're planning an exciting campaign around [campaign theme/product launch] and we envision you creating [suggest content format, e.g., "an authentic Instagram Reel showcasing your experience with our product" or "a detailed YouTube review"]. We offer competitive compensation, free product, and creative freedom to ensure the content truly reflects your style.

Would you be open to a brief chat to discuss this potential partnership further? Please let me know your availability for a quick 15-minute call next week.

Thank you for your time and consideration.

Best regards,

[Your Name]

[Your Title]

[Your Brand Name]

[Your Website]

[Your Social Media Links]


Template 2: Follow-Up Email

Subject: Following Up: Collaboration Opportunity with [Your Brand Name] - [Influencer's Name]

Dear [Influencer's Name],

Hope this email finds you well.

I'm just following up on my previous email from [Date] regarding a potential collaboration opportunity with [Your Brand Name]. I understand you have a busy schedule, but I wanted to make sure my initial message didn't get lost in your inbox.

We're genuinely excited about the possibility of working with you to showcase our [Product/Service] to your engaged audience. We believe your unique approach to [mention their niche/content style] aligns perfectly with our campaign goals.

If you're interested in learning more, please let me know. I'd be happy to answer any questions you might have or schedule a quick call at your convenience.

Thank you again for your time.

Best regards,

[Your Name]

[Your Title]

[Your Brand Name]


4. Influencer Contract Key Terms & Conditions

A clear, comprehensive contract protects both your brand and the influencer. Consult legal counsel for final contract drafting.

Essential Clauses:

  1. Scope of Work & Deliverables:

* Specific content formats (e.g., 1 Instagram Reel, 3 Instagram Stories, 1 static post).

* Number of posts, stories, videos, etc.

* Platforms for content distribution.

* Specific messaging, hashtags, and CTAs required.

* Deadlines for content submission (drafts) and final posting.

* Mandatory inclusion of specific product features or benefits.

  1. Payment Terms:

* Agreed-upon compensation (flat fee, product in kind, affiliate commission, hybrid).

* Payment schedule (e.g., 50% upfront, 50% upon completion; net 30 days).

* Method of payment.

* Details on late payment penalties.

  1. Content Rights & Usage:

* Brand's Usage Rights: Clearly state how your brand can repurpose, share, and use the influencer's content (e.g., on your social channels, website, paid ads, email marketing) and for how long.

* Influencer's Rights: Typically, the influencer retains ownership, but grants the brand a license.

* Exclusivity: If the brand requires exclusive rights to the content, specify.

  1. Disclosure Requirements:

* Mandatory: Clear and conspicuous disclosure of partnership (e.g., #Ad, #Sponsored, #BrandPartner, "Paid Partnership with [Brand Name]").

* Compliance with FTC (US), ASA (UK), or local advertising standards.

* Influencer's commitment to educate their audience on sponsored content.

  1. Exclusivity Clause:

* Specify if the influencer is prohibited from working with direct competitors for a defined period (e.g., 30/60/90 days before and after campaign launch).

* Clearly define "competitor."

  1. Review & Approval Process:

* Timeline for draft submission and brand feedback.

* Number of revisions allowed.

* Final approval required before content goes live.

  1. Termination Clause:

* Conditions under which either party can terminate the agreement (e.g., breach of contract, failure to meet deadlines, brand safety issues).

* Consequences of termination (e.g., repayment, content removal).

  1. Reporting & Analytics:

* Influencer's obligation to provide performance data (screenshots of analytics) within a specific timeframe after posting.

  1. Confidentiality:

* Agreement to keep campaign details, compensation, and proprietary information confidential.

  1. Indemnification:

* Protection for both parties against legal claims arising from the collaboration.

  1. Governing Law:

* Specify the jurisdiction whose laws will govern the contract.


5. Content Guidelines & Creative Brief

Empower your influencers with a clear creative brief that outlines your vision while allowing for their authentic voice.

Campaign Theme & Key Messages:

  • Overall Campaign Vibe: (e.g., aspirational, humorous, educational, relatable, luxurious)
  • Core Message(s): What 1-2 key takeaways should the audience have?
  • Call to Action (CTA): What do you want the audience to do? (e.g., "Shop now at [link in bio]," "Learn more at [website.com]," "Use code [DISCOUNT] for 15% off").

Content Formats & Requirements:

  • Platform(s): Instagram, TikTok, YouTube, Blog, Pinterest, Facebook, etc.
  • Specific Deliverables:

* Instagram:

* Reel (e.g., 30-60 seconds, showcasing product in use, trending audio)

* Static Post (e.g., high-quality image, carousel post)

* Stories (e.g., 3-5 frames, swipe-up link, poll/quiz)

* TikTok: (e.g., 15-30 second video, trending sound, product demo)

* YouTube: (e.g., 5-10 minute review, dedicated video, product integration)

* Blog Post: (e.g., 500-800 words, high-res images, link to product)

  • Mandatory Elements:

* Product Placement: How should the product be featured? (e.g., prominently, naturally integrated).

* Hashtags: Specify unique campaign hashtags and evergreen brand hashtags (e.g., #YourBrandName, #YourCampaignTag, #ProductReview).

* Account Tags: @YourBrandOfficial, @YourBrandProduct.

* Links: Specific URLs or discount codes.

Visual & Brand Elements:

  • Visual Aesthetics: (e.g., bright & airy, minimalist, vibrant, natural). Provide examples if possible.
  • Brand Colors/Logos: If applicable, provide guidelines on how to incorporate them, or if they should be avoided.
  • Do's and Don'ts:

* DO: Be authentic, share personal experience, use high-quality visuals, maintain positive tone.

* DON'T: Make unsubstantiated claims, feature competitor products, use inappropriate language, misrepresent the product.

Mandatory Disclosures:

  • Always include: #Ad, #Sponsored, #BrandPartner, "Paid Partnership with [Brand Name]" (platform-specific feature).
  • Placement: Prominently visible at the beginning of the caption, story, or video.
  • Verbal Disclosure: For video content, a clear verbal disclosure at the start of the video (e.g., "This video is sponsored by [Brand Name]").

Review & Approval Process:

  1. Draft Submission: Influencer submits content draft by [Date] for review.
  2. Brand Feedback: Brand provides feedback within [X] business days.
  3. Revisions: Influencer makes necessary revisions.
  4. Final Approval: Brand gives final approval for posting.
  5. Live Date: Content goes live on [Date] or within specified window.

6. ROI Tracking Framework & Measurement

Measuring your campaign's effectiveness is crucial for optimizing future strategies.

Key Performance Indicators (KPIs):

  • Awareness:

* Reach: Total unique users who saw the content.

* Impressions: Total times the content was displayed.

* Brand Mentions: Number of times your brand was mentioned by others due to the campaign.

* Sentiment: Public perception of your brand (positive, neutral, negative).

  • Engagement:

* Engagement Rate: (Likes + Comments + Shares + Saves) / Reach.

* Click-Through Rate (CTR): Clicks on links / Impressions.

* Video Views/Completion Rate: How many watched the video and for how long.

* Comments & Shares: Quality and quantity.

  • Website Traffic:

* Referral Traffic: Traffic directly from influencer links.

* New Users: Percentage of first-time visitors from the campaign.

* Time on Site / Pages Per Session: Indicates content quality and user interest.

  • Conversions:

* Sales/Leads: Number of purchases or lead forms submitted attributed to the campaign.

* Conversion Rate: (Conversions / Clicks).

* Cost Per Acquisition (CPA): Total campaign cost / Number of conversions.

* Return on Ad Spend (ROAS): Revenue generated / Campaign cost.

  • Brand Sentiment & Loyalty:

* Brand Lift Surveys: Measure changes in brand perception, recall, purchase intent.

* Social Listening: Monitor conversations around your brand and campaign.

Tracking Tools & Methods:

  • UTM Parameters: Append unique UTM codes to all links provided to influencers (e.g., `www.yourbrand.com
gemini Output

Influencer Campaign Planner: Optimized & Finalized Strategy

This document outlines a comprehensive, actionable strategy for planning and executing a successful influencer marketing campaign. It covers all critical components, from ideal influencer identification to ROI tracking, ensuring a professional and effective approach.


1. Campaign Overview & Objectives

Before diving into specifics, it's crucial to define the campaign's core purpose.

  • Campaign Name: [Suggest a descriptive name, e.g., "Spring Collection Launch - Lifestyle Influencers"]
  • Campaign Period: [Start Date] to [End Date]
  • Target Audience: [Demographics, psychographics, interests of the audience you want to reach]
  • Key Objectives (SMART Goals):

* Brand Awareness: Increase brand mentions by X% on social media within Y weeks.

* Engagement: Achieve an average engagement rate of Z% across influencer content.

* Traffic Generation: Drive X,000 unique visitors to [Landing Page URL] from influencer content.

* Sales/Conversions: Generate $X in sales or Y leads directly attributable to influencer campaign.

* Content Generation: Acquire X high-quality user-generated content (UGC) style assets for future use.


2. Ideal Influencer Profiles & Selection Criteria

Identifying the right influencers is paramount. This section defines the characteristics of your ideal partners.

2.1. Influencer Tiers & Focus

  • Nano-Influencers (1k-10k followers): High engagement, niche focus, authentic connection. Ideal for hyper-targeted reach and user-generated content feel.
  • Micro-Influencers (10k-100k followers): Strong engagement, specific niche authority, growing reach. Excellent for driving conversions and community building.
  • Mid-Tier Influencers (100k-500k followers): Broader reach, established influence, professional content. Good for awareness and driving significant traffic.
  • Macro-Influencers (500k-1M+ followers): Extensive reach, brand recognition, high production value. Best for mass awareness and large-scale campaigns.
  • Mega-Influencers/Celebrities (1M+ followers): Maximum reach, mainstream appeal. Reserved for significant brand launches or awareness drives.

Recommended Focus for this Campaign: [e.g., Primarily Micro & Mid-Tier influencers for strong engagement and authentic product integration, with a few Nano-influencers for hyper-niche reach.]

2.2. Core Selection Criteria

  • Audience Demographics & Psychographics: Must align closely with our target audience (age, gender, location, interests, purchasing power).
  • Niche Relevance: Influencer's content and personal brand must genuinely align with our product/service category and brand values.
  • Engagement Rate: High average engagement (likes, comments, shares, saves) relative to follower count (typically 2-5% is good, higher for smaller tiers). Beware of inflated follower counts with low engagement.
  • Authenticity & Trust: Genuine connection with their audience, transparent about sponsored content, and a history of authentic recommendations.
  • Content Quality & Aesthetic: High-quality visuals, clear audio/video, consistent brand aesthetic that complements ours.
  • Brand Safety & Reputation: No history of controversial content, negative brand associations, or engagement in unethical practices.
  • Past Collaborations: Review previous brand partnerships for relevance, success, and potential conflicts of interest (e.g., direct competitors).
  • Communication & Professionalism: Responsiveness, clear communication, and adherence to deadlines.

2.3. Influencer Vetting Process

  1. Initial Search: Utilize platforms like [e.g., Upfluence, Grin, AspireIQ, manually via Instagram/TikTok search] to identify potential candidates.
  2. Profile Analysis: Deep dive into their content, audience insights (if available), engagement rates, and comment sections.
  3. Audience Authenticity Check: Use tools to detect bot followers or inauthentic engagement.
  4. Brand Fit Scorecard: Create a simple scorecard for each influencer covering the above criteria to ensure objective evaluation.
  5. Shortlist & Outreach: Select top candidates for initial contact.

3. Outreach Templates

Professional and personalized outreach is key to securing collaborations.

3.1. Initial Outreach Email/DM Template (Cold)

Subject: Collaboration Opportunity: [Your Brand Name] x [Influencer's Name]

Dear [Influencer's Name],

My name is [Your Name] and I'm the [Your Title] at [Your Brand Name]. I've been following your work on [Platform, e.g., Instagram/TikTok] for a while now, and I'm consistently impressed by your [specific compliment, e.g., "unique aesthetic," "engaging storytelling," "authentic reviews"]. Your recent post about [mention a specific post/topic] particularly resonated with us.

At [Your Brand Name], we [briefly describe what your brand does and its mission]. We believe your audience of [mention audience segment, e.g., "eco-conscious consumers," "adventure travelers"] would genuinely appreciate our [product/service name].

We're currently planning an exciting campaign to [briefly mention campaign goal, e.g., "launch our new sustainable skincare line," "promote our innovative travel app"] and we immediately thought of you as a perfect partner. We envision a collaboration where you could [suggest a specific content idea, e.g., "create a Reel showcasing your morning routine with our product," "share your experience using our app during your next trip"].

Would you be open to a brief call next week to discuss this potential partnership further and share more details about our campaign and compensation?

Thank you for your time and consideration.

Best regards,

[Your Name]

[Your Title]

[Your Brand Name]

[Website Link]

[Social Media Link]

3.2. Follow-Up Email Template

Subject: Following Up: Collaboration Opportunity with [Your Brand Name]

Dear [Influencer's Name],

Hope this email finds you well.

I'm following up on my previous message regarding a potential collaboration with [Your Brand Name]. I understand you have a busy schedule, but I wanted to ensure my email didn't get lost in your inbox.

We're truly excited about the possibility of working with you and believe there's a strong alignment between your content and our brand. We're offering [briefly reiterate a key benefit, e.g., "competitive compensation," "free products + commission"].

Please let me know if you're interested in learning more, or if there's a better time for us to connect.

Thanks again,

[Your Name]

3.3. Campaign Brief & Offer Template (After initial interest)

This should be a detailed document, not just an email.

Subject: [Your Brand Name] Influencer Campaign Brief: [Campaign Name]

Dear [Influencer's Name],

Thank you for your interest in collaborating with [Your Brand Name]! We're thrilled at the prospect of working together.

Attached to this email, you'll find our comprehensive Influencer Campaign Brief for [Campaign Name]. This document outlines:

  • Campaign Goals & Vision: A deeper dive into what we aim to achieve.
  • Product/Service Details: Information about the specific items to be featured.
  • Key Messaging & CTAs: Core messages and desired calls-to-action.
  • Content Requirements: Specific formats, deliverables, and approval process.
  • Timeline: Important dates for content submission, posting, and review.
  • Compensation & Deliverables: Detailed breakdown of payment (monetary, product, commission) and required content.
  • Disclosure Requirements: FTC/ASA guidelines.
  • Usage Rights: How we plan to re-use your content.

Please review the brief at your convenience. I'm available to answer any questions you may have and discuss the terms further.

Looking forward to your feedback!

Best regards,

[Your Name]


4. Contract Terms & Agreements

A robust contract protects both parties and clarifies expectations. This is a summary of key terms; always consult legal counsel for final drafting.

4.1. Key Contract Clauses

  • Scope of Work & Deliverables:

* Specific content types (e.g., 1 Instagram Feed post, 3 Instagram Stories, 1 TikTok video).

* Minimum engagement period (e.g., content to remain live for X months).

* Specific product/service to be featured.

* Required hashtags, tags, and CTAs.

  • Payment Terms:

* Agreed-upon fee (flat fee, per deliverable, performance-based, commission).

* Payment schedule (e.g., 50% upfront, 50% upon content approval/posting; net 30 days).

* Method of payment.

* Inclusion of product value (if applicable) and shipping.

  • Intellectual Property (IP) & Usage Rights:

* Grant of License: Influencer grants brand a non-exclusive, worldwide, royalty-free license to use, reproduce, distribute, display, and create derivative works from the content for [specific period, e.g., 1 year, perpetual] across [specific channels, e.g., brand's social media, website, paid ads].

* Ownership: Influencer typically retains ownership of original content, but brand gets broad usage rights.

* Exclusivity: Influencer agrees not to promote direct competitors for a specified period (e.g., 30-60 days before and after campaign).

  • Disclosure Requirements:

* Mandatory compliance with FTC (US), ASA (UK), or local advertising standards for sponsored content (e.g., #Ad, #Sponsored, #BrandPartner).

* Clear instruction on placement and prominence of disclosure.

  • Content Approval & Revisions:

* Influencer to submit drafts for brand review by [date].

* Number of revision rounds allowed (e.g., 1-2 rounds).

* Brand's right to request reasonable modifications.

  • Timeline & Deadlines:

* Content submission dates.

* Posting dates.

* Approval deadlines.

  • Representations & Warranties:

* Influencer confirms they have the right to grant usage licenses, content is original, and does not infringe on third-party rights.

* Influencer confirms they will adhere to brand guidelines and legal requirements.

  • Confidentiality:

* Influencer agrees not to disclose proprietary information about the brand or campaign terms.

  • Termination:

* Conditions under which either party can terminate the agreement (e.g., material breach, failure to deliver).

* Consequences of termination (e.g., prorated payment, return of products).

  • Indemnification:

* Each party agrees to hold the other harmless from certain claims arising from their actions.

  • Governing Law:

* Jurisdiction for resolving disputes.


5. Content Guidelines & Creative Brief

Ensuring brand consistency while allowing for influencer authenticity is key.

5.1. Core Campaign Messaging

  • Key Message 1: [e.g., "Our new product solves X problem efficiently."]
  • Key Message 2: [e.g., "Experience unparalleled quality and sustainability."]
  • Unique Selling Points (USPs) to Highlight: [List 2-3 unique features/benefits.]
  • Tone of Voice: [e.g., "Empathetic, inspiring, informative," "Fun, playful, adventurous."]

5.2. Mandatory Elements

  • Product/Service Focus: Clearly specify which product(s) to feature and how prominently.
  • Brand Tag/Mention: @[YourBrandHandle] on all relevant platforms.
  • Campaign Hashtag(s): #[YourCampaignHashtag], #[YourBrandName].
  • Call-to-Action (CTA): [e.g., "Shop now at [Link in Bio]," "Download the app," "Learn more at [Website URL]," "Use code [DISCOUNTCODE] for X% off!"]
  • Disclosure: Clear and prominent #Ad or #Sponsored.
  • Link: Direct link to [Landing Page URL] in bio/story swipe-up.

5.3. Content Formats & Requirements

  • Instagram Feed Post:

* Visual: High-resolution photo/carousel (min. 1080x1080px). Aesthetic should align with brand.

* Caption: 150-300 words. Incorporate key messages naturally. Include @[YourBrandHandle], #[YourCampaignHashtag], and #Ad.

* Product Integration: Show product in a natural, aspirational setting.

  • Instagram Stories (3-5 frames):

* Visuals: Mix of photos/short videos (15-second clips).

* Interactive Elements: Polls, Q&A stickers encouraged.

* CTA: Swipe-up link to [Landing Page URL]. Mention discount code if applicable.

* Disclosure: #Ad clearly visible.

  • TikTok Video:

* Duration: 15-60 seconds.

* Style: Engaging, authentic, platform-native (trends, sounds).

* Messaging: Naturally integrate product/service.

* CTA: Verbal CTA and text overlay. Link in bio.

* Disclosure: #Ad in caption and/or text overlay.

  • [Other Platforms, e.g., YouTube, Blog Post]: Specify requirements.

5.4. Do's and Don'ts

  • DO:

* Be authentic and integrate the product naturally into your content.

* Maintain your unique voice and style.

* Focus on the benefits and experience of using the product.

* Engage with comments and questions about the product.

* Submit content for approval by the deadline.

  • DON'T:

* Make unsubstantiated claims about the product.

* Use offensive language or imagery.

* Promote competing products during the campaign period.

* Delete content prematurely (unless agreed upon).

* Misrepresent the product or brand.

5.5. Content Approval Process

  1. Draft Submission: Influencer submits content drafts (photos, videos, captions) by [Date] via [e.g., Google Drive, email, specific platform].
  2. Brand Review: Brand reviews content within [e.g., 48-72 hours].
  3. Feedback & Revisions: Brand provides clear, actionable feedback. Influencer makes revisions.
  4. Final Approval: Once approved, influencer posts content by the agreed-upon date.
  5. Live Content Notification: Influencer notifies brand once content is live.

6. ROI Tracking & Performance Framework

Measuring campaign success is vital for optimization and future planning.

6.1. Key Performance Indicators (KPIs)

  • Reach: Total number of unique users who saw the influencer content.
  • Impressions: Total number of times the content was displayed.
  • Engagement Rate: (Likes + Comments + Shares + Saves) / Followers * 100.
  • Click-Through Rate (CTR): (Clicks on Link) / Impressions * 100.
  • Website Traffic: Number of unique visitors and page views from tracked links.
  • Conversions: Sales, sign-ups, downloads, or leads directly attributed to influencer content (using UTM parameters, unique discount codes, or landing pages).
  • Cost Per Engagement (CPE): Total Campaign Cost / Total Engagements.
  • Cost Per Acquisition (CPA): Total Campaign
influencer_campaign_planner.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);}});}