|
<!DOCTYPE html> |
|
<html lang="en"> |
|
<head> |
|
<meta charset="UTF-8"> |
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
<title>AI Campaign Generator</title> |
|
<script src="https://cdn.tailwindcss.com"></script> |
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> |
|
<style> |
|
.gradient-bg { |
|
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); |
|
} |
|
.layer-card { |
|
transition: all 0.3s ease; |
|
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); |
|
} |
|
.layer-card:hover { |
|
transform: translateY(-5px); |
|
box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1); |
|
} |
|
.progress-ring__circle { |
|
transition: stroke-dashoffset 0.35s; |
|
transform: rotate(-90deg); |
|
transform-origin: 50% 50%; |
|
} |
|
.animate-pulse { |
|
animation: pulse 2s infinite; |
|
} |
|
@keyframes pulse { |
|
0% { opacity: 0.6; } |
|
50% { opacity: 1; } |
|
100% { opacity: 0.6; } |
|
} |
|
.tooltip { |
|
position: relative; |
|
} |
|
.tooltip .tooltip-text { |
|
visibility: hidden; |
|
width: 200px; |
|
background-color: #555; |
|
color: #fff; |
|
text-align: center; |
|
border-radius: 6px; |
|
padding: 5px; |
|
position: absolute; |
|
z-index: 1; |
|
bottom: 125%; |
|
left: 50%; |
|
margin-left: -100px; |
|
opacity: 0; |
|
transition: opacity 0.3s; |
|
} |
|
.tooltip:hover .tooltip-text { |
|
visibility: visible; |
|
opacity: 1; |
|
} |
|
</style> |
|
</head> |
|
<body class="gradient-bg min-h-screen"> |
|
<div class="container mx-auto px-4 py-8"> |
|
|
|
<header class="text-center mb-12"> |
|
<h1 class="text-4xl md:text-5xl font-bold text-indigo-800 mb-4">AI Campaign Generator</h1> |
|
<p class="text-xl text-gray-600 max-w-3xl mx-auto">Transform your marketing ideas into high-performing campaigns with our 8-layer AI system</p> |
|
</header> |
|
|
|
|
|
<div class="bg-white rounded-xl p-6 mb-8 layer-card"> |
|
<h2 class="text-2xl font-semibold text-indigo-700 mb-4">✨ Campaign Brief</h2> |
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6"> |
|
<div> |
|
<label class="block text-gray-700 mb-2">Campaign Goal</label> |
|
<textarea id="campaignInput" class="w-full p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500" rows="4" placeholder="Example: Promote organic skincare with pink Gen Z theme"></textarea> |
|
</div> |
|
<div> |
|
<label class="block text-gray-700 mb-2">Target Audience</label> |
|
<input type="text" id="targetAudience" class="w-full p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500" placeholder="Example: Gen Z women, 18-25"> |
|
|
|
<label class="block text-gray-700 mt-4 mb-2">Brand Tone</label> |
|
<select id="brandTone" class="w-full p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500"> |
|
<option value="friendly">Friendly</option> |
|
<option value="professional">Professional</option> |
|
<option value="luxury">Luxury</option> |
|
<option value="youthful">Youthful</option> |
|
<option value="humorous">Humorous</option> |
|
</select> |
|
</div> |
|
</div> |
|
<button id="generateBtn" class="mt-6 bg-indigo-600 hover:bg-indigo-700 text-white font-medium py-3 px-6 rounded-lg transition duration-300 flex items-center"> |
|
<i class="fas fa-magic mr-2"></i> Generate Campaign |
|
</button> |
|
</div> |
|
|
|
|
|
<div id="progressSection" class="hidden bg-white rounded-xl p-6 mb-8 layer-card"> |
|
<h2 class="text-2xl font-semibold text-indigo-700 mb-4">Generating Your Campaign...</h2> |
|
<div class="flex flex-col items-center"> |
|
<svg class="w-32 h-32 mb-4" id="progressRing"> |
|
<circle class="text-gray-200" stroke-width="8" stroke="currentColor" fill="transparent" r="52" cx="64" cy="64"/> |
|
<circle class="text-indigo-600 progress-ring__circle" stroke-width="8" stroke-linecap="round" stroke="currentColor" fill="transparent" r="52" cx="64" cy="64"/> |
|
</svg> |
|
<p id="progressText" class="text-gray-600">Initializing AI models...</p> |
|
</div> |
|
</div> |
|
|
|
|
|
<div class="mb-8 bg-white rounded-xl p-6 layer-card"> |
|
<h2 class="text-2xl font-semibold text-indigo-700 mb-4">Campaign Layers</h2> |
|
<div class="grid grid-cols-2 md:grid-cols-4 gap-4"> |
|
<button class="layer-nav-btn py-2 px-4 rounded-lg bg-indigo-100 text-indigo-700 font-medium" data-layer="1">1. User Input</button> |
|
<button class="layer-nav-btn py-2 px-4 rounded-lg bg-gray-100 text-gray-700 font-medium" data-layer="2">2. Market Insight</button> |
|
<button class="layer-nav-btn py-2 px-4 rounded-lg bg-gray-100 text-gray-700 font-medium" data-layer="3">3. Ad Script</button> |
|
<button class="layer-nav-btn py-2 px-4 rounded-lg bg-gray-100 text-gray-700 font-medium" data-layer="4">4. Poster Gen</button> |
|
<button class="layer-nav-btn py-2 px-4 rounded-lg bg-gray-100 text-gray-700 font-medium" data-layer="5">5. Taglines</button> |
|
<button class="layer-nav-btn py-2 px-4 rounded-lg bg-gray-100 text-gray-700 font-medium" data-layer="6">6. Feedback</button> |
|
<button class="layer-nav-btn py-2 px-4 rounded-lg bg-gray-100 text-gray-700 font-medium" data-layer="7">7. A/B Testing</button> |
|
<button class="layer-nav-btn py-2 px-4 rounded-lg bg-gray-100 text-gray-700 font-medium" data-layer="8">8. Deployment</button> |
|
</div> |
|
</div> |
|
|
|
|
|
<div id="layerContent"> |
|
|
|
<div id="layer1" class="layer-section bg-white rounded-xl p-6 mb-8"> |
|
<div class="flex items-center mb-4"> |
|
<div class="bg-indigo-100 text-indigo-800 rounded-full w-10 h-10 flex items-center justify-center mr-3"> |
|
<span class="font-bold">1</span> |
|
</div> |
|
<h2 class="text-2xl font-semibold text-indigo-700">User Input & Intent Understanding</h2> |
|
</div> |
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6"> |
|
<div> |
|
<h3 class="text-lg font-medium text-gray-800 mb-2">Detected Intent</h3> |
|
<div class="bg-gray-50 p-4 rounded-lg"> |
|
<p id="detectedIntent" class="text-gray-700">Enter your campaign goal above to see analysis</p> |
|
</div> |
|
|
|
<h3 class="text-lg font-medium text-gray-800 mt-4 mb-2">Key Entities</h3> |
|
<div id="keyEntities" class="flex flex-wrap gap-2"> |
|
<span class="bg-indigo-100 text-indigo-800 px-3 py-1 rounded-full text-sm">No entities detected yet</span> |
|
</div> |
|
</div> |
|
|
|
<div> |
|
<h3 class="text-lg font-medium text-gray-800 mb-2">AI Models Used</h3> |
|
<div class="space-y-3"> |
|
<div class="flex items-center"> |
|
<div class="bg-blue-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-brain text-blue-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium">Intent Detection</p> |
|
<p class="text-sm text-gray-600">DistilBERT / T5 / MiniLM</p> |
|
</div> |
|
</div> |
|
<div class="flex items-center"> |
|
<div class="bg-purple-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-tags text-purple-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium">Named Entity Recognition</p> |
|
<p class="text-sm text-gray-600">spaCy / BERT</p> |
|
</div> |
|
</div> |
|
<div class="flex items-center"> |
|
<div class="bg-green-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-project-diagram text-green-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium">Prompt-to-Plan</p> |
|
<p class="text-sm text-gray-600">GPT-3.5 / Mistral</p> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
|
|
<div id="layer2" class="layer-section hidden bg-white rounded-xl p-6 mb-8"> |
|
<div class="flex items-center mb-4"> |
|
<div class="bg-indigo-100 text-indigo-800 rounded-full w-10 h-10 flex items-center justify-center mr-3"> |
|
<span class="font-bold">2</span> |
|
</div> |
|
<h2 class="text-2xl font-semibold text-indigo-700">Market Insight & Ad Scraping</h2> |
|
</div> |
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6"> |
|
<div> |
|
<h3 class="text-lg font-medium text-gray-800 mb-2">Top Performing Ads</h3> |
|
<div id="topAds" class="space-y-4"> |
|
<div class="border-l-4 border-indigo-400 pl-4 py-2 bg-gray-50"> |
|
<p class="font-medium">Loading competitor ad data...</p> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<div> |
|
<h3 class="text-lg font-medium text-gray-800 mb-2">Trending Keywords</h3> |
|
<div id="trendingKeywords" class="flex flex-wrap gap-2"> |
|
<span class="animate-pulse bg-gray-200 text-gray-800 px-3 py-1 rounded-full text-sm">organic</span> |
|
<span class="animate-pulse bg-gray-200 text-gray-800 px-3 py-1 rounded-full text-sm">skincare</span> |
|
<span class="animate-pulse bg-gray-200 text-gray-800 px-3 py-1 rounded-full text-sm">Gen Z</span> |
|
</div> |
|
|
|
<h3 class="text-lg font-medium text-gray-800 mt-4 mb-2">AI Models Used</h3> |
|
<div class="space-y-3"> |
|
<div class="flex items-center"> |
|
<div class="bg-blue-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-spider text-blue-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium">Ad Scraping</p> |
|
<p class="text-sm text-gray-600">Scrapy / Playwright</p> |
|
</div> |
|
</div> |
|
<div class="flex items-center"> |
|
<div class="bg-purple-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-key text-purple-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium">Semantic Search</p> |
|
<p class="text-sm text-gray-600">Sentence-BERT + ColBERT</p> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
|
|
<div id="layer3" class="layer-section hidden bg-white rounded-xl p-6 mb-8"> |
|
<div class="flex items-center mb-4"> |
|
<div class="bg-indigo-100 text-indigo-800 rounded-full w-10 h-10 flex items-center justify-center mr-3"> |
|
<span class="font-bold">3</span> |
|
</div> |
|
<h2 class="text-2xl font-semibold text-indigo-700">Ad Script Generation</h2> |
|
</div> |
|
|
|
<div class="mb-6"> |
|
<div class="flex space-x-4 mb-4"> |
|
<button class="script-style-btn px-4 py-2 bg-indigo-600 text-white rounded-lg" data-style="genz">Gen Z</button> |
|
<button class="script-style-btn px-4 py-2 bg-gray-200 text-gray-700 rounded-lg" data-style="minimal">Minimal</button> |
|
<button class="script-style-btn px-4 py-2 bg-gray-200 text-gray-700 rounded-lg" data-style="emotional">Emotional</button> |
|
<button class="script-style-btn px-4 py-2 bg-gray-200 text-gray-700 rounded-lg" data-style="humorous">Humorous</button> |
|
</div> |
|
|
|
<div id="adScripts" class="space-y-4"> |
|
<div class="border border-gray-200 rounded-lg p-4"> |
|
<p class="text-gray-600">Select a style to generate ad scripts tailored to your campaign</p> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6"> |
|
<div> |
|
<h3 class="text-lg font-medium text-gray-800 mb-2">Tone Analysis</h3> |
|
<div class="bg-gray-50 p-4 rounded-lg"> |
|
<div class="space-y-3"> |
|
<div> |
|
<p class="font-medium text-sm text-gray-700">Confidence</p> |
|
<div class="w-full bg-gray-200 rounded-full h-2.5"> |
|
<div class="bg-blue-600 h-2.5 rounded-full" style="width: 0%"></div> |
|
</div> |
|
</div> |
|
<div> |
|
<p class="font-medium text-sm text-gray-700">Positivity</p> |
|
<div class="w-full bg-gray-200 rounded-full h-2.5"> |
|
<div class="bg-green-600 h-2.5 rounded-full" style="width: 0%"></div> |
|
</div> |
|
</div> |
|
<div> |
|
<p class="font-medium text-sm text-gray-700">Energy</p> |
|
<div class="w-full bg-gray-200 rounded-full h-2.5"> |
|
<div class="bg-yellow-600 h-2.5 rounded-full" style="width: 0%"></div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<div> |
|
<h3 class="text-lg font-medium text-gray-800 mb-2">AI Models Used</h3> |
|
<div class="space-y-3"> |
|
<div class="flex items-center"> |
|
<div class="bg-blue-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-robot text-blue-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium">LLM Generation</p> |
|
<p class="text-sm text-gray-600">Mistral / GPT-3.5 / LLaMA-3</p> |
|
</div> |
|
</div> |
|
<div class="flex items-center"> |
|
<div class="bg-purple-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-sliders-h text-purple-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium">Tone Control</p> |
|
<p class="text-sm text-gray-600">CTRL / Zest</p> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
|
|
<div id="layer4" class="layer-section hidden bg-white rounded-xl p-6 mb-8"> |
|
<div class="flex items-center mb-4"> |
|
<div class="bg-indigo-100 text-indigo-800 rounded-full w-10 h-10 flex items-center justify-center mr-3"> |
|
<span class="font-bold">4</span> |
|
</div> |
|
<h2 class="text-2xl font-semibold text-indigo-700">Poster Generation</h2> |
|
</div> |
|
|
|
<div class="grid grid-cols-1 md:grid-cols-3 gap-6"> |
|
<div class="md:col-span-2"> |
|
<div class="flex space-x-4 mb-4"> |
|
<button class="poster-style-btn px-4 py-2 bg-indigo-600 text-white rounded-lg" data-style="modern">Modern</button> |
|
<button class="poster-style-btn px-4 py-2 bg-gray-200 text-gray-700 rounded-lg" data-style="vintage">Vintage</button> |
|
<button class="poster-style-btn px-4 py-2 bg-gray-200 text-gray-700 rounded-lg" data-style="minimal">Minimal</button> |
|
<button class="poster-style-btn px-4 py-2 bg-gray-200 text-gray-700 rounded-lg" data-style="bold">Bold</button> |
|
</div> |
|
|
|
<div id="posterPreview" class="border-2 border-dashed border-gray-300 rounded-lg flex items-center justify-center bg-gray-50" style="height: 300px;"> |
|
<p class="text-gray-500">Poster preview will appear here</p> |
|
</div> |
|
|
|
<div class="mt-4 flex space-x-3"> |
|
<button class="px-4 py-2 bg-indigo-600 text-white rounded-lg"> |
|
<i class="fas fa-download mr-2"></i> Download |
|
</button> |
|
<button class="px-4 py-2 bg-white border border-gray-300 text-gray-700 rounded-lg"> |
|
<i class="fas fa-random mr-2"></i> Regenerate |
|
</button> |
|
</div> |
|
</div> |
|
|
|
<div> |
|
<h3 class="text-lg font-medium text-gray-800 mb-2">Aesthetic Score</h3> |
|
<div class="bg-gray-50 p-4 rounded-lg mb-4"> |
|
<div class="flex items-center justify-center mb-2"> |
|
<div class="text-4xl font-bold text-indigo-600">-</div> |
|
<span class="text-gray-500 ml-1">/100</span> |
|
</div> |
|
<div class="text-center text-sm text-gray-600">Based on composition, color harmony, and visual appeal</div> |
|
</div> |
|
|
|
<h3 class="text-lg font-medium text-gray-800 mb-2">AI Models Used</h3> |
|
<div class="space-y-3"> |
|
<div class="flex items-center"> |
|
<div class="bg-blue-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-image text-blue-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium">Image Generation</p> |
|
<p class="text-sm text-gray-600">SDXL / DALLE-3</p> |
|
</div> |
|
</div> |
|
<div class="flex items-center"> |
|
<div class="bg-purple-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-star text-purple-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium">Aesthetic Scoring</p> |
|
<p class="text-sm text-gray-600">CLIP + LAION</p> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
|
|
<div id="layer5" class="layer-section hidden bg-white rounded-xl p-6 mb-8"> |
|
<div class="flex items-center mb-4"> |
|
<div class="bg-indigo-100 text-indigo-800 rounded-full w-10 h-10 flex items-center justify-center mr-3"> |
|
<span class="font-bold">5</span> |
|
</div> |
|
<h2 class="text-2xl font-semibold text-indigo-700">Tagline & CTA Creator</h2> |
|
</div> |
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6"> |
|
<div> |
|
<h3 class="text-lg font-medium text-gray-800 mb-2">Generated Taglines</h3> |
|
<div id="taglines" class="space-y-3"> |
|
<div class="border-l-4 border-indigo-400 pl-4 py-2 bg-gray-50"> |
|
<p class="text-gray-700">"Glow naturally, shine confidently with our organic skincare"</p> |
|
<div class="mt-2 flex space-x-2"> |
|
<button class="text-xs px-2 py-1 bg-indigo-100 text-indigo-700 rounded">Use</button> |
|
<button class="text-xs px-2 py-1 bg-gray-100 text-gray-700 rounded">Regenerate</button> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<h3 class="text-lg font-medium text-gray-800 mt-6 mb-2">Call-to-Action</h3> |
|
<div id="ctas" class="space-y-3"> |
|
<div class="border-l-4 border-green-400 pl-4 py-2 bg-gray-50"> |
|
<p class="text-gray-700">"Shop now and get 20% off your first order!"</p> |
|
<div class="mt-2 flex space-x-2"> |
|
<button class="text-xs px-2 py-1 bg-green-100 text-green-700 rounded">Use</button> |
|
<button class="text-xs px-2 py-1 bg-gray-100 text-gray-700 rounded">Regenerate</button> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<div> |
|
<h3 class="text-lg font-medium text-gray-800 mb-2">Emotional Impact</h3> |
|
<div class="bg-gray-50 p-4 rounded-lg mb-4"> |
|
<div class="grid grid-cols-3 gap-4 text-center"> |
|
<div> |
|
<div class="text-indigo-600 text-2xl font-bold">82%</div> |
|
<div class="text-xs text-gray-500">Attention</div> |
|
</div> |
|
<div> |
|
<div class="text-green-600 text-2xl font-bold">78%</div> |
|
<div class="text-xs text-gray-500">Interest</div> |
|
</div> |
|
<div> |
|
<div class="text-yellow-600 text-2xl font-bold">65%</div> |
|
<div class="text-xs text-gray-500">Desire</div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<h3 class="text-lg font-medium text-gray-800 mb-2">AI Models Used</h3> |
|
<div class="space-y-3"> |
|
<div class="flex items-center"> |
|
<div class="bg-blue-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-quote-right text-blue-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium">Tagline Generator</p> |
|
<p class="text-sm text-gray-600">GPT-2 fine-tuned</p> |
|
</div> |
|
</div> |
|
<div class="flex items-center"> |
|
<div class="bg-purple-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-bullseye text-purple-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium">AIDA Framework</p> |
|
<p class="text-sm text-gray-600">Prompt Templates</p> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
|
|
<div id="layer6" class="layer-section hidden bg-white rounded-xl p-6 mb-8"> |
|
<div class="flex items-center mb-4"> |
|
<div class="bg-indigo-100 text-indigo-800 rounded-full w-10 h-10 flex items-center justify-center mr-3"> |
|
<span class="font-bold">6</span> |
|
</div> |
|
<h2 class="text-2xl font-semibold text-indigo-700">Feedback & Editor</h2> |
|
</div> |
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6"> |
|
<div> |
|
<h3 class="text-lg font-medium text-gray-800 mb-2">Edit Campaign Elements</h3> |
|
<div class="bg-gray-50 p-4 rounded-lg"> |
|
<div class="mb-4"> |
|
<label class="block text-gray-700 mb-1">Ad Script</label> |
|
<textarea class="w-full p-2 border border-gray-300 rounded" rows="3"></textarea> |
|
</div> |
|
<div class="mb-4"> |
|
<label class="block text-gray-700 mb-1">Visual Style</label> |
|
<select class="w-full p-2 border border-gray-300 rounded"> |
|
<option>Modern</option> |
|
<option>Vintage</option> |
|
<option>Minimal</option> |
|
</select> |
|
</div> |
|
<button class="px-4 py-2 bg-indigo-600 text-white rounded-lg"> |
|
<i class="fas fa-save mr-2"></i> Save Changes |
|
</button> |
|
</div> |
|
</div> |
|
|
|
<div> |
|
<h3 class="text-lg font-medium text-gray-800 mb-2">AI Feedback</h3> |
|
<div class="bg-gray-50 p-4 rounded-lg mb-4"> |
|
<div class="flex items-start"> |
|
<div class="bg-indigo-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-lightbulb text-indigo-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium text-indigo-700">Suggestion</p> |
|
<p class="text-sm text-gray-600">Consider adding more emojis for Gen Z appeal</p> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<h3 class="text-lg font-medium text-gray-800 mb-2">AI Models Used</h3> |
|
<div class="space-y-3"> |
|
<div class="flex items-center"> |
|
<div class="bg-blue-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-comment-alt text-blue-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium">Feedback Analysis</p> |
|
<p class="text-sm text-gray-600">MiniLM / LLaMA2</p> |
|
</div> |
|
</div> |
|
<div class="flex items-center"> |
|
<div class="bg-purple-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-edit text-purple-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium">Prompt Rewriting</p> |
|
<p class="text-sm text-gray-600">LangChain</p> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
|
|
<div id="layer7" class="layer-section hidden bg-white rounded-xl p-6 mb-8"> |
|
<div class="flex items-center mb-4"> |
|
<div class="bg-indigo-100 text-indigo-800 rounded-full w-10 h-10 flex items-center justify-center mr-3"> |
|
<span class="font-bold">7</span> |
|
</div> |
|
<h2 class="text-2xl font-semibold text-indigo-700">A/B Testing & Performance</h2> |
|
</div> |
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6"> |
|
<div> |
|
<h3 class="text-lg font-medium text-gray-800 mb-2">Campaign Variants</h3> |
|
<div class="space-y-4"> |
|
<div class="border border-gray-200 rounded-lg p-4"> |
|
<div class="flex justify-between items-start"> |
|
<div> |
|
<p class="font-medium">Variant A</p> |
|
<p class="text-sm text-gray-600">Modern design with emotional appeal</p> |
|
</div> |
|
<span class="bg-green-100 text-green-800 text-xs px-2 py-1 rounded">Best</span> |
|
</div> |
|
<div class="mt-2 flex justify-between text-xs text-gray-500"> |
|
<span>CTR: 4.2%</span> |
|
<span>Conv: 2.8%</span> |
|
</div> |
|
</div> |
|
<div class="border border-gray-200 rounded-lg p-4"> |
|
<div class="flex justify-between items-start"> |
|
<div> |
|
<p class="font-medium">Variant B</p> |
|
<p class="text-sm text-gray-600">Minimal design with Gen Z tone</p> |
|
</div> |
|
</div> |
|
<div class="mt-2 flex justify-between text-xs text-gray-500"> |
|
<span>CTR: 3.7%</span> |
|
<span>Conv: 2.1%</span> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<div> |
|
<h3 class="text-lg font-medium text-gray-800 mb-2">Performance Prediction</h3> |
|
<div class="bg-gray-50 p-4 rounded-lg mb-4"> |
|
<div class="grid grid-cols-2 gap-4"> |
|
<div> |
|
<p class="text-sm text-gray-600">Estimated CTR</p> |
|
<p class="font-bold text-indigo-600">3.8% - 4.5%</p> |
|
</div> |
|
<div> |
|
<p class="text-sm text-gray-600">Conversion Rate</p> |
|
<p class="font-bold text-green-600">2.2% - 3.1%</p> |
|
</div> |
|
<div> |
|
<p class="text-sm text-gray-600">Cost Per Click</p> |
|
<p class="font-bold text-blue-600">$0.42 - $0.58</p> |
|
</div> |
|
<div> |
|
<p class="text-sm text-gray-600">ROAS</p> |
|
<p class="font-bold text-purple-600">3.2x - 4.1x</p> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<h3 class="text-lg font-medium text-gray-800 mb-2">AI Models Used</h3> |
|
<div class="space-y-3"> |
|
<div class="flex items-center"> |
|
<div class="bg-blue-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-chart-line text-blue-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium">CTR Predictor</p> |
|
<p class="text-sm text-gray-600">LSTM / XGBoost</p> |
|
</div> |
|
</div> |
|
<div class="flex items-center"> |
|
<div class="bg-purple-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-calculator text-purple-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium">Conversion Estimator</p> |
|
<p class="text-sm text-gray-600">AutoGluon / LightGBM</p> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
|
|
<div id="layer8" class="layer-section hidden bg-white rounded-xl p-6 mb-8"> |
|
<div class="flex items-center mb-4"> |
|
<div class="bg-indigo-100 text-indigo-800 rounded-full w-10 h-10 flex items-center justify-center mr-3"> |
|
<span class="font-bold">8</span> |
|
</div> |
|
<h2 class="text-2xl font-semibold text-indigo-700">Campaign Deployment</h2> |
|
</div> |
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6"> |
|
<div> |
|
<h3 class="text-lg font-medium text-gray-800 mb-2">Publish Campaign</h3> |
|
<div class="bg-gray-50 p-4 rounded-lg"> |
|
<div class="space-y-4"> |
|
<div class="flex items-center"> |
|
<input type="checkbox" id="facebook" class="mr-2"> |
|
<label for="facebook" class="flex items-center"> |
|
<i class="fab fa-facebook text-blue-600 mr-2"></i> |
|
Facebook |
|
</label> |
|
</div> |
|
<div class="flex items-center"> |
|
<input type="checkbox" id="instagram" class="mr-2"> |
|
<label for="instagram" class="flex items-center"> |
|
<i class="fab fa-instagram text-pink-600 mr-2"></i> |
|
Instagram |
|
</label> |
|
</div> |
|
<div class="flex items-center"> |
|
<input type="checkbox" id="google" class="mr-2"> |
|
<label for="google" class="flex items-center"> |
|
<i class="fab fa-google text-red-600 mr-2"></i> |
|
Google Ads |
|
</label> |
|
</div> |
|
</div> |
|
|
|
<div class="mt-6"> |
|
<label class="block text-gray-700 mb-1">Campaign Schedule</label> |
|
<select class="w-full p-2 border border-gray-300 rounded mb-2"> |
|
<option>Run continuously</option> |
|
<option>Specific dates</option> |
|
<option>Time of day</option> |
|
</select> |
|
|
|
<label class="block text-gray-700 mb-1">Daily Budget</label> |
|
<input type="text" class="w-full p-2 border border-gray-300 rounded" placeholder="$20"> |
|
</div> |
|
|
|
<button class="mt-4 px-4 py-2 bg-indigo-600 text-white rounded-lg w-full"> |
|
<i class="fas fa-paper-plane mr-2"></i> Publish Campaign |
|
</button> |
|
</div> |
|
</div> |
|
|
|
<div> |
|
<h3 class="text-lg font-medium text-gray-800 mb-2">API Integration</h3> |
|
<div class="bg-gray-50 p-4 rounded-lg mb-4"> |
|
<div class="flex items-center mb-3"> |
|
<div class="bg-green-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-check-circle text-green-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium">Connected Accounts</p> |
|
<p class="text-sm text-gray-600">Facebook, Instagram</p> |
|
</div> |
|
</div> |
|
<div class="flex items-center"> |
|
<div class="bg-yellow-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-exclamation-circle text-yellow-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium">Google Ads</p> |
|
<p class="text-sm text-gray-600">Requires re-authentication</p> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<h3 class="text-lg font-medium text-gray-800 mb-2">AI Models Used</h3> |
|
<div class="space-y-3"> |
|
<div class="flex items-center"> |
|
<div class="bg-blue-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-code text-blue-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium">API Handlers</p> |
|
<p class="text-sm text-gray-600">Meta Ad API</p> |
|
</div> |
|
</div> |
|
<div class="flex items-center"> |
|
<div class="bg-purple-100 p-2 rounded-lg mr-3"> |
|
<i class="fas fa-calendar-alt text-purple-600"></i> |
|
</div> |
|
<div> |
|
<p class="font-medium">Scheduling</p> |
|
<p class="text-sm text-gray-600">Optimal timing algorithm</p> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
|
|
<div class="bg-indigo-700 rounded-xl p-8 text-center text-white mb-8"> |
|
<h2 class="text-2xl md:text-3xl font-bold mb-3">Ready to launch your campaign?</h2> |
|
<p class="text-indigo-100 mb-6 max-w-2xl mx-auto">Our AI-powered system has generated a complete marketing campaign tailored to your needs.</p> |
|
<button class="px-6 py-3 bg-white text-indigo-700 font-medium rounded-lg hover:bg-indigo-100 transition duration-300"> |
|
<i class="fas fa-rocket mr-2"></i> Deploy Full Campaign |
|
</button> |
|
</div> |
|
</div> |
|
|
|
<script> |
|
document.addEventListener('DOMContentLoaded', function() { |
|
|
|
const progressRing = document.querySelector('#progressRing .progress-ring__circle'); |
|
const radius = progressRing.r.baseVal.value; |
|
const circumference = 2 * Math.PI * radius; |
|
progressRing.style.strokeDasharray = circumference; |
|
progressRing.style.strokeDashoffset = circumference; |
|
|
|
|
|
const layerNavBtns = document.querySelectorAll('.layer-nav-btn'); |
|
const layerSections = document.querySelectorAll('.layer-section'); |
|
|
|
layerNavBtns.forEach(btn => { |
|
btn.addEventListener('click', function() { |
|
|
|
layerNavBtns.forEach(b => { |
|
b.classList.remove('bg-indigo-100', 'text-indigo-700'); |
|
b.classList.add('bg-gray-100', 'text-gray-700'); |
|
}); |
|
this.classList.remove('bg-gray-100', 'text-gray-700'); |
|
this.classList.add('bg-indigo-100', 'text-indigo-700'); |
|
|
|
|
|
const layerId = this.getAttribute('data-layer'); |
|
layerSections.forEach(section => { |
|
section.classList.add('hidden'); |
|
}); |
|
document.getElementById(`layer${layerId}`).classList.remove('hidden'); |
|
}); |
|
}); |
|
|
|
|
|
const generateBtn = document.getElementById('generateBtn'); |
|
const progressSection = document.getElementById('progressSection'); |
|
const progressText = document.getElementById('progressText'); |
|
|
|
generateBtn.addEventListener('click', function() { |
|
const campaignInput = document.getElementById('campaignInput').value; |
|
if (!campaignInput) { |
|
alert('Please enter your campaign goal'); |
|
return; |
|
} |
|
|
|
|
|
progressSection.classList.remove('hidden'); |
|
generateBtn.disabled = true; |
|
|
|
|
|
let progress = 0; |
|
const progressInterval = setInterval(() => { |
|
progress += 5; |
|
const offset = circumference - (progress / 100) * circumference; |
|
progressRing.style.strokeDashoffset = offset; |
|
|
|
|
|
if (progress < 20) { |
|
progressText.textContent = 'Initializing AI models...'; |
|
} else if (progress < 40) { |
|
progressText.textContent = 'Analyzing market trends...'; |
|
} else if (progress < 60) { |
|
progressText.textContent = 'Generating ad content...'; |
|
} else if (progress < 80) { |
|
progressText.textContent = 'Creating visual assets...'; |
|
} else { |
|
progressText.textContent = 'Finalizing campaign...'; |
|
} |
|
|
|
if (progress >= 100) { |
|
clearInterval(progressInterval); |
|
setTimeout(() => { |
|
progressSection.classList.add('hidden'); |
|
generateBtn.disabled = false; |
|
updateCampaignResults(campaignInput); |
|
}, 500); |
|
} |
|
}, 200); |
|
}); |
|
|
|
|
|
function updateCampaignResults(input) { |
|
|
|
document.getElementById('detectedIntent').textContent = `Promote ${input.toLowerCase()} with focus on visual appeal and Gen Z engagement`; |
|
|
|
const entitiesContainer = document.getElementById('keyEntities'); |
|
entitiesContainer.innerHTML = ''; |
|
const entities = ['organic', 'skincare', 'Gen Z', 'pink', 'promotion']; |
|
entities.forEach(entity => { |
|
const span = document.createElement('span'); |
|
span.className = 'bg-indigo-100 text-indigo-800 px-3 py-1 rounded-full text-sm'; |
|
span.textContent = entity; |
|
entitiesContainer.appendChild(span); |
|
}); |
|
|
|
|
|
const topAdsContainer = document.getElementById('topAds'); |
|
topAdsContainer.innerHTML = ''; |
|
const ads = [ |
|
"Organic Glow: 3-step routine for radiant skin (4.2% CTR)", |
|
"Pink Perfect: Vegan skincare for Gen Z (3.8% CTR)", |
|
"Clean Beauty: Chemical-free formulas (3.5% CTR)" |
|
]; |
|
ads.forEach(ad => { |
|
const div = document.createElement('div'); |
|
div.className = 'border-l-4 border-indigo-400 pl-4 py-2 bg-gray-50'; |
|
div.innerHTML = `<p class="font-medium">${ad}</p>`; |
|
topAdsContainer.appendChild(div); |
|
}); |
|
|
|
|
|
document.querySelector('.layer-nav-btn[data-layer="1"]').click(); |
|
} |
|
|
|
|
|
const scriptStyleBtns = document.querySelectorAll('.script-style-btn'); |
|
scriptStyleBtns.forEach(btn => { |
|
btn.addEventListener('click', function() { |
|
scriptStyleBtns.forEach(b => { |
|
b.classList.remove('bg-indigo-600', 'text-white'); |
|
b.classList.add('bg-gray-200', 'text-gray-700'); |
|
}); |
|
this.classList.remove('bg-gray-200', 'text-gray-700'); |
|
this.classList.add('bg-indigo-600', 'text-white'); |
|
|
|
const style = this.getAttribute('data-style'); |
|
generateAdScripts(style); |
|
}); |
|
}); |
|
|
|
|
|
function generateAdScripts(style) { |
|
const adScriptsContainer = document.getElementById('adScripts'); |
|
adScriptsContainer.innerHTML = ''; |
|
|
|
let scripts = []; |
|
if (style === 'genz') { |
|
scripts = [ |
|
"🌸✨ Your skin deserves REAL ingredients! Our organic skincare is 100% natural, 100% effective, and 100% Gen Z approved. Swipe up to glow! #CleanSkin #OrganicGlow", |
|
"POV: You found the perfect skincare routine 💖 Our pink-powered organic products are TikTok famous for a reason! Drop a ❤️ if you want that glass skin effect!" |
|
]; |
|
} else if (style === 'minimal') { |
|
scripts = [ |
|
"Organic skincare, simplified. Three products. Visible results. Try our clinically-tested formulas today.", |
|
"Pure ingredients. Clear skin. Our organic skincare delivers what others promise." |
|
]; |
|
} else if (style === 'emotional') { |
|
scripts = [ |
|
"Your skin tells your story. Make it one of health and radiance with our organic skincare collection. Because you deserve to feel confident in your own skin.", |
|
"Remember when skincare was simple? We do. That's why we created pure, effective organic products free from harsh chemicals. Your skin will thank you." |
|
]; |
|
} else { |
|
scripts = [ |
|
"Warning: Our organic skincare may cause excessive compliments. Side effects include glowing skin and sudden confidence boosts. Use responsibly!", |
|
"We put the 'organic' in 'organization' (because our 3-step routine will organize your skincare life). Bad puns, great products!" |
|
]; |
|
} |
|
|
|
scripts.forEach(script => { |
|
const div = document.createElement('div'); |
|
div.className = 'border border-gray-200 rounded-lg p-4'; |
|
div.innerHTML = ` |
|
<p class="text-gray-700">${script}</p> |
|
<div class="mt-3 flex space-x-2"> |
|
<button class="text-xs px-2 py-1 bg-indigo-100 text-indigo-700 rounded">Use in Campaign</button> |
|
<button class="text-xs px-2 py-1 bg-gray-100 text-gray-700 rounded"> |
|
<i class="fas fa-copy mr-1"></i> Copy |
|
</button> |
|
</div> |
|
`; |
|
adScriptsContainer.appendChild(div); |
|
}); |
|
} |
|
|
|
|
|
const posterStyleBtns = document.querySelectorAll('.poster-style-btn'); |
|
posterStyleBtns.forEach(btn => { |
|
btn.addEventListener('click', function() { |
|
posterStyleBtns.forEach(b => { |
|
b.classList.remove('bg-indigo-600', 'text-white'); |
|
b.classList.add('bg-gray-200', 'text-gray-700'); |
|
}); |
|
this.classList.remove('bg-gray-200', 'text-gray-700'); |
|
this.classList.add('bg-indigo-600', 'text-white'); |
|
|
|
const style = this.getAttribute('data-style'); |
|
generatePosterPreview(style); |
|
}); |
|
}); |
|
|
|
|
|
function generatePosterPreview(style) { |
|
const posterPreview = document.getElementById('posterPreview'); |
|
posterPreview.innerHTML = ''; |
|
|
|
|
|
const poster = document.createElement('div'); |
|
poster.className = 'w-full h-full flex flex-col justify-center items-center p-4'; |
|
|
|
if (style === 'modern') { |
|
poster.innerHTML = ` |
|
<div class="bg-pink-50 w-full h-full rounded-lg flex flex-col justify-center items-center p-6 border border-pink-200"> |
|
<h3 class="text-2xl font-bold text-pink-700 mb-2">GLOW NATURALLY</h3> |
|
<p class="text-gray-700 text-center mb-4">Organic skincare for Gen Z</p> |
|
<div class="bg-white rounded-full w-24 h-24 mb-4 flex items-center justify-center text-pink-500 text-4xl">✨</div> |
|
<p class="text-xs text-gray-500">100% natural ingredients</p> |
|
</div> |
|
`; |
|
} else if (style === 'vintage') { |
|
poster.innerHTML = ` |
|
<div class="bg-rose-100 w-full h-full rounded-lg flex flex-col justify-center items-center p-6 border-2 border-rose-300"> |
|
<h3 class="text-3xl font-serif text-rose-800 mb-1">Organic</h3> |
|
<h3 class="text-3xl font-serif text-rose-800 mb-3">Skincare</h3> |
|
<div class="border-t-2 border-rose-300 w-16 my-2"></div> |
|
<p class="text-rose-700 italic">Since 2023</p> |
|
</div> |
|
`; |
|
} else if (style === 'bold') { |
|
poster.innerHTML = ` |
|
<div class="bg-pink-600 w-full h-full rounded-lg flex flex-col justify-center items-center p-6"> |
|
<h3 class="text-3xl font-bold text-white mb-2">YOUR SKIN</h3> |
|
<h3 class="text-3xl font-bold text-white mb-4">DESERVES BETTER</h3> |
|
<p class="text-pink-100 text-center">Try our organic skincare collection today</p> |
|
</div> |
|
`; |
|
} else { |
|
poster.innerHTML = ` |
|
<div class="bg-white w-full h-full rounded-lg flex flex-col justify-center items-center p-6 border border-gray-300"> |
|
<h3 class="text-xl text-gray-800 mb-1">organic</h3> |
|
<h3 class="text-xl text-gray-800 mb-3">skincare</h3> |
|
<div class="border-t border-gray-300 w-12 my-2"></div> |
|
<p class="text-sm text-gray-500">pure. simple. effective.</p> |
|
</div> |
|
`; |
|
} |
|
|
|
posterPreview.appendChild(poster); |
|
} |
|
}); |
|
</script> |
|
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=gaur3009/minme" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> |
|
</html> |
|
|