Social Media Campaign
Run ID: 69ccadc33e7fb09ff16a40e12026-04-01Marketing
PantheraHive BOS
BOS Dashboard

Plan and create content for a complete social media campaign

Social Media Campaign: "Unlock Your Flow" - Content Calendar

This document outlines a comprehensive 4-week social media content calendar designed to launch and promote "FlowState," an innovative productivity application. The goal is to build brand awareness, drive engagement, educate potential users on its benefits, and ultimately encourage downloads and sign-ups.


1. Executive Summary

This content calendar provides a detailed, day-by-day plan for a 4-week social media campaign for "FlowState." It covers key platforms (Instagram, LinkedIn, Facebook, X/Twitter), outlining specific content types, headlines, body text, calls to action, and visual ideas. The campaign progresses from introducing the problem and solution to showcasing features, building community, and finally driving conversions. Each piece of content is crafted to be engaging, informative, and aligned with the overarching campaign goals.


2. Campaign Goals

  • Increase Brand Awareness: Introduce "FlowState" to a broad audience and establish its unique value proposition.
  • Drive Engagement: Foster interaction through polls, questions, and user-generated content prompts.
  • Educate & Inform: Clearly communicate the core features and benefits of "FlowState."
  • Generate Leads/Downloads: Encourage app downloads, website sign-ups, and email list subscriptions.
  • Build Community: Cultivate an initial community of early adopters and enthusiasts.

3. Target Audience

  • Professionals: Managers, creatives, freelancers, and remote workers seeking to optimize focus and manage distractions.
  • Students: University and college students looking for tools to improve study habits and project completion.
  • Entrepreneurs: Business owners and startup founders aiming to maximize efficiency and achieve their goals.
  • Anyone struggling with information overload, digital distractions, and maintaining deep work sessions.

4. Key Messaging Pillars

  • Reclaim Your Focus: "FlowState" helps you cut through the noise and achieve deep concentration.
  • Seamless Productivity: Integrate your tasks, notes, and focus sessions in one intuitive platform.
  • Achieve More, Stress Less: Experience the satisfaction of consistent progress without burnout.
  • Your Personal Productivity Partner: Tailored insights and tools to fit your unique workflow.

5. Platform Strategy Overview

  • Instagram: Visually driven content (stories, reels, carousels, striking graphics). Focus on lifestyle, quick tips, behind-the-scenes, and engaging visuals.
  • LinkedIn: Professional insights, thought leadership on productivity, feature deep-dives, success stories, and networking.
  • Facebook: Community building, Q&A, longer-form educational content, event promotion, and sharing articles.
  • X (Twitter): Short, punchy updates, quick tips, real-time engagement, polls, industry news, and driving traffic to longer content.

6. Content Calendar: "Unlock Your Flow" Campaign

Campaign Duration: 4 Weeks


WEEK 1: Introduction & Problem/Solution

Theme: Identifying productivity struggles and introducing "FlowState" as the ultimate solution.

Day 1: Campaign Kick-off & Problem Hook

  • Platform: Instagram, Facebook, LinkedIn, X
  • Content Type: Image (Striking graphic with a question), X Poll
  • Headline: "Feeling Overwhelmed by Distractions?"
  • Body Text: "In today's fast-paced world, staying focused feels like a superpower. Are you constantly battling notifications, endless tabs, and the struggle to get into deep work? You're not alone. Let's talk about the biggest roadblocks to your productivity."

* X Poll Option 1: Notifications, Option 2: Multitasking, Option 3: Unclear Goals, Option 4: All of the above!

  • Call to Action: "Tell us in the comments: What's your biggest productivity challenge?" / "Vote in our poll!"
  • Hashtags: #ProductivityHacks #Focus #WorkLifeBalance #DigitalDistractions #NewApp #FlowStateApp
  • Visual Idea: A stylized image of a person looking overwhelmed by floating digital elements (notifications, app icons).

Day 2: Introducing "FlowState" - The Solution

  • Platform: Instagram (Reel/Video), Facebook, LinkedIn
  • Content Type: Short Video (15-30s animated explainer/teaser)
  • Headline: "Meet FlowState: Your New Secret Weapon for Deep Work"
  • Body Text: "Imagine a world where distractions fade, and your focus sharpens. A world where your tasks, notes, and goals align effortlessly. That world is here. Introducing FlowState, the revolutionary app designed to help you achieve unparalleled concentration and productivity."
  • Call to Action: "Get ready to reclaim your time. Link in bio to learn more!"
  • Hashtags: #FlowState #DeepWork #ProductivityApp #Innovation #TechLaunch #FocusMode #GetThingsDone
  • Visual Idea: Dynamic animation showcasing the app's logo, sleek UI, and a hint of its core functionality (e.g., a timer, task list, calm background).

Day 3: Blog Post / Article Share: "The Science of Flow"

  • Platform: LinkedIn, Facebook, X
  • Content Type: Link Post (to a blog post on your website)
  • Headline: "Unlock Your Brain's Full Potential: The Science Behind 'Flow State'"
  • Body Text: "Ever felt completely immersed in a task, losing track of time? That's 'flow state.' We've distilled the science of optimal performance into an intuitive app. Read our latest article to understand how achieving flow can transform your productivity and well-being."
  • Call to Action: "Dive deeper into the power of focus. Read the full article now!"
  • Hashtags: #FlowStateScience #CognitiveScience #ProductivityTips #BrainHealth #DeepWorkStrategy #LearnMore
  • Visual Idea: A captivating image related to neuroscience or a calm, focused workspace.

Day 4: "A Day in the Life with FlowState" - Teaser

  • Platform: Instagram (Carousel), X (Thread)
  • Content Type: Image Carousel (3-4 slides) / X Thread
  • Headline: "What if you could achieve THIS every day?"
  • Body Text: "From morning planning to deep work sessions and mindful breaks, FlowState integrates seamlessly into your day. Get a sneak peek at how our app helps you manage tasks, eliminate distractions, and track your progress. Your most productive day yet is just a tap away."
  • Call to Action: "Swipe to see the transformation! Stay tuned for more details."
  • Hashtags: #DailyRoutine #ProductivityJourney #WorkSmart #TimeManagement #AppPreview #FlowStateApp
  • Visual Idea: Carousel: 1. "Morning Plan," 2. "Deep Work Session," 3. "Mindful Break," 4. "Achieved!" - all with stylized app mockups.

Day 5: Q&A / Ask Me Anything (AMA) - Teaser

  • Platform: Instagram Stories, Facebook Event
  • Content Type: Interactive Story (Question Sticker), Event Announcement
  • Headline: "Your Questions, Answered!"
  • Body Text: "Curious about FlowState? We're hosting a live Q&A next week to answer all your questions about the app, productivity, and achieving your goals. Submit your questions now and mark your calendars!"
  • Call to Action: "Tap here to submit your questions!" / "RSVP to our upcoming Q&A event!"
  • Hashtags: #AMA #ProductivityExpert #AskMeAnything #LiveSession #FlowStateCommunity #GetAnswers
  • Visual Idea: A vibrant graphic announcing the upcoming Q&A, with a clear call for questions.

WEEK 2: Features & Benefits Deep Dive

Theme: Showcasing key functionalities and how they directly solve user problems.

Day 1: Feature Spotlight: Focus Timer

  • Platform: Instagram (Reel/Video), LinkedIn, Facebook
  • Content Type: Short Demo Video (15-45s)
  • Headline: "Master Your Time with FlowState's Smart Focus Timer"
  • Body Text: "Distractions don't stand a chance. Our customizable focus timer, inspired by proven productivity techniques, helps you block out noise and dive into deep work. Set your intentions, track your progress, and celebrate your focused sessions. It's time to reclaim uninterrupted time."
  • Call to Action: "Ready to experience true focus? Sign up for early access!" (Link in bio)
  • Hashtags: #FocusTimer #Pomodoro #DeepWorkTools #ProductivityFeatures #TimeBlocking #FlowStateApp
  • Visual Idea: A sleek video demonstrating the timer in action, showing a "Distraction Blocker" feature, and a satisfying completion animation.

Day 2: Feature Spotlight: Task & Project Management

  • Platform: LinkedIn, X, Facebook
  • Content Type: Image (Infographic/Screenshot), X Thread
  • Headline: "Your Tasks, Streamlined. Your Projects, Organized."
  • Body Text: "Stop juggling multiple apps. FlowState brings your tasks, subtasks, and projects into one intuitive space. Prioritize with ease, set deadlines, and track your progress visually. Spend less time organizing, more time doing."
  • Call to Action: "See how FlowState integrates your workflow. Visit our website!"
  • Hashtags: #TaskManagement #ProjectManagement #Workflow #Organization #ProductivitySuite #FlowStateFeatures
  • Visual Idea: A clean infographic highlighting the task management UI, showing different project views (list, board).

Day 3: "Behind the Scenes" / Founder's Story

  • Platform: Instagram (Reel/Stories), LinkedIn
  • Content Type: Video (1-2 min interview/montage)
  • Headline: "The Vision Behind FlowState: A Founder's Journey to Deeper Focus"
  • Body Text: "Every great tool starts with a problem. Our founder shares the personal journey of battling distractions and the passion that fueled the creation of FlowState. Discover the 'why' behind our mission to empower your productivity."
  • Call to Action: "Hear the full story. Watch now!"
  • Hashtags: #FounderStory #StartupLife #BehindTheScenes #Innovation #ProductivityJourney #MeetTheTeam #FlowState
  • Visual Idea: Authentic footage of the founder working, sketching ideas, and talking directly to the camera, interspersed with app UI glimpses.

Day 4: "Productivity Myth vs. Fact"

  • Platform: Instagram (Carousel), X, Facebook
  • Content Type: Interactive Carousel / Myth-Buster Post
  • Headline: "Busting Productivity Myths: Are You Falling for These Traps?"
  • Body Text: "Think multitasking makes you more efficient? Think again! We're debunking common productivity myths and showing you how FlowState helps you adopt science-backed habits for real results. Swipe to uncover the truth!"
  • Call to Action: "What's your biggest productivity myth? Share below!"
  • Hashtags: #ProductivityMyths #MythBuster #WorkSmartNotHard #FocusTips #ScienceBacked #FlowStateInsights
  • Visual Idea: Carousel slides: "Myth: Multitasking is Efficient" (X graphic) -> "Fact: Single-Tasking Boosts Focus" (✓ graphic with FlowState UI).

Day 5: User Testimonial / Early Adopter Quote (Hypothetical)

  • Platform: Instagram, LinkedIn, Facebook
  • Content Type: Quote Graphic (Image)
  • Headline: "''FlowState completely changed how I approach my workday.'" - [Hypothetical User Name]"
  • Body Text: "We're thrilled by the early feedback! [Hypothetical User Name], a [User's Profession], shares how FlowState helped them [specific benefit, e.g., 'reduce procrastination and complete projects ahead of schedule']. Join our growing community of focused individuals!"
  • Call to Action: "Ready for your own success story? Explore FlowState today!"
  • Hashtags: #UserSuccess #Testimonial #EarlyAdopter #ProductivityWins #CustomerLove #FlowStateCommunity
  • Visual Idea: A professional, clean graphic featuring the quote prominently, with a subtle app background or logo.

WEEK 3: Engagement & Community Building

Theme: Fostering interaction, sharing user-generated content, and building a sense of belonging.

Day 1: Poll / Question: "Your Ideal Productive Environment"

  • Platform: Instagram Stories, X Poll, Facebook Group
  • Content Type: Interactive Poll / Question Post
  • Headline: "Where Do You Get Your Best Work Done?"
  • Body Text: "Is it a quiet cafe, a bustling co-working space, or the solitude of your home office? We're curious about your ideal environment for peak productivity. Share your thoughts and tell us what makes it perfect!"

* Poll Options: Cafe, Home Office, Library, Co-working Space.

  • Call to Action: "Vote in our poll!" / "Share your setup in the comments!"
  • Hashtags: #WorkEnvironment #ProductivitySpace #HomeOffice #DeepWorkZone #CommunityQuestion #FlowStateLife
  • Visual Idea: A collage of various work environments or a simple, engaging question graphic.

Day 2: User-Generated Content (UGC) Prompt

  • Platform: Instagram, Facebook, X
  • Content Type: Image/Video Prompt
  • Headline: "Show Us Your FlowState Moment!"
  • Body Text: "We believe productivity is personal. Share a photo or short video of your workspace, your favorite FlowState feature, or how you use the app to achieve focus. Tag us and use #MyFlowState for a chance to be featured!"
  • Call to Action: "Inspire us! Share your FlowState setup today!"
  • Hashtags: #MyFlowState #UGC #WorkspaceGoals #ProductivityCommunity #ShowYourWork #FlowStateApp
  • **
sharper4k Output

This output details the image generation requirements for the "EcoSphere" Social Media Campaign. The goal is to create a comprehensive set of visuals that are engaging, on-brand, and optimized for various social media platforms, effectively communicating the value and appeal of sustainable, smart home gardening kits.


Social Media Campaign: Image Generation Plan - "EcoSphere" Smart Home Gardening Kits

Campaign Overview:

This campaign introduces "EcoSphere," a new line of sustainable, smart home gardening kits designed to bring fresh produce and green living into urban homes. The campaign aims to raise brand awareness, drive pre-orders/sales, and educate the target audience (environmentally conscious millennials/Gen Z, urban dwellers, tech enthusiasts) on the ease and benefits of home gardening with smart technology.

Overall Visual Style & Brand Guidelines:

  • Aesthetics: Modern, clean, minimalist, natural, vibrant yet calming. Focus on sleek design, lush greenery, and inviting home environments.
  • Color Palette: Dominated by earthy tones (various shades of green, soft browns, terracotta) complemented by crisp whites, light grays, and pops of vibrant colors from fresh produce (reds, yellows, purples).
  • Mood & Tone: Inspiring, fresh, innovative, serene, approachable, and aspirational.
  • Photography Style: Bright, well-lit imagery utilizing natural light whenever possible. Employ a shallow depth of field to emphasize the product and vibrant plants. Avoid overly artificial or dark compositions.
  • Branding: Subtle integration of the "EcoSphere" logo where appropriate, ensuring brand colors are consistently reflected in the overall visual theme.

Image Categories and Detailed Descriptions for Generation

The following categories outline the specific image concepts required for the campaign. Each description provides sufficient detail for an AI image generation model or a professional graphic designer to create the desired visual.

1. Hero / Launch Images (High-Impact Visuals for Announcement & Key Messaging)

  • Concept 1: The Grand Reveal

* Description: A sleek, minimalist shot of the EcoSphere kit (a compact, elegant device with integrated plant pods and a gentle light panel) illuminated by soft, natural sunlight. It stands against a clean white or light wooden background. Fresh, vibrant herbs (e.g., basil, mint, small leafy greens) are visibly thriving within the pods. A subtle, ethereal glow emanates around the growing plants, highlighting their vitality.

* Keywords: Sleek, modern, minimalist, smart garden, fresh herbs, natural light, elegant, innovative, product launch, clean design, ethereal glow.

* Recommended Aspect Ratios: 1:1 (Instagram), 4:5 (Facebook/Instagram Portrait), 16:9 (Website banner/X).

  • Concept 2: Sustainable Urban Living

* Description: A composite image showcasing the EcoSphere kit placed on a minimalist shelf or counter in a modern, sunlit apartment kitchen. The background outside a large window is softly blurred, revealing a vibrant, green city skyline (suggesting an urban oasis). A diverse hand gently touches a leaf growing in the EcoSphere, conveying connection and care.

* Keywords: Urban gardening, sustainability, future living, modern apartment, green city, sunlit, human connection, eco-friendly lifestyle.

* Recommended Aspect Ratios: 4:5, 1:1, 1.91:1.

2. Product Showcase Images (Highlighting Features & Benefits)

  • Concept 1: Modular Design & Ease of Use

* Description: A series of 2-3 clean, studio-like images demonstrating the modularity and user-friendliness of the EcoSphere.

1. Image A: A close-up of seed pods being easily inserted into the EcoSphere's designated slots.

2. Image B: A clear shot of the water reservoir being filled or showing its water level indicator.

3. Image C: The smart light panel being adjusted or showing its sleek integration.

* Each image should be well-lit with a neutral background to emphasize product details.

* Keywords: Modular, easy assembly, smart features, close-up, product details, user-friendly, innovation, step-by-step.

* Recommended Aspect Ratios: 1:1 (for carousel posts), 4:5.

  • Concept 2: Abundance of Fresh Produce

* Description: A vibrant flat lay (top-down) shot showcasing a variety of fresh produce grown successfully in the EcoSphere: leafy greens, cherry tomatoes, small peppers, strawberries, and various herbs. These items are artfully arranged around the EcoSphere device itself, looking lush, colorful, and ready for harvest.

* Keywords: Fresh produce, variety, healthy eating, farm-to-table, colorful, abundant, organic, harvest, home grown.

* Recommended Aspect Ratios: 1:1, 4:5.

3. Lifestyle / In-Use Images (Connecting Product to User Experience)

  • Concept 1: Morning Ritual & Healthy Living

* Description: A person (diverse, 25-35 years old, e.g., a young professional or student) enjoying a healthy breakfast in a cozy, sunlit kitchen or dining area. The EcoSphere is prominently displayed on a counter or shelf, providing fresh herbs (e.g., basil or chives) that have been incorporated into their meal. A steaming cup of coffee and an open book complete the serene scene.

* Keywords: Lifestyle, healthy living, urban oasis, morning routine, fresh ingredients, cozy, mindful, wellness.

* Recommended Aspect Ratios: 4:5, 1:1, 9:16 (for Stories).

  • Concept 2: Family Engagement & Education

* Description: A parent and child (around 8-12 years old, diverse representation) happily interacting with the EcoSphere together. The child is gently watering a plant or carefully harvesting a small leaf, guided by the parent. Focus on expressions of joy, curiosity, and shared learning, emphasizing the educational aspect of home gardening.

* Keywords: Family, education, bonding, sustainable habits, hands-on learning, joyful, children, shared experience.

* Recommended Aspect Ratios: 4:5, 1:1.

4. Educational / Infographic-Style Images (Simplifying Information)

  • Concept 1: How It Works - Visual Steps

* Description: A series of 3-4 simple, clean, iconographic images or a multi-panel graphic illustrating the incredibly easy setup of the EcoSphere. Each panel features a distinct, modern icon and minimal text.

1. Panel 1: Icon of a water drop and a hand pouring water into the device.

2. Panel 2: Icon of a seed pod and a hand inserting it into the EcoSphere.

3. Panel 3: Icon of a power plug and a hand plugging in the device.

* Overall aesthetic should be clean, vector-style illustrations with a pastel or muted color palette.

* Keywords: Simple steps, easy setup, infographic, visual guide, user journey, quick start, minimalist icons.

* Recommended Aspect Ratios: 1:1 (for carousel), 1.91:1 (for multi-panel posts).

  • Concept 2: Sustainability Impact

* Description: An infographic-style image visually representing the key environmental benefits of EcoSphere. Use clean, modern icons and a subtle background related to nature (e.g., a faint leaf pattern or soft gradient).

* Visual Elements:

* Icon for "Less Water Usage" (e.g., a water drop with a downward arrow or percentage).

* Icon for "No Pesticides" (e.g., a crossed-out spray bottle or a clean leaf).

* Icon for "Reduced Carbon Footprint" (e.g., a smaller carbon emission cloud or a green footprint).

* The design should be clear, concise, and visually impactful.

* Keywords: Sustainability, eco-friendly, green benefits, environmental impact, data visualization (simple), clean energy.

* Recommended Aspect Ratios: 1:1, 4:5.

5. Engagement / Community Images (Fostering Interaction)

  • Concept 1: Question Prompt Background

* Description: An aesthetically pleasing, slightly blurred close-up image of lush,

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
"); 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' import ReactDOM from 'react-dom/client' import App from './App' import './index.css' ReactDOM.createRoot(document.getElementById('root')!).render( ) "); 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' import './App.css' function App(){ return(

"+slugTitle(pn)+"

Built with PantheraHive BOS

) } export default App "); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e} .app{min-height:100vh;display:flex;flex-direction:column} .app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px} h1{font-size:2.5rem;font-weight:700} "); 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)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` ## Open in IDE Open the project folder in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- 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",'{ "name": "'+pn+'", "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vue-tsc -b && vite build", "preview": "vite preview" }, "dependencies": { "vue": "^3.5.13", "vue-router": "^4.4.5", "pinia": "^2.3.0", "axios": "^1.7.9" }, "devDependencies": { "@vitejs/plugin-vue": "^5.2.1", "typescript": "~5.7.3", "vite": "^6.0.5", "vue-tsc": "^2.2.0" } } '); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { resolve } from 'path' export default defineConfig({ plugins: [vue()], resolve: { alias: { '@': resolve(__dirname,'src') } } }) "); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]} '); zip.file(folder+"tsconfig.app.json",'{ "compilerOptions":{ "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"], "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true, "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue", "strict":true,"paths":{"@/*":["./src/*"]} }, "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"] } '); zip.file(folder+"env.d.ts","/// "); zip.file(folder+"index.html"," "+slugTitle(pn)+"
"); 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' import { createPinia } from 'pinia' import App from './App.vue' import './assets/main.css' const app = createApp(App) app.use(createPinia()) app.mount('#app') "); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue"," "); 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} "); 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)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` Open in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- 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",'{ "name": "'+pn+'", "version": "0.0.0", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test" }, "dependencies": { "@angular/animations": "^19.0.0", "@angular/common": "^19.0.0", "@angular/compiler": "^19.0.0", "@angular/core": "^19.0.0", "@angular/forms": "^19.0.0", "@angular/platform-browser": "^19.0.0", "@angular/platform-browser-dynamic": "^19.0.0", "@angular/router": "^19.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, "devDependencies": { "@angular-devkit/build-angular": "^19.0.0", "@angular/cli": "^19.0.0", "@angular/compiler-cli": "^19.0.0", "typescript": "~5.6.0" } } '); zip.file(folder+"angular.json",'{ "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "newProjectRoot": "projects", "projects": { "'+pn+'": { "projectType": "application", "root": "", "sourceRoot": "src", "prefix": "app", "architect": { "build": { "builder": "@angular-devkit/build-angular:application", "options": { "outputPath": "dist/'+pn+'", "index": "src/index.html", "browser": "src/main.ts", "tsConfig": "tsconfig.app.json", "styles": ["src/styles.css"], "scripts": [] } }, "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"} } } } } '); zip.file(folder+"tsconfig.json",'{ "compileOnSave": false, "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"]}, "references":[{"path":"./tsconfig.app.json"}] } '); zip.file(folder+"tsconfig.app.json",'{ "extends":"./tsconfig.json", "compilerOptions":{"outDir":"./dist/out-tsc","types":[]}, "files":["src/main.ts"], "include":["src/**/*.d.ts"] } '); zip.file(folder+"src/index.html"," "+slugTitle(pn)+" "); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser'; import { appConfig } from './app/app.config'; import { AppComponent } from './app/app.component'; bootstrapApplication(AppComponent, appConfig) .catch(err => console.error(err)); "); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; } "); 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'; import { RouterOutlet } from '@angular/router'; @Component({ selector: 'app-root', standalone: true, imports: [RouterOutlet], templateUrl: './app.component.html', styleUrl: './app.component.css' }) export class AppComponent { title = '"+pn+"'; } "); zip.file(folder+"src/app/app.component.html","

"+slugTitle(pn)+"

Built with PantheraHive BOS

"); 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} "); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { routes } from './app.routes'; export const appConfig: ApplicationConfig = { providers: [ provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(routes) ] }; "); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router'; export const routes: Routes = []; "); 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)+" Generated by PantheraHive BOS. ## Setup ```bash npm install ng serve # or: npm start ``` ## Build ```bash ng build ``` Open in VS Code with Angular Language Service extension. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local .angular/ "); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/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(" "):"# add dependencies here "; zip.file(folder+"main.py",src||"# "+title+" # Generated by PantheraHive BOS print(title+" loaded") "); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` ## Run ```bash python main.py ``` "); zip.file(folder+".gitignore",".venv/ __pycache__/ *.pyc .env .DS_Store "); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/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)+" "; zip.file(folder+"package.json",pkgJson); var fallback="const express=require("express"); const app=express(); app.use(express.json()); app.get("/",(req,res)=>{ res.json({message:""+title+" API"}); }); const PORT=process.env.PORT||3000; app.listen(PORT,()=>console.log("Server on port "+PORT)); "; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000 "); zip.file(folder+".gitignore","node_modules/ .env .DS_Store "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash npm install ``` ## Run ```bash npm run dev ``` "); } /* --- 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:" "+title+" "+code+" "; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */ *{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e} "); zip.file(folder+"script.js","/* "+title+" — scripts */ "); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Open Double-click `index.html` in your browser. Or serve locally: ```bash npx serve . # or python3 -m http.server 3000 ``` "); zip.file(folder+".gitignore",".DS_Store node_modules/ .env "); } /* ===== 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(/ {2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. Files: - "+app+".md (Markdown) - "+app+".html (styled HTML) "); } 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);}});}