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

Plan and create content for a complete social media campaign

Social Media Campaign: Content Calendar & Strategy Development (Step 1 of 2)

This document outlines the comprehensive content calendar and strategic framework for your upcoming social media campaign. Our goal is to create engaging, high-impact content that resonates with your target audience, drives awareness, and achieves your campaign objectives. This plan provides a detailed roadmap for content creation, ensuring consistency, relevance, and a strong call to action across all selected platforms.


1. Project Overview & Campaign Goals

Campaign Title: Unlock Your Potential: Introducing [Your App Name] - Your Partner in Wellness & Productivity!

Campaign Period: 4 Weeks (Adaptable based on launch strategy)

Overall Objective: To successfully launch [Your App Name] by building significant brand awareness, educating the target audience on its unique benefits, driving initial app downloads/sign-ups, and fostering an engaged early-adopter community.

Specific Goals:

  • Achieve X,000 app downloads/sign-ups within the first month.
  • Increase social media reach by X% and engagement rate by Y%.
  • Generate Z,000 website visits to the app landing page.
  • Establish [Your App Name] as a go-to solution for integrated wellness and productivity.

2. Target Audience & Key Platforms

Target Audience:

  • Demographics: Young professionals (25-45), students, entrepreneurs, and individuals seeking work-life balance.
  • Psychographics: Health-conscious, tech-savvy, goal-oriented, overwhelmed by daily demands, interested in personal development, self-care, and efficiency.
  • Needs: Time management, stress reduction, habit formation, focus improvement, holistic well-being.

Key Social Media Platforms:

  • Instagram: Visual storytelling, Reels, Stories, Carousels for engaging content and quick tips.
  • Facebook: Community building, longer-form posts, event promotion, targeted ads.
  • LinkedIn: Professional audience, thought leadership, app features for career growth, B2B partnerships.
  • TikTok: Short-form, trending content, quick hacks, behind-the-scenes, viral potential.

3. Core Content Pillars

Our content strategy will revolve around these key themes to provide diverse and valuable content:

  1. App Features & Benefits: Highlighting unique selling points, functionalities, and how they solve user problems.
  2. Wellness Tips & Tricks: Value-add content related to mindfulness, stress management, health habits, and self-care.
  3. Productivity Hacks & Strategies: Actionable advice on time management, focus, goal setting, and efficiency.
  4. Inspiration & Motivation: Uplifting content, success stories (mock-ups initially), and empowering messages.
  5. Community Engagement: Interactive content, Q&As, polls, and user-generated content (once available).

4. Proposed Content Calendar (4-Week Schedule)

This calendar provides a detailed breakdown of content for each week, including platform-specific recommendations, headlines, body text, and calls to action.


Week 1: Awareness & Introduction - "The Grand Reveal"

Focus: Announce [Your App Name], introduce its core concept, generate initial buzz, and establish the problem it solves.

| Day/Date (Example) | Platform | Content Type/Format | Headline/Caption Idea | Body Text (Example) | Call to Action | Visual/Media Suggestion | Hashtags |

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

| Mon (Day 1) | Instagram | Teaser Reel/Story | "Something Big is Coming..." | _(Short, dynamic video with animated text)_ "Tired of juggling wellness and work? Get ready for a seamless solution. We're launching soon!" | "Tap to learn more! Link in Bio." | Short, mysterious, high-energy video clip with app logo subtly revealed. | #NewApp #ComingSoon #[YourAppName] #WellnessTech #ProductivityApp |

| Tue (Day 2) | Facebook | Problem/Solution Post | "Reclaim Your Focus & Well-being." | "In today's fast-paced world, finding balance feels impossible. We designed [Your App Name] to integrate your wellness goals with your productivity tasks, giving you back control. Say goodbye to overwhelm." | "Discover how. Visit our website: [Link]" | Image: Person looking stressed vs. person looking calm and focused. | #WorkLifeBalance #Mindfulness #ProductivityHacks #DigitalWellness |

| Wed (Day 3) | LinkedIn | Official Launch Announcement | "Introducing [Your App Name]: Revolutionizing Wellness & Productivity." | "We're thrilled to announce the launch of [Your App Name]! Designed for professionals, entrepreneurs, and anyone seeking to optimize their day without sacrificing their well-being. Experience integrated task management, mindful breaks, and goal tracking, all in one intuitive platform." | "Learn more & download today: [Link to App Store/Website]" | Professional graphic with app icon and key features. | #AppLaunch #Innovation #ProductivityTools #WellnessAtWork #TechForGood |

| Fri (Day 5) | TikTok | "Day in the Life" Teaser | "My Secret Weapon for a Balanced Day!" | _(Quick montage video)_ "From morning meditation to crushing my to-do list, [Your App Name] keeps me on track. Here's a sneak peek at how it transforms my routine!" | "Download [Your App Name]! Link in Bio." | Fast-paced video showcasing snippets of app usage in a daily routine. | #ProductivityTips #WellnessJourney #LifeHacks #MorningRoutine #AppReview |


Week 2: Feature Deep Dive & Education - "Unlocking Potential"

Focus: Highlight specific app features, explain their benefits, and educate users on how to maximize their experience.

| Day/Date (Example) | Platform | Content Type/Format | Headline/Caption Idea | Body Text (Example) | Call to Action | Visual/Media Suggestion | Hashtags |

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

| Mon (Day 8) | Instagram | Carousel Post (Feature Spotlight) | "Master Your To-Do List with Smart Task Management." | "No more forgotten tasks! [Your App Name]'s smart task manager helps you prioritize, categorize, and track your progress effortlessly. Swipe to see how it works!" | "Ready to get organized? Download [Your App Name] today!" | Multi-slide carousel showing UI screenshots of task management features. | #TaskManagement #ProductivityGoals #GetOrganized #AppFeatures |

| Wed (Day 10) | Facebook | "How-To" Video (Mindful Moments) | "Take a Breath: Integrate Mindfulness into Your Day." | "Feeling overwhelmed? [Your App Name]'s 'Mindful Moments' feature offers guided meditations and breathwork exercises to recenter yourself. Watch this short tutorial to see how easy it is to find calm." | "Experience tranquility. Download [Your App Name] now!" | Short tutorial video demonstrating the 'Mindful Moments' feature within the app. | #Mindfulness #StressRelief #WellnessJourney #MeditationApp |

| Thu (Day 11) | LinkedIn | Article/Long-form Post (Goal Setting) | "Achieve Your Ambitions: The Science Behind Effective Goal Tracking." | "Setting goals is easy; achieving them requires strategy. [Your App Name] provides a robust framework for setting SMART goals, tracking progress, and celebrating milestones. Learn how our app empowers your journey to success." | "Elevate your goal setting. Explore [Your App Name]’s features: [Link]" | Infographic or professional image related to goal setting. | #GoalSetting #PersonalDevelopment #CareerGrowth #SuccessMindset |

| Fri (Day 12) | Instagram | Reel (Quick Tip) | "Boost Your Focus in 60 Seconds!" | _(Energetic video)_ "Struggling with distractions? [Your App Name]'s 'Focus Mode' helps you block out noise and concentrate on what matters. Here's a quick demo!" | "Unlock your focus! Link in Bio." | Fast-paced Reel demonstrating 'Focus Mode' with on-screen text overlays. | #FocusMode #ProductivityHacks #DigitalDetox #WorkFromHome |


Week 3: Value-Add & Community Building - "Your Wellness Journey"

Focus: Provide general wellness/productivity tips, encourage interaction, and foster a sense of community around the app's mission.

| Day/Date (Example) | Platform | Content Type/Format | Headline/Caption Idea | Body Text (Example) | Call to Action | Visual/Media Suggestion | Hashtags |

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

| Mon (Day 15) | Instagram | Carousel (Wellness Tips) | "5 Simple Habits for a Healthier You." | "Beyond the app, we're here to support your holistic well-being. Swipe through for 5 actionable tips you can start today! Which one will you try first?" | "Share your favorite tip in the comments!" | Visually appealing carousel with each slide featuring a tip (e.g., Hydrate, Move, Meditate). | #HealthyHabits #SelfCare #WellnessTips #DailyRoutine |

| Wed (Day 17) | Facebook | Poll/Question Post | "What's Your Biggest Productivity Challenge?" | "We're constantly evolving [Your App Name] to meet your needs. Tell us: what's the #1 thing that derails your productivity? (A) Distractions (B) Procrastination (C) Lack of Planning (D) Burnout." | "Vote below & share your thoughts!" | Engaging graphic with the poll question and options. | #ProductivityChallenges #CommunityFeedback #TimeManagement #AskUsAnything |

| Thu (Day 18) | TikTok | Quick Productivity Hack | "The 2-Minute Rule to Beat Procrastination!" | _(Upbeat, direct-to-camera video)_ "Got a task you're dreading? Apply the 2-minute rule! If it takes less than 2 minutes, do it NOW. This simple trick, combined with [Your App Name]'s task manager, is a game-changer!" | "Try it today! Download [Your App Name]." | Energetic creator explaining the rule with on-screen text. | #ProductivityHack #Procrastination #LifeHack #Motivation |

| Fri (Day 19) | LinkedIn | Case Study/User Story (Mock-up) | "How [Mock User Name] Boosted Productivity by 30% with [Your App Name]." | "Meet [Mock User Name], a busy marketing manager who struggled with work-life balance. By leveraging [Your App Name]'s integrated task management and mindful breaks, they transformed their daily routine. Read their story of success!" | "Ready for your own success story? Download [Your App Name]: [Link]" | Professional headshot (stock photo) with a quote, or a graphic representing a success graph. | #SuccessStory #ProductivityBoost #Testimonial #WorkSmartNotHard |


Week 4: Call to Action Reinforcement & Future Vision - "Your Journey Continues"

Focus: Reinforce the core benefits, drive final downloads for the campaign period, and hint at future updates/community.

| Day/Date (Example) | Platform | Content Type/Format | Headline/Caption Idea | Body Text (Example) | Call to Action | Visual/Media Suggestion | Hashtags |

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

| Mon (Day 22) | Instagram | Quote Graphic | "Your Potential is Limitless." | "Every day is an opportunity to grow, learn, and achieve. [Your App Name] is here to support every step of your journey towards a more fulfilling and productive life. What are you striving for this week?" | "Download [Your App Name] and start your journey!" | Inspirational quote graphic with subtle app branding. | #MotivationMonday #InspirationalQuotes #PersonalGrowth #AchieveYourGoals |

| Wed (Day 24) | Facebook | FAQ / Myth Buster | "Your Top Questions About [Your App Name], Answered!" | "We've heard your questions, and we're here to clarify! From data privacy to customizability, we're addressing common inquiries to ensure you feel confident in choosing [Your App Name]." | "Have more questions? Ask in the comments or visit our FAQ: [Link]" | Graphic with "FAQ" and app branding, or a video addressing questions. | #AppFAQ #CustomerSupport #Transparency #DigitalWellness |

| Thu (Day 25) | LinkedIn | "Future of Work" Thought Leadership | "The Future of Work: Balancing Output with Well-being." | "As the professional landscape evolves, the integration of wellness and productivity tools like [Your App Name] becomes crucial. We believe true success means thriving, not just surviving. Join us in shaping a healthier, more productive future." | "Connect with us to discuss the future of work!" | Professional image of modern workspace, or a relevant industry graph. | #FutureOfWork #WorkLifeIntegration #ThoughtLeadership #Innovation |

| Fri (Day 26) | Instagram | Final Campaign Push Reel | **"

sharper4k Output

This document outlines the detailed specifications for generating a professional, high-impact image suitable for a diverse range of social media campaign applications. The goal is to create a visually stunning asset that conveys a sense of modernity, aspiration, and effortless quality, aligning with the "sharper4k" standard for crisp, high-resolution visuals.


Social Media Campaign Image Generation Request: "Modern Serenity & Innovation"

1. Overview & Strategic Intent

This image request aims to produce a versatile, premium visual asset that can serve as a cornerstone for various social media campaign messages. The core objective is to evoke feelings of calm, sophistication, and forward-thinking convenience, subtly integrating an element of modern technology or lifestyle enhancement without being overtly product-centric. The output should be high-resolution, aesthetically pleasing, and capable of capturing immediate audience attention.

2. Core Image Concept: "Effortless Modern Living"

The image should depict a serene, contemporary environment where innovation seamlessly blends with daily life, promoting a sense of ease and elevated experience. It should be aspirational, clean, and convey a high-quality brand image.

3. Detailed Image Specifications

3.1. Primary Scene & Subject

  • Environment: A brightly lit, open-plan living space or a sophisticated home office. Emphasize minimalist design, clean lines, and abundant natural light. Think Scandinavian or modern architectural aesthetics.
  • Key Elements:

* Sleek Object/Device: A subtly integrated, elegant, and non-specific modern device or object (e.g., a minimalist smart home hub, a designer speaker, a futuristic wellness device, or even an artfully arranged product representing a service). This object should be the focal point but not overwhelm the scene. It should suggest innovation without being explicitly branded.

* Natural Elements: A delicate plant (e.g., a Fiddle Leaf Fig, a Snake Plant, or a small succulent arrangement) in a designer pot, or a vase with a few elegant flowers, adding a touch of organic warmth.

* Textural Surfaces: Polished concrete, light natural wood (ash, maple), or a clean white/light gray matte surface (e.g., a tabletop, a shelf).

  • Optional Human Element (Subtle): A person (diverse, 25-40 years old, professional yet relaxed attire) could be present in the background or periphery, engaged in a quiet activity (e.g., reading a book, sipping coffee, looking out a window, working on a tablet). Their face should be partially obscured or their focus elsewhere to maintain broad relatability and avoid direct product interaction. The intent is to show harmonious living, not direct product use.

3.2. Style & Aesthetic

  • Overall: Modern, minimalist, clean, aspirational, sophisticated, high-end, and inviting.
  • Photography Style: High-key lighting, sharp focus, excellent depth of field, and a premium editorial feel.
  • Detail: High-resolution textures, crisp edges, and impeccable attention to detail on all surfaces and objects.

3.3. Color Palette

  • Dominant: Soft neutrals – warm whites, muted grays, natural wood tones, light beige.
  • Accent (Subtle): A single, sophisticated accent color (e.g., a calming sage green, a deep teal, a soft terracotta, or a muted mustard yellow) introduced through a cushion, a vase, or a subtle design element to add visual interest without overpowering. The accent should complement the neutrals.

3.4. Composition & Framing

  • Technique: Utilize the rule of thirds for balanced and engaging composition.
  • Perspective: A slightly elevated or eye-level shot, providing a clear view of the primary subject and the surrounding environment.
  • Depth: Good depth of field, with the primary subject in sharp focus and a gentle, pleasing blur in the background to create separation and emphasize the focal point.
  • Negative Space: Ample negative space around the main elements to enhance the minimalist feel and allow for overlaying text/graphics in social media posts.

3.5. Lighting

  • Type: Soft, diffused natural light, preferably from a large window.
  • Effect: Creates gentle shadows, highlights textures, and contributes to a bright, airy, and serene atmosphere. Avoid harsh direct sunlight or artificial light sources that distract.
  • Mood: Bright, clear, and optimistic.

3.6. Mood & Emotion

  • Calm, peaceful, sophisticated, efficient, innovative, effortless, luxurious, aspirational, and forward-thinking. The image should convey a sense of well-being and modern convenience.

4. Technical Requirements

  • Resolution: Minimum 4K (3840x2160 pixels) or higher, ensuring crispness for all digital platforms.
  • Aspect Ratios: Provide variations or ensure adaptability for:

* 1:1 (Square, for Instagram feeds)

* 4:5 (Portrait, for Instagram feeds)

* 16:9 (Landscape, for banners, LinkedIn, Facebook)

* 9:16 (Vertical, for Stories/Reels)

  • File Format: High-quality JPEG or PNG.
  • Color Profile: sRGB for web compatibility.

5. Potential Campaign Applications & Variations

The generated image should be adaptable for various campaign messages:

  • Product Launch: Focus on the sleek device, hinting at new possibilities.
  • Lifestyle Promotion: Emphasize the overall serene environment and the human element (if present), showcasing an improved way of living.
  • Brand Awareness: Reinforce the brand's commitment to quality, design, and innovation.
  • Engagement Posts: Serve as an attractive backdrop for questions or thought-provoking captions.
  • Benefit-Oriented Content: Visually represent the peace of mind, efficiency, or comfort offered by the product/service.

6. Deliverable

One primary, high-resolution image generated according to the detailed specifications above, with consideration for adaptability across multiple aspect ratios.


This detailed output provides a clear, actionable brief for the image generation process, ensuring the final visual asset is professional, high-quality, and perfectly suited for the social media campaign.

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