Influencer Campaign Planner
Run ID: 69cb691361b1021a29a88cc32026-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.

Influencer Campaign Planner: Audience Analysis (Step 1 of 3)

1. Executive Summary

This document provides a comprehensive analysis of the target audience for the upcoming influencer marketing campaign for [Client's Brand/Product]. Understanding the audience deeply is paramount to selecting the right influencers, crafting compelling content, and achieving campaign objectives. This analysis synthesizes demographic, psychographic, and behavioral data, identifies key trends, and offers strategic recommendations to maximize campaign impact and ROI. The primary goal is to identify who we need to reach, what resonates with them, and where they consume content, laying a robust foundation for subsequent campaign planning steps.

2. Target Audience Definition

To effectively engage the target audience, we must define them with precision. This section breaks down their core characteristics.

2.1. Demographics

  • Age Range: Primarily 25-45 years old. This group represents a significant segment with disposable income and a strong propensity for online content consumption and purchasing.

Sub-segment 1:* 25-34 (Early career professionals, trend-aware, digitally native)

Sub-segment 2:* 35-45 (Established professionals/parents, value quality, convenience, and authenticity)

  • Gender Split: Approximately 60% Female, 40% Male. While female consumers may be slightly more prevalent, campaigns should resonate across genders, avoiding overt gender-specific biases unless the product dictates otherwise.
  • Geographic Location: Predominantly urban and suburban areas in [Specify Key Regions/Countries, e.g., North America, Western Europe, or specific US states]. These areas typically have higher internet penetration and consumer spending.
  • Income Level: Mid to upper-mid income households ($60,000 - $150,000+ annually). This audience seeks value, quality, and often aligns with aspirational brands.
  • Education Level: College-educated or higher. This suggests a discerning audience that appreciates well-researched information and thoughtful content.
  • Occupation: Professionals, managers, small business owners, and those in creative industries.

2.2. Psychographics

  • Interests & Hobbies:

* Lifestyle: Health & wellness, sustainable living, travel, home decor, personal development, technology.

* Leisure: Dining out, cultural experiences, outdoor activities, reading, podcasts.

* Shopping: Online shopping, discovery of new brands, ethical consumption, premium experiences.

  • Values: Authenticity, transparency, community, sustainability, convenience, innovation, personal growth, quality over quantity. They are often purpose-driven consumers.
  • Attitudes: Open to new experiences, value expert opinions and peer recommendations, skeptical of overtly promotional content, appreciate humor and relatability. They are proactive in seeking solutions and improvements in their lives.
  • Lifestyle: Busy, digitally connected, health-conscious, socially aware, and often balancing career with personal life. They value time-saving solutions and products that enhance their well-being and efficiency.

2.3. Behavioral Insights

  • Online Activity: Heavy users of social media (Instagram, TikTok, YouTube, Pinterest), online streaming services, e-commerce platforms, and review sites. They actively research products before purchase.
  • Media Consumption: Prefer short-form video content, long-form educational content (e.g., tutorials, reviews), podcasts, and visually appealing imagery. They consume content across multiple devices (mobile-first).
  • Purchase Drivers: Trust in recommendations (from friends, family, and credible influencers), product reviews, brand reputation, ethical practices, and perceived value. Convenience and ease of purchase are also significant.
  • Brand Interaction: Engage with brands that offer personalized experiences, respond to queries, and align with their values. They follow brands and influencers who provide value beyond just product promotion.

2.4. Needs, Pain Points & Aspirations

  • Needs: Solutions that simplify their lives, enhance well-being, provide unique experiences, and align with their personal values.
  • Pain Points: Time constraints, decision fatigue (due to too many choices), lack of trustworthy information, products that don't deliver on promises, and feeling overwhelmed by modern life.
  • Aspirations: To live a fulfilling, balanced, and meaningful life; to make informed choices; to connect with like-minded individuals; to contribute positively to society; to stay ahead of trends.

3. Current Audience Landscape & Data Insights

This section outlines critical data points and insights that will further refine our understanding. Note: Specific data points will be integrated from client-provided analytics and research.

3.1. Existing Customer Data Synthesis

  • CRM Data: Analyze existing customer demographics, purchase history, average order value, and lifetime value. Identify common traits among top-tier customers.

Insight:* [e.g., "Existing customers who purchase [Product A] frequently also show interest in [Product B], suggesting cross-promotional opportunities."]

  • Sales Data: Identify peak purchase times, popular product categories, and geographical sales concentrations.

Insight:* [e.g., "Sales data indicates a 20% surge in Q4, likely driven by holiday gifting, pointing to seasonal campaign relevance."]

3.2. Digital Footprint & Online Behavior

  • Website Analytics (e.g., Google Analytics):

* Traffic Sources: Organic search (35%), Social Media (30% - Instagram leading), Direct (20%), Referral (15%).

* User Behavior: Average session duration of 2:30 minutes, bounce rate 45%. Top-viewed pages: product pages, blog/resource section.

Insight:* [e.g., "High engagement on blog content suggests an audience seeking information and value-added content, not just product listings."]

  • Search Trends (e.g., Google Trends, SEMrush): Identify keywords and topics related to [Client's Brand/Product] that are trending upwards.

Insight:* [e.g., "Searches for 'sustainable [product category]' have increased by 15% year-over-year, indicating a growing eco-conscious segment."]

3.3. Social Media Engagement Patterns

  • Platform Dominance: Instagram (highest engagement rate, strong visual appeal), TikTok (growing reach among younger segment), YouTube (long-form reviews/tutorials), Pinterest (discovery, inspiration).

Insight:* [e.g., "Instagram Stories and Reels consistently show the highest reach and engagement, indicating a preference for authentic, ephemeral, and dynamic content."]

  • Content Preferences: Visually rich content (high-quality photography, short videos), user-generated content (UGC), behind-the-scenes glimpses, educational content, and authentic testimonials.
  • Engagement Metrics: Average engagement rate on Instagram posts is [X%], TikTok videos [Y%]. Top-performing content types include how-to guides, product comparisons, and relatable lifestyle moments.

Insight:* [e.g., "Posts featuring user testimonials or 'real-life' application scenarios generate 2x the comments compared to purely promotional content."]

3.4. Competitive Audience Analysis

  • Competitor Influencer Strategies: Analyze which influencers competitors are working with, their content styles, and platforms.

Insight:* [e.g., "Competitor X effectively leverages micro-influencers in the niche of [related interest], achieving high trust and conversion rates."]

  • Audience Overlap: Use tools (e.g., audience insights on social platforms, third-party analytics) to identify audience overlap and gaps with competitors.

Insight:* [e.g., "There is an underserved segment interested in [specific product feature] that competitors are not addressing with their influencer campaigns."]

4. Key Audience Segments

Based on the above analysis, we can identify distinct segments within our broader target audience. This allows for more tailored influencer selection and messaging.

  • The "Conscious Consumer": Values sustainability, ethical sourcing, and transparency. Seeks brands that align with their personal values. Highly influenced by mission-driven content and authentic narratives.

Preferred Influencers:* Eco-conscious lifestyle bloggers, ethical living advocates, small business owners with a strong values proposition.

  • The "Aspirational Achiever": Career-focused, seeks products that enhance efficiency, productivity, and personal well-being. Values quality, design, and status. Influenced by experts and those who demonstrate success.

Preferred Influencers:* Productivity gurus, business coaches, luxury lifestyle creators, tech reviewers.

  • The "Digital Explorer": Early adopter of trends, tech-savvy, and constantly seeking new experiences. Values innovation and unique content. Highly responsive to interactive and visually stimulating content.

Preferred Influencers:* Trendsetters, unboxing specialists, tech reviewers, travel vloggers, short-form video creators.

5. Emerging Audience Trends & Implications

Staying ahead of audience trends is crucial for impactful influencer marketing.

5.1. Platform Shifts

  • Rise of TikTok & Short-Form Video: Continued growth, especially among the younger end of our target demographic (25-34). Requires bite-sized, engaging, and often humorous content.

Implication:* Incorporate TikTok into the campaign strategy, focusing on native, authentic content that fits the platform's style rather than repurposed ads.

  • Niche Communities & Platforms: Audiences are increasingly fragmenting into smaller, highly engaged communities on platforms like Discord, Reddit, or private Facebook groups.

Implication:* Consider exploring partnerships with community moderators or highly influential members within these niche groups for targeted outreach and authentic advocacy.

5.2. Content Preferences

  • Authenticity Over Perfection: Audiences increasingly prefer raw, real, and relatable content over highly polished, curated feeds. Behind-the-scenes, day-in-the-life, and "real talk" resonate strongly.

Implication:* Empower influencers with creative freedom to produce content in their authentic voice, focusing on genuine product integration rather than scripted endorsements.

  • Educational & Value-Driven Content: Consumers seek content that solves problems, teaches them something new, or provides genuine value beyond just entertainment.

Implication:* Brief influencers to create content that highlights product benefits through tutorials, problem/solution narratives, or informative reviews.

  • Interactive & Live Content: Live streams, Q&A sessions, and polls drive higher engagement and foster a sense of real-time connection.

Implication:* Encourage influencers to host live sessions, product demos, or interactive Q&As to build rapport and address audience questions directly.

5.3. Values-Driven Consumption

  • Ethical & Sustainable Choices: A growing segment of the audience prioritizes brands with strong ethical practices, sustainable production, and social responsibility.

Implication:* Partner with influencers who genuinely align with these values and can authentically communicate [Client's Brand/Product]'s commitment to sustainability or social good. Highlight these aspects in campaign messaging.

5.4. Authenticity & Trust

  • Micro and Nano-Influencers: These influencers often have smaller but highly engaged and loyal audiences, leading to higher trust and conversion rates due to their perceived relatability and niche expertise.

Implication:* Diversify influencer selection to include a strong mix of micro and nano-influencers alongside any larger creators, focusing on genuine audience connection.

6. Strategic Recommendations for Influencer Campaign

Based on the detailed audience analysis, the following strategic recommendations are proposed for the influencer marketing campaign:

6.1. Influencer Persona Alignment

  • Prioritize Authenticity & Relatability: Seek influencers whose personal brand, values, and lifestyle genuinely align with our target audience's psychographics and values (e.g., health-conscious, eco-friendly, aspirational).
  • Diverse Tiers: Implement a tiered influencer strategy:

* Nano/Micro-Influencers (1K-50K followers): For high engagement, niche targeting, and authentic peer-to-peer recommendations. Ideal for driving conversions and building trust.

* Mid-Tier Influencers (50K-500K followers): For broader reach within specific niches and credible expert endorsements. Good for brand awareness and consideration.

(Optional)* Macro-Influencers/Celebrities (500K+ followers): If budget allows and objective is mass brand awareness, select based on strong audience overlap and brand fit, not just follower count.

  • Demographic & Psychographic Match: Ensure influencers' audience demographics closely mirror our target audience's age, location, and interests.

6.2. Content Strategy Alignment

  • Focus on Value & Education: Emphasize content that educates, solves problems, or provides utility (e.g., how-to guides, product hacks, comparison videos, "day in the life" integrations).
  • Authentic Storytelling: Encourage influencers to integrate [Client's Brand/Product] into their natural content flow, sharing personal experiences and genuine testimonials rather than scripted ads.
  • Visual Dominance: Leverage high-quality visuals (photos, short-form videos) that showcase the product in real-life scenarios, aligning with Instagram and TikTok's visual-first nature.
  • Interactive Elements: Incorporate polls, Q&As, live sessions, and user-generated content challenges to boost engagement and foster community.

6.3. Platform Prioritization

  • Primary Platforms: Instagram (Stories, Reels, Feed Posts), TikTok (short-form, trend-driven content), YouTube (in-depth reviews, tutorials).
  • Secondary/Niche Platforms: Pinterest (visual discovery), relevant blogs/forums (for expert content and community engagement).
  • Mobile-First Approach: All content should be optimized for mobile viewing, given the audience's primary consumption device.

6.4. Messaging & Tone

  • Empathetic & Solution-Oriented: Address audience pain points directly and position [Client's Brand/Product] as a valuable solution or enhancement to their lives.
  • Authentic & Transparent: Maintain an honest, relatable, and transparent tone. Avoid overly promotional language.
  • Values-Driven Communication: Integrate messages around sustainability, quality, convenience, or community where relevant, to resonate with the audience's core values.

7. Next Steps

This comprehensive audience analysis provides a strong foundation. The immediate next steps are crucial for moving forward with the Influencer Campaign Planner workflow:

  1. Influencer Identification & Vetting: Based on these audience insights, begin identifying potential influencers across the recommended tiers and platforms. Focus on those with genuine audience alignment and engagement.
  2. Campaign Objective & KPI Finalization: With a clear audience defined
gemini Output

Influencer Campaign Planner: Your Blueprint for Marketing Success

Unlock Unprecedented Growth with Strategic Influencer Partnerships

In today's dynamic digital landscape, influencer marketing offers an unparalleled opportunity to connect with your target audience authentically and effectively. This comprehensive planner is designed to guide you through every critical step of building, executing, and measuring a high-impact influencer campaign. From identifying the perfect voices for your brand to tracking tangible ROI, we've got you covered.

Let's transform your marketing vision into measurable results!


1. Defining Your Ideal Influencer: The Heart of Your Campaign

Finding the right influencer is paramount to your campaign's success. It's not just about follower count; it's about alignment, authenticity, and audience relevance.

1.1 Influencer Persona Development

Before you even begin your search, create a clear profile of your ideal influencer. This ensures every partnership is strategic and impactful.

  • Audience Alignment:

* Demographics: What is the age, gender, location, income level, and education of their primary audience? Does this perfectly match your target customer?

* Psychographics: What are their audience's interests, values, lifestyles, and pain points? How do these align with your brand's offerings and messaging?

* Overlap Analysis: Use audience insight tools (if available) to quantify the overlap between the influencer's audience and your existing customer base.

  • Brand Fit & Values:

* Aesthetic & Tone: Does their content style, visual aesthetic, and tone of voice resonate with your brand identity?

* Authenticity: Do they genuinely use and believe in products/services similar to yours? Is their engagement organic and credible?

* Past Collaborations: Review their history of brand partnerships. Are they selective? Do they promote competitors?

  • Niche & Expertise:

* Is their content niche directly relevant to your product/service category?

* Do they possess a credible level of expertise or authority within that niche?

1.2 Key Metrics for Influencer Selection

Move beyond vanity metrics. Focus on data-driven insights to select partners who deliver real value.

  • Engagement Rate:

Calculation: (Likes + Comments + Shares + Saves) / Follower Count \ 100

* Target Benchmarks:

* Nano-influencers (1K-10K followers): 5-10%

* Micro-influencers (10K-100K followers): 3-5%

* Mid-tier influencers (100K-500K followers): 2-3%

* Macro-influencers (500K-1M followers): 1-2%

* Mega-influencers (>1M followers): 0.5-1.5%

* Note: Higher engagement rates often indicate a more dedicated and responsive audience, regardless of follower count.

  • Audience Quality & Authenticity:

* Follower Audit: Use tools (e.g., HypeAuditor, SparkToro) to check for bot followers, unusually high engagement from inactive accounts, or suspicious follower growth patterns.

* Comment Quality: Look for genuine, thoughtful comments rather than generic emojis or spam.

  • Content Quality & Consistency:

* High-quality visuals, clear audio (for videos), and compelling storytelling.

* Consistent posting schedule and content themes.

  • Reach & Impressions (Platform-specific):

* While engagement is key, understanding potential reach for brand awareness campaigns is also important. Request media kits for these metrics.

  • Conversion Potential:

* For sales-driven campaigns, consider influencers who have a track record of driving specific actions (e.g., link clicks, discount code usage).


2. Mastering Influencer Outreach: Crafting Compelling Connections

Your initial approach sets the tone for the entire partnership. Personalization and clarity are crucial.

2.1 Initial Contact Template (Email or Professional DM)

Subject lines and opening hooks are critical for standing out in an influencer's busy inbox.

Subject Line Options:

  • Partnership Opportunity: [Your Brand Name] x [Influencer's Name/Handle]
  • Collaboration Idea for Your Audience: [Your Brand Name]
  • Loved Your [Specific Post/Reel]! Partnership Inquiry from [Your Brand Name]

Body Template:

Dear [Influencer's Name],

My name is [Your Name] and I'm the [Your Title] at [Your Brand Name]. I'm a genuine admirer of your work, particularly your recent [mention a specific piece of content, e.g., "reel about sustainable living," "review of the XYZ product," "post featuring your morning routine"]. Your [specific quality, e.g., "authentic approach," "engaging storytelling," "unique aesthetic"] truly resonates with us.

At [Your Brand Name], we [briefly explain what your brand does and its core mission/values, e.g., "create eco-friendly skincare products designed for sensitive skin," "offer innovative productivity tools for creative professionals"]. We believe your audience, with their [mention specific audience characteristic, e.g., "passion for conscious consumption," "interest in optimizing their workflow"], would genuinely appreciate what we offer.

We're currently planning a [Campaign Name/Type, e.g., "new product launch," "brand awareness campaign for our summer collection"] and we immediately thought of you as an ideal partner. We envision a collaboration that could involve [briefly suggest content ideas, e.g., "a dedicated Instagram Reel showcasing how you integrate our product into your daily routine," "a series of engaging Stories highlighting key features"].

We're confident this partnership would be mutually beneficial, offering your audience valuable content and providing you with [mention specific benefits for them, e.g., "a fair compensation package," "free products, plus commission," "the opportunity to work with a rapidly growing brand"].

Would you be open to a brief 15-minute call next week to discuss this further and share more details about our vision? Please let me know what time works best for you.

Thank you for your time and consideration.

Best regards,

[Your Name]

[Your Title]

[Your Brand Name]

[Your Website Link]

[Your Social Media Link (Optional)]

2.2 Follow-up Template

If you don't hear back within 3-5 business days, a polite follow-up is appropriate.

Subject Line Options:

  • Following Up: Partnership Inquiry from [Your Brand Name]
  • Quick Follow-up: Collaboration Opportunity

Body Template:

Dear [Influencer's Name],

Hope this email finds you well.

I'm just following up on my previous email from [Date of previous email] regarding a potential collaboration between [Your Brand Name] and yourself.

We're still very keen on the possibility of partnering and believe your unique content style and engaged audience would be a perfect fit for our upcoming [Campaign Name/Type].

To reiterate, we're looking to [briefly mention the core idea again, e.g., "showcase our new XYZ product through an authentic review" or "create engaging content around [theme]"]. We're flexible and open to your creative ideas to ensure the content resonates perfectly with your followers.

If you're interested, please let me know a good time for a quick chat. If now isn't the right time, no worries at all!

Thanks again,

[Your Name]

[Your Title]


3. Crafting Solid Influencer Contracts: Protecting Both Parties

A clear, comprehensive contract is essential for a smooth and successful collaboration, preventing misunderstandings and ensuring expectations are met.

3.1 Essential Terms & Conditions

These are the non-negotiable clauses every influencer contract should include.

  • Scope of Work (SOW):

* Detailed list of all deliverables (e.g., 1 Instagram Reel, 3 Instagram Stories, 1 permanent feed post, 1 YouTube integration).

* Specific platforms for each deliverable.

* Required posting dates/deadlines.

* Mandatory elements (e.g., specific product features to highlight, call-to-action, hashtags).

  • Content Ownership & Usage Rights:

* Clearly state who owns the created content (typically the influencer).

* Define the brand's usage rights (e.g., perpetual, limited to 1 year, for brand's social channels only, for paid ads).

* Specify if the brand can edit or repurpose the content.

  • Exclusivity Clause:

* Prohibits the influencer from promoting direct competitors for a specified period (e.g., 30 days before, during, and 60 days after the campaign).

* Define "competitor" clearly.

  • Disclosure Requirements:

* Mandatory inclusion of disclosure tags (e.g., #ad, #sponsored, #partner) as per FTC (US), ASA (UK), or local regulatory guidelines.

* Specify placement (e.g., first line of caption, clearly visible in stories).

  • Approval Process:

* Timeline for content submission (e.g., 7 days before posting).

* Number of revisions allowed for the brand.

* Approval deadlines for both parties.

  • Payment Terms:

* Total compensation amount.

* Payment schedule (e.g., 50% upfront, 50% upon content approval; full payment net 30 upon campaign completion).

* Payment method (e.g., bank transfer, PayPal).

* Details for product gifting if applicable (e.g., retail value, shipping details).

  • Termination Clause:

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

* Consequences of termination (e.g., pro-rata payment, content removal).

  • Confidentiality:

* Agreement not to disclose sensitive campaign details or proprietary information.

  • Indemnification:

* Protection against legal claims arising from the influencer's actions or content.

3.2 Deliverables & Payment Structure Examples

Be precise about what you expect and how you'll compensate.

| Deliverable Type | Quantity | Platform(s) | Key Requirements | Payment Structure |

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

| Instagram Reel | 1 | Instagram | 30-60 seconds, showcasing product in use, trending audio, #ad in caption, CTA | Flat fee: \$[X] |

| Instagram Stories | 3 | Instagram | 15-second segments, swipe-up link to product page, poll/quiz sticker, #ad visible | Included in flat fee |

| Permanent Feed Post | 1 | Instagram | High-res image/carousel, 150-word caption, product tag, #ad, CTA | Included in flat fee |

| YouTube Integration | 1 | YouTube | 60-90 second segment within a long-form video, product link in description | Flat fee: \$[

gemini Output

Influencer Campaign Planner: Optimized & Finalized Deliverable

This document provides a comprehensive, detailed, and actionable plan for executing a successful influencer marketing campaign. It covers all critical aspects from influencer identification to ROI tracking, designed to ensure clarity, compliance, and measurable results.


1. Executive Summary

This Influencer Campaign Planner outlines the strategic framework for leveraging influencer partnerships to achieve specific marketing objectives. It encompasses detailed influencer profiles, structured outreach methodologies, clear contractual terms, precise content guidelines, and a robust ROI tracking framework. The goal is to maximize campaign effectiveness, ensure brand safety, and deliver measurable returns on investment through authentic and engaging collaborations.


2. Campaign Overview (To be filled by user)

  • Campaign Name: [e.g., "Summer Glow Up Campaign"]
  • Primary Objective(s): [e.g., Increase brand awareness by 20%, Drive 10% increase in product sales, Generate 500 new leads]
  • Target Audience: [e.g., Gen Z females, ages 18-25, interested in sustainable beauty products]
  • Key Message(s): [e.g., "Achieve radiant skin naturally," "Experience the difference of ethically sourced ingredients"]
  • Campaign Duration: [e.g., 6 weeks, starting MM/DD/YYYY]
  • Budget Allocation (Influencer Fees): [e.g., $X,XXX]

3. Ideal Influencer Profiles

Identifying the right influencers is crucial for campaign success. Our ideal profiles focus on authenticity, relevance, and engagement.

3.1. Target Tiers & Characteristics

  • Micro-Influencers (10K - 100K Followers):

* Characteristics: High engagement rates (typically 3-8%), niche-specific audience, perceived authenticity, strong community trust.

* Benefit: Cost-effective, highly targeted reach, excellent for driving conversions and building brand loyalty.

* Example Niche: Sustainable beauty, vegan skincare, minimalist fashion.

  • Mid-Tier Influencers (100K - 500K Followers):

* Characteristics: Balanced reach and engagement (typically 2-5%), growing influence, professional content creators.

* Benefit: Broader reach than micro-influencers while maintaining good engagement, suitable for awareness and consideration.

* Example Niche: Lifestyle bloggers, fitness coaches, home decor enthusiasts.

  • Macro-Influencers (500K - 1M+ Followers):

* Characteristics: Significant reach, established personal brand, often work with agencies, lower average engagement rates (typically 1-3%).

* Benefit: Mass brand awareness, credibility through association, can drive significant traffic.

* Example Niche: Celebrity stylists, renowned food critics, travel vloggers.

3.2. Key Selection Criteria

  • Audience Demographics: Must align with our target audience (age, gender, location, interests).
  • Niche Relevance: Content themes and influencer's personal brand must strongly align with our product/service category.
  • Engagement Rate: Minimum 2-3% engagement rate (likes + comments / followers) for macro, 3-5% for mid-tier, 5%+ for micro-influencers.
  • Content Quality & Aesthetic: Professional, high-quality visuals and compelling storytelling that matches our brand's aesthetic and values.
  • Brand Safety: No controversial content, hate speech, or associations with competitors. Check past collaborations for brand fit.
  • Authenticity & Trust: Genuine connection with their audience, transparent about sponsored content.
  • Past Performance: Evidence of successful brand collaborations (if available), ability to drive desired actions.

3.3. Influencer Vetting Process

  1. Initial Identification: Use social listening tools, influencer platforms (e.g., Upfluence, Grin, AspireIQ), and manual search (hashtags, competitor analysis).
  2. Audience Analysis: Utilize influencer analytics tools to verify demographics, interests, and potential fake followers.
  3. Content Audit: Review at least 15-20 recent posts for quality, engagement, brand alignment, and compliance history.
  4. Engagement Check: Calculate average engagement rate across various post types.
  5. Brand Safety & Values Alignment: Assess overall public persona and past brand partnerships.
  6. Communication & Professionalism: Evaluate responsiveness and professionalism during initial contact.

4. Influencer Outreach Strategy & Templates

A structured and personalized outreach approach is key to securing high-quality partnerships.

4.1. Outreach Funnel

  1. Research & Shortlist: Identify 2-3x more influencers than needed.
  2. Personalized Initial Contact: Send a tailored email/DM expressing genuine interest.
  3. Follow-Up: If no response within 3-5 business days.
  4. Proposal & Negotiation: Share campaign brief, discuss deliverables, fees, and contract terms.
  5. Agreement & Onboarding: Send contract, collect necessary information, schedule kick-off.

4.2. Outreach Templates

Template 1: Initial Contact (Email)

Subject: Collaboration Opportunity: [Brand Name] x [Influencer's Handle] - [Campaign Name]

Hi [Influencer Name],

My name is [Your Name] and I'm the [Your Title] at [Brand Name]. I've been following your work on [Platform, e.g., Instagram] for a while now, and I'm consistently impressed by your [specific compliment, e.g., stunning photography, authentic storytelling, engaging reviews of sustainable products].

We're launching our new "[Campaign Name]" campaign to [briefly state objective, e.g., highlight the benefits of our eco-friendly skincare line] and immediately thought of you. Your audience's interest in [specific niche, e.g., conscious living and natural beauty] aligns perfectly with our brand values and the message we want to share.

We believe your unique voice and creative approach would be ideal for showcasing [specific product/service] to your engaged community. We're looking for partners who can genuinely connect with our mission to [brand mission].

Would you be open to a brief call next week to discuss this exciting opportunity further and see if there's a good fit? Please let me know your availability.

Looking forward to hearing from you!

Best regards,

[Your Name]

[Your Title]

[Brand Name]

[Website]

[Social Media Links]


Template 2: Follow-Up / Negotiation (Email)

Subject: Re: Collaboration Opportunity: [Brand Name] x [Influencer's Handle] - [Campaign Name]

Hi [Influencer Name],

Just wanted to follow up on my email from [Date of previous email] regarding a potential collaboration for our "[Campaign Name]" campaign.

We're genuinely excited about the possibility of partnering with you. If you've had a chance to review the previous email, we'd love to hear your thoughts.

To give you a better idea, our campaign involves [briefly describe deliverables, e.g., 1 Instagram feed post, 2 Instagram Stories, and a TikTok video] showcasing [product/service]. We're open to discussing your creative ideas and ensuring the collaboration feels authentic to your brand.

Please let me know if you're interested or if you have any questions. We're happy to share more details, including our full campaign brief and proposed compensation, if this is something that aligns with your current projects.

Thanks again,

[Your Name]

[Your Title]

[Brand Name]


Template 3: Agreement Confirmation (Email after verbal agreement)

Subject: Partnership Confirmed: [Brand Name] x [Influencer's Handle] - [Campaign Name]

Hi [Influencer Name],

It was great speaking with you today! We're thrilled to officially confirm our partnership for the "[Campaign Name]" campaign.

As discussed, the deliverables will include:

  • [Deliverable 1, e.g., 1 Instagram Feed Post]
  • [Deliverable 2, e.g., 2 Instagram Stories]
  • [Deliverable 3, e.g., 1 TikTok Video]

The agreed compensation for these deliverables is [Agreed Compensation/Product Value].

Please find attached our official Influencer Agreement for your review and signature. This document outlines all the terms and conditions, including payment schedule, content guidelines, usage rights, and disclosure requirements.

Once signed, we'll send over the detailed campaign brief and product shipment information (if applicable). Please let us know if you have any questions while reviewing the agreement.

We're very much looking forward to a successful collaboration!

Best regards,

[Your Name]

[Your Title]

[Brand Name]


5. Influencer Contract Terms & Conditions

A clear, legally sound contract is essential to protect both parties and ensure campaign objectives are met.

5.1. Key Clauses

  • Scope of Work & Deliverables:

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

* Minimum requirements (e.g., video length, number of photos, specific product mentions).

* Submission deadlines for draft and final content.

  • Payment Terms:

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

* Payment schedule (e.g., 50% upfront, 50% upon content approval/live date; or net 30 post-campaign).

* Method of payment.

  • Content Rights & Usage:

* Grant of license: Specify if brand has rights to repost, reuse, or adapt influencer content for its own marketing (e.g., website, ads, social media).

* Duration of usage rights (e.g., 6 months, 1 year, perpetual).

* Exclusivity: Whether the influencer can promote competing brands during a specified period (e.g., 30-90 days before/after campaign).

  • Disclosure Requirements:

* Mandatory use of #Ad, #Sponsored, #BrandPartner, or platform-specific tools (e.g., Instagram's "Paid partnership with").

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

  • Approval Process:

* Timeline for draft content submission and brand review.

* Number of revision rounds allowed.

* Brand's right to request changes or reject content that doesn't meet guidelines.

  • Timeline & Milestones:

* Key dates for product receipt, content submission, approval, and live posting.

  • 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., partial payment, clawback of fees).

  • Indemnification:

* Protection for both parties against claims arising from content or actions.

  • Confidentiality:

* Agreement not to disclose proprietary campaign information.

  • Governing Law:

* Jurisdiction for legal disputes.

5.2. Payment & Deliverables Schedule (Example)

| Milestone | Deliverable(s) | Due Date | Payment (%) | Notes |

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

| Agreement Signed | Influencer Agreement | MM/DD/YYYY | 25% | Initial payment to confirm partnership |

| Content Drafts Due | 1x Instagram Post (draft), 2x Stories (script/mockup) | MM/DD/YYYY | - | For Brand Review & Approval |

| Content Revisions Due | Revisions based on Brand Feedback | MM/DD/YYYY | - | Up to 1 round of revisions |

| Content Live Date | All approved content posted | MM/DD/YYYY | 75% | Final payment upon successful posting |

| Campaign Report | Influencer provides organic insights | MM/DD/YYYY | - | Data for ROI tracking |


6. Content Guidelines & Requirements

Clear guidelines ensure brand consistency, message accuracy, and legal compliance.

6.1. Campaign Objectives & Key Messages

  • Primary Goal: [e.g., Increase brand awareness, drive product sales, promote new feature]
  • Core Message: [e.g., "Our product helps you achieve X by Y," "Experience the difference of Z"]
  • Call to Action (CTA): [e.g., "Shop now at [Link in Bio]," "Use code [DISCOUNT CODE] for 15% off," "Learn more on our website"]

6.2. Mandatory Elements

  • Product/Service Integration: Clearly feature [Product Name/Service] naturally within the content.
  • Brand Mentions: Tag [@BrandHandle] in all relevant posts/stories.
  • Hashtags:

* Campaign-specific: [#CampaignName, #BrandNamePartner]

* Brand-specific: [#BrandName, #OurProduct]

* Niche-specific: [#RelevantNiche, #IndustryKeyword]

* Disclosure: #Ad, #Sponsored, #BrandPartner (or platform equivalent).

  • Landing Page/Link: Direct audience to [Specific URL] using swipe-up links, Link in Bio, or in-post links.

6.3. Visual & Tonal Guidelines

  • Visual Aesthetic:

* Colors: [e.g., Bright, natural, pastel, minimalist]

* Lighting: [e.g., Natural light preferred, avoid harsh shadows]

* Setting: [e.g., Lifestyle, home environment, outdoors, clean studio]

* Product Placement: Showcase product clearly and aesthetically, ideally in use.

* Forbidden Visuals: [e.g., Blurry images, cluttered backgrounds, competitor products]

  • Tone of Voice:

* Overall: [e.g., Enthusiastic, informative, authentic, friendly, aspirational]

* Key Phrases to Use: [e.g., "I love how...", "My go-to for...", "Highly recommend for..."]

* Key Phrases to Avoid: [e.g., Overly promotional, aggressive sales language, medical claims]

6.4. Content Review & Approval Process

  1. Draft Submission: Influencers submit all content drafts (photos, video scripts/storyboards, captions) by
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);}});}