minme / index.html
gaur3009's picture
undefined - Initial Deployment
2e0055d verified
raw
history blame
55.9 kB
<!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 -->
<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>
<!-- Campaign Input Section -->
<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>
<!-- Progress Indicator -->
<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>
<!-- Layer Navigation -->
<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>
<!-- Layer Content Sections -->
<div id="layerContent">
<!-- Layer 1: User Input -->
<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>
<!-- Layer 2: Market Insight -->
<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>
<!-- Layer 3: Ad Script Generation -->
<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>
<!-- Layer 4: Poster Generation -->
<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>
<!-- Layer 5: Tagline & CTA -->
<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>
<!-- Layer 6: Feedback & Editor -->
<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>
<!-- Layer 7: A/B Testing -->
<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>
<!-- Layer 8: Deployment -->
<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>
<!-- Final CTA -->
<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() {
// Progress ring animation
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;
// Layer navigation
const layerNavBtns = document.querySelectorAll('.layer-nav-btn');
const layerSections = document.querySelectorAll('.layer-section');
layerNavBtns.forEach(btn => {
btn.addEventListener('click', function() {
// Update active button
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');
// Show corresponding section
const layerId = this.getAttribute('data-layer');
layerSections.forEach(section => {
section.classList.add('hidden');
});
document.getElementById(`layer${layerId}`).classList.remove('hidden');
});
});
// Generate campaign button
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;
}
// Show progress section
progressSection.classList.remove('hidden');
generateBtn.disabled = true;
// Simulate progress
let progress = 0;
const progressInterval = setInterval(() => {
progress += 5;
const offset = circumference - (progress / 100) * circumference;
progressRing.style.strokeDashoffset = offset;
// Update progress text
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);
});
// Update campaign results
function updateCampaignResults(input) {
// Layer 1: Intent and Entities
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);
});
// Layer 2: Market Insights
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);
});
// Activate first layer nav button
document.querySelector('.layer-nav-btn[data-layer="1"]').click();
}
// Ad script style buttons
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);
});
});
// Generate ad scripts based on 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);
});
}
// Poster style buttons
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);
});
});
// Generate poster preview
function generatePosterPreview(style) {
const posterPreview = document.getElementById('posterPreview');
posterPreview.innerHTML = '';
// Create a mock poster based on style
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>