Social Media Campaign
Run ID: 69cb473461b1021a29a878182026-03-31Marketing
PantheraHive BOS
BOS Dashboard

Plan and create content for a complete social media campaign

Social Media Campaign: Content Calendar Development

Project Title: Social Media Campaign: PantheraFlow Launch & Awareness

Workflow Step: socialmedia β†’ generate_content_calendar

Description: This deliverable outlines a comprehensive and actionable content calendar designed to drive awareness, engagement, and initial adoption for the PantheraFlow AI productivity tool. This calendar provides ready-to-publish content, including headlines, body text, calls to action, and visual briefs, tailored for various social media platforms.


Introduction

Welcome to the first step of your social media campaign! This detailed content calendar serves as your strategic roadmap for the next two weeks, ensuring consistent, high-quality, and engaging communication across your chosen platforms. Our objective is to establish PantheraFlow as a must-have solution for modern productivity, showcasing its unique features and tangible benefits to a broad audience.

This calendar is crafted to be immediately actionable, providing all the necessary elements for each post. It incorporates a mix of educational, engaging, and promotional content to build excitement and foster a strong community around PantheraFlow.


Campaign Overview

Campaign Goal: To generate significant brand awareness, drive engagement, educate potential users about PantheraFlow's benefits, and encourage sign-ups/trials.

Target Audience:

  • Professionals seeking to optimize their workflow and save time.
  • Small to medium business owners looking for efficiency solutions.
  • Entrepreneurs and freelancers aiming to boost personal productivity.
  • Early adopters of AI technology interested in practical applications.

Key Platforms:

  • Instagram: Visual storytelling, short videos, carousels, Stories, Reels.
  • Facebook: Community building, longer-form content, event promotion, group engagement.
  • LinkedIn: Professional networking, thought leadership, industry insights, business solutions.
  • Twitter/X: Real-time updates, quick tips, industry news, interactive polls, direct engagement.

Core Content Pillars:

  1. Productivity & Efficiency: Highlighting how PantheraFlow streamlines tasks.
  2. Feature Spotlight: Demonstrating specific functionalities and their impact.
  3. Problem/Solution: Addressing common pain points and positioning PantheraFlow as the answer.
  4. User Benefits & Testimonials: Showcasing real-world advantages and social proof.
  5. AI & Future of Work: Positioning PantheraFlow at the forefront of innovation.
  6. Interactive & Engaging: Polls, questions, quizzes to foster community interaction.

Two-Week Social Media Content Calendar: PantheraFlow Launch

This calendar provides a detailed plan for two weeks of engaging content. Remember to adapt the tone and specific features based on real-time feedback and platform performance.


Week 1: Building Awareness & Introducing Core Concepts

Monday - Day 1: The Grand Unveiling & Problem/Solution

  • Post 1: Launch Announcement & Vision

* Platform(s): Instagram, Facebook, LinkedIn, Twitter/X

* Content Type: High-quality image (launch graphic) / Short animated video

* Content Goal: Announce PantheraFlow, introduce its core value proposition.

* Headline: "🚨 The Future of Productivity is Here! Introducing PantheraFlow! 🚨"

* Body Text:

* Instagram/Facebook: "Tired of juggling tasks and losing precious time? We've been working tirelessly to solve your biggest productivity challenges. Meet PantheraFlow – your new AI-powered co-pilot designed to streamline your workflow, automate repetitive tasks, and unlock your true potential. Get ready to transform the way you work! #PantheraFlow #AIProductivity #FutureOfWork"

* LinkedIn: "Today marks a significant milestone! We're thrilled to officially launch PantheraFlow, an innovative AI-powered productivity tool engineered to redefine efficiency for professionals and businesses. Say goodbye to manual bottlenecks and hello to intelligent automation. Discover how PantheraFlow is set to revolutionize your daily operations. #PantheraFlowLaunch #AIforBusiness #ProductivityTools"

* Twitter/X: "BIG NEWS! πŸŽ‰ Say hello to #PantheraFlow! Your new AI co-pilot for ultimate productivity. Automate tasks, save time, achieve more. Get ready to work smarter, not harder! #AI #Productivity"

* Call to Action: "Learn More & Sign Up for Early Access! [Link in Bio / Website Link]"

* Hashtags: #PantheraFlow #AIProductivity #FutureOfWork #Efficiency #Innovation #LaunchDay #[YourBrand]

* Visual/Creative Brief: Sleek, modern graphic with PantheraFlow logo and a tagline like "Unlock Your Potential with AI." For video, a quick animation showcasing a seamless workflow.

  • Post 2: "Did You Know?" Productivity Stat & Solution

* Platform(s): Instagram (Story/Reel), Facebook, Twitter/X

* Content Type: Infographic image / Short video with text overlay

* Content Goal: Highlight a common productivity pain point and subtly introduce PantheraFlow as the solution.

* Headline: "⏰ Are You Losing Hours to Repetitive Tasks? ⏰"

* Body Text:

Instagram/Facebook: "The average professional spends 2.5 hours daily* on repetitive tasks. Imagine what you could achieve with that time back! PantheraFlow uses AI to automate these mundane duties, freeing you up for what truly matters. What's one task you wish you could automate? Let us know below! πŸ‘‡ #TimeSaver #WorkSmart #AIAutomation"

* Twitter/X: "Fact: We spend ~2.5 hours/day on repetitive tasks. 🀯 What if AI could take those off your plate? #PantheraFlow is here to give you those hours back! What's YOUR most annoying repetitive task? Reply! #ProductivityHack #AI"

* Call to Action: "Discover how PantheraFlow can save you time! [Website Link]"

* Hashtags: #ProductivityTips #TimeManagement #AIforWork #EfficiencyHack #PantheraFlow

* Visual/Creative Brief: Engaging infographic showing a clock and a statistic, then transitioning to a visual of PantheraFlow's sleek interface.

Tuesday - Day 2: Feature Spotlight: Smart Task Automation

  • Post 1: Deep Dive into Automation

* Platform(s): Instagram (Carousel/Reel), Facebook, LinkedIn

* Content Type: Carousel of screenshots/short demo video

* Content Goal: Showcase a key feature (Smart Task Automation) and its direct benefit.

* Headline: "✨ Automate the Mundane, Master the Meaningful with PantheraFlow ✨"

* Body Text:

* Instagram/Facebook: "Say goodbye to manual data entry, scheduling nightmares, and repetitive email drafts! PantheraFlow's Smart Task Automation learns your routines and handles the busywork, so you don't have to. Swipe to see it in action! πŸ‘‰ What task would you love to automate first? #TaskAutomation #AIProductivity #PantheraFlowFeatures"

* LinkedIn: "Efficiency isn't just a buzzword; it's a strategic advantage. PantheraFlow's intelligent automation engine empowers teams to offload time-consuming, repetitive tasks, allowing them to focus on high-value initiatives. This isn't just about saving time; it's about reallocating human capital to innovation and growth. #AIAutomation #BusinessEfficiency #WorkflowOptimization"

* Call to Action: "See a full demo – Book a Call! [Website Link]"

* Hashtags: #SmartAutomation #AItools #Work smarter #PantheraFlow #BusinessSolutions

* Visual/Creative Brief: Carousel: 1st slide - feature name, 2nd-4th slides - screenshots/GIFs showing automation in action (e.g., auto-scheduling, email drafting). Video: Quick screen recording demo.

  • Post 2: Quick Tip Tuesday (PantheraFlow Related)

* Platform(s): Twitter/X, Instagram (Story)

* Content Type: Text post with emoji / Short graphic with tip

* Content Goal: Provide value with a quick tip, subtly linking to PantheraFlow's benefits.

* Headline: "πŸ’‘ Productivity Tip Tuesday! πŸ’‘"

* Body Text:

* Twitter/X: "Boost your focus: Try the 'Pomodoro Technique'! πŸ… 25 mins work, 5 mins break. PantheraFlow can even help you track these intervals & manage your tasks efficiently! #ProductivityTips #WorkLifeBalance #PantheraFlow"

* Instagram Story: "⚑️ Quick Tip: Break down big tasks into smaller, manageable chunks. PantheraFlow's task management helps you stay on track! Tap to learn more! [Link Sticker]"

* Call to Action: "Ready to organize your tasks better? [Website Link]"

* Hashtags: #ProductivityHack #TimeManagement #Focus #PantheraFlow

Wednesday - Day 3: Engaging Content & Community Building

  • Post 1: Poll/Question - "Your Biggest Productivity Challenge?"

* Platform(s): Instagram (Story/Post), Facebook, LinkedIn, Twitter/X

* Content Type: Poll / Question post

* Content Goal: Drive engagement, gather insights, and position PantheraFlow as the solution to common problems.

* Headline: "πŸ€” What's Your Ultimate Productivity Kryptonite? πŸ€”"

* Body Text:

* Instagram/Facebook: "We all face them! What's the ONE thing that constantly derails your productivity? A) Endless emails B) Distractions C) Manual tasks D) Lack of organization. Vote in our story or comment below! We’re building PantheraFlow to conquer these! #ProductivityStruggles #WorkChallenges #CommunityPoll"

* LinkedIn: "Understanding the core challenges professionals face is key to building effective solutions. We're curious: What is the most significant bottleneck in your daily productivity? Share your insights in the comments. Your feedback drives innovation! #ProfessionalDevelopment #WorkplaceChallenges #AIInnovation"

* Twitter/X: "Quick Poll: What's your biggest #Productivity killer? πŸ”ͺ A) Email overload B) Distractions C) Repetitive tasks D) Disorganization. Vote & tell us why! πŸ‘‡ #WorkLife #AI"

* Call to Action: "Participate in our poll! [Link to Story/Post]"

* Hashtags: #ProductivityPoll #WorkFromHome #OfficeLife #PantheraFlow #Feedback

* Visual/Creative Brief: Engaging graphic with a question mark and multiple-choice options.

  • Post 2: Behind the Scenes/Team Spotlight

* Platform(s): Instagram, Facebook, LinkedIn

* Content Type: Team photo/video / "Meet the Team" graphic

* Content Goal: Humanize the brand, build trust, and showcase the people behind PantheraFlow.

* Headline: "Meet the Minds Behind PantheraFlow! πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»"

* Body Text:

* Instagram/Facebook: "Innovation doesn't happen by accident! Meet a few of the brilliant minds passionately building PantheraFlow to transform your work life. We're dedicated to making productivity effortless for YOU. Drop a πŸ‘‹ in the comments to say hello! #TeamBehindTheTech #PantheraFlowTeam #Innovation"

* LinkedIn: "At [Your Company Name], we believe in the power of human ingenuity amplified by AI. Meet some of the dedicated engineers, designers, and strategists who are bringing PantheraFlow to life. Their commitment to solving real-world productivity challenges is at the heart of our mission. #TeamCulture #AIdevelopment #TechCompany"

* Call to Action: "Follow us to see more behind-the-scenes! [Profile Link]"

* Hashtags: #TeamWork #TechLife #StartupLife #PantheraFlow #Innovation

* Visual/Creative Brief: Authentic, smiling team photo or a short video showcasing a glimpse of the office/team working.

Thursday - Day 4: Benefit-Driven Content & Use Cases

  • Post 1: "How PantheraFlow Helps [Specific Role/Industry]"

* Platform(s): LinkedIn, Facebook, Instagram (Carousel)

* Content Type: Infographic / Short explainer video / Carousel with use cases

* Content Goal: Illustrate specific, tangible benefits for a particular user segment.

* Headline: "πŸ“ˆ PantheraFlow: Elevating Productivity for Marketing Teams πŸ“ˆ" (Example)

* Body Text:

* LinkedIn: "Are you a marketing professional drowning in content calendars, campaign reports, and social media scheduling? PantheraFlow empowers marketing teams to automate routine tasks like data aggregation, report generation, and content repurposing, freeing up valuable time for strategic planning and creative execution. Discover how we can transform your team's output. #MarketingTech #AIforMarketing #PantheraFlow"

* Instagram/Facebook: "Calling all Marketers! πŸ“£ Imagine automating your weekly reports, content scheduling, and even drafting initial social posts. PantheraFlow makes it possible! Swipe to see how we supercharge your marketing efforts! #MarketingAutomation #ProductivityHacks #PantheraFlow"

* Call to Action: "Download our Industry-Specific Guide! [Website Link]"

* Hashtags: #AIforBusiness #MarketingStrategy #ProductivitySolutions #PantheraFlow #IndustrySpecific

* Visual/Creative Brief: Visually appealing infographic or carousel showcasing 3-4 specific ways PantheraFlow benefits a chosen industry/role (e.g., "Automate Report Generation," "Streamline Content Approval").

  • Post 2: Quick Tip Thursday - Focus & Deep Work

* Platform(s): Twitter/X, Instagram (Story)

* Content Type: Text post / Graphic with inspirational quote

* Content Goal:

sharper4k Output

Social Media Campaign: Visual Content Generation Strategy

This document outlines the detailed strategy and specifications for generating visual content (images) for your upcoming social media campaign, focusing on a fictional product: "Luminova Smart Lamp - The Future of Sustainable Lighting." This output serves as a comprehensive brief for the image creation process, ensuring consistency, impact, and alignment with your campaign objectives.


1. Campaign Overview & Visual Goal

  • Campaign Name: Luminova Smart Lamp Launch
  • Campaign Goal: To generate excitement, build brand awareness, and drive pre-orders for the new Luminova Smart Lamp, emphasizing its innovative technology, sustainable design, and seamless integration into modern lifestyles.
  • Visual Goal: To create a cohesive, aspirational, and informative visual narrative across all platforms that highlights the product's unique features, benefits, and aesthetic appeal, while maintaining a premium, eco-conscious brand image.

2. Overall Visual Strategy & Art Direction

The visual content will adhere to a distinct aesthetic to ensure brand consistency and audience engagement.

  • Core Aesthetic: Modern, minimalist, clean, warm, and inviting with a touch of sophisticated technology.
  • Mood: Serene, innovative, aspirational, eco-conscious, and functional.
  • Color Palette: Dominated by natural, earthy tones (e.g., soft greens, muted blues, warm greys, light wood textures) complemented by subtle accents of Luminova's brand accent color (a soft, glowing amber or subtle teal, representing light and innovation).
  • Lighting: Emphasize natural light where possible, showcasing the lamp's adaptable lighting features through dynamic, soft glows and ambient illumination that enhances the environment.
  • Composition: Clean lines, ample negative space, focus on product details and lifestyle integration. Avoid clutter to maintain a premium feel.
  • Photography Style: High-quality, professional product photography integrated with aspirational lifestyle shots. Focus on authentic interactions with the lamp in real-world settings (home, office, creative space).
  • Illustration/Graphic Elements: Minimalist, geometric shapes for infographics or call-out bubbles, maintaining the clean aesthetic. These will be used sparingly for clarity.

3. Key Visual Themes & Image Specifications

We will develop visual content around three primary campaign pillars, ensuring a diverse yet unified visual story. For each theme, specific image types and creative briefs are provided, along with platform considerations.

Theme 1: Innovation & Smart Technology

  • Focus: Highlighting the advanced features, smart capabilities, and technological sophistication of the Luminova Smart Lamp.
  • Core Message: "Intelligent Lighting, Simplified."
  • Image Types & Specifications:

* Static Post (Hero Shot - Product Focus):

* Content: A striking close-up product shot emphasizing unique design elements (e.g., touch controls, sleek base, material texture). Could include subtle glowing light effects emanating from the lamp, showcasing its active state.

* Art Direction: High-contrast, sharp focus on the product, set against a clean, minimalist background (e.g., polished concrete, minimalist wooden surface, or soft gradient). The light emitted should appear intelligent and adaptable.

* Text Overlay (Optional): "Intelligent Lighting, Simplified." or "Experience Luminova's Smart Tech." (Subtle, brand-approved font).

* Aspect Ratio: 1:1 (Instagram), 4:5 (Instagram Portrait), 16:9 (Facebook/LinkedIn).

* Carousel (Feature Breakdown):

* Content: A series of 3-5 images demonstrating specific smart features.

* Slide 1: Overview of the lamp with a "Swipe to Learn More" prompt.

* Slide 2: App control interface screenshot (clean UI, Luminova branding) showing brightness/color adjustment.

* Slide 3: Visual representation of voice activation (e.g., subtle sound waves, minimalist icon near lamp).

* Slide 4: Image depicting adaptive brightness sensor at work (e.g., lamp adjusting to changing ambient light).

* Slide 5: Graphic explaining custom schedules (e.g., time-based light changes).

* Art Direction: Consistent background across slides. Clean UI screenshots. Use minimalist icons for feature representation.

* Text Overlay: Short, punchy feature names (e.g., "Voice Control," "Adaptive Brightness," "Custom Schedules").

* Aspect Ratio: 1:1 (optimal for Instagram carousels).

* Reel Cover / Story Graphic (Dynamic Intro):

* Content: A stylized motion graphic or high-speed product reveal, focusing on the lamp powering on, changing colors, or responding to a command. (For static image, a keyframe from such a motion).

* Art Direction: Dynamic, futuristic, smooth transitions implied. Focus on the light beam or the lamp's silhouette as it activates.

* Text Overlay: "Meet Luminova." or "Innovation Illuminated." (Bold, engaging).

* Aspect Ratio: 9:16 (for Stories/Reel Covers).

Theme 2: Sustainability & Eco-Consc

social_media_campaign.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);}});}