'use client' import { motion, type Variants } from 'framer-motion' import Link from 'next/link' import { Button } from '@/components/ui/button' import { Check, ArrowRight, Shield, Search, FileCheck, TrendingUp, Target, Filter, Bell, Eye, Slack, Webhook, History, Zap, Lock, ChevronRight, Star, Accessibility } from 'lucide-react' import { useState, useEffect } from 'react' import { SEODemoVisual } from './SEODemoVisual' import { CompetitorDemoVisual } from './CompetitorDemoVisual' import { PolicyDemoVisual } from './PolicyDemoVisual' import { WaitlistForm } from './WaitlistForm' import { MagneticButton } from './MagneticElements' import { BackgroundGradient, FloatingElements, InteractiveGrid, GlowEffect, SectionDivider } from './BackgroundEffects' // Animation Variants const fadeInUp: Variants = { hidden: { opacity: 0, y: 30, filter: 'blur(4px)' }, visible: (i: number = 0) => ({ opacity: 1, y: 0, filter: 'blur(0px)', transition: { delay: i * 0.15, duration: 0.7, ease: [0.22, 1, 0.36, 1] } }) } // ============================================ // 1. HERO SECTION // ============================================ export function HeroSection() { return (
{/* Background Elements */}
{/* Left: Content */} {/* Overline */}
Website Change Monitor for SEO & Growth Teams
{/* Hero Headline */} Monitor website changes &{' '} price drops automatically. {/* Subheadline */} Less noise. More signal. Visual proof included. {/* Feature Bullets */} {[ 'Auto-filter cookie banners & timestamps', 'Keyword alerts when it matters', 'Slack/Webhook integration', 'Audit-proof history & snapshots' ].map((feature, i) => (
{feature}
))}
{/* Waitlist Form */} {/* Trust Signals */}
No credit card
No spam, ever
Early access
{/* Right: Animated Visual - Noise → Signal */}
) } // ============================================ // 1b. TRUST SECTION - "As seen on..." // ============================================ function TrustSectionDeprecated() { const logos = [ { name: 'SEO Clarity', color: 'text-muted-foreground' }, { name: 'Search Engine Journal', color: 'text-muted-foreground' }, { name: 'Moz', color: 'text-muted-foreground' }, { name: 'Ahrefs', color: 'text-muted-foreground' }, { name: 'Semrush', color: 'text-muted-foreground' } ] return (

The Essential Toolkit for Industry Leaders

{logos.map((logo, i) => ( {logo.name} ))}
) } // Noise → Signal Animation Component function NoiseToSignalVisual() { const [phase, setPhase] = useState(0) const [isPaused, setIsPaused] = useState(false) const [particles, setParticles] = useState<{ id: number; x: number; y: number }[]>([]) useEffect(() => { if (isPaused) return const interval = setInterval(() => { setPhase(p => { const nextPhase = (p + 1) % 4 if (p === 0 && nextPhase === 1) { triggerParticles() } return nextPhase }) }, 2500) return () => clearInterval(interval) }, [isPaused]) const triggerParticles = () => { const newParticles = Array.from({ length: 8 }, (_, i) => ({ id: Date.now() + i, x: Math.random() * 100, y: Math.random() * 100 })) setParticles(newParticles) setTimeout(() => setParticles([]), 1000) } return ( setIsPaused(true)} onHoverEnd={() => setIsPaused(false)} > {/* Pulsing Glow Border */} {phase >= 1 && ( )} {/* Particles */} {particles.map(particle => ( ))} {/* Mock Browser Header */}
competitor-site.com/pricing
{isPaused && ( PAUSED )}
{/* Content Area */}
Noise: {phase === 0 ? '67%' : '0%'} {/* Phase 0: Noisy Page */}
🍪 Cookie Banner NOISE

Enterprise Plan

$99/mo

⏰ Last updated: 10:23 AM NOISE
{/* Phase 1-3: Signal */} {phase >= 1 && (
✓ SIGNAL DETECTED
Filtered

Enterprise Plan

$99/mo

{phase >= 2 && ( → $79/mo )}
{phase >= 3 && ( Alert Sent )}
)} {/* Phase Indicator */}
{[0, 1, 2, 3].map(i => (
))}
) } // ============================================ // 2. USE CASE SHOWCASE // ============================================ export function UseCaseShowcase() { const useCases = [ { icon: , title: 'SEO Monitoring', problem: 'Your rankings drop before you know why.', example: 'Track when competitors update meta descriptions or add new content sections that outrank you.', color: 'teal', demoComponent: }, { icon: , title: 'Competitor Intelligence', problem: 'Competitor launches slip past your radar.', example: 'Monitor pricing pages, product launches, and promotional campaigns in real-time.', color: 'primary', demoComponent: }, { icon: , title: 'Policy & Compliance', problem: 'Regulatory updates appear without warning.', example: 'Track policy changes, terms updates, and legal text modifications with audit-proof history.', color: 'burgundy', demoComponent: } ] return (
Who This Is For Built for teams who need results, not demos.
{useCases.map((useCase, i) => (
{useCase.icon}

{useCase.title}

{useCase.problem}

{useCase.demoComponent}

Example:

{useCase.example}

))}
) } // ============================================ // 3. HOW IT WORKS // ============================================ export function HowItWorks() { const stages = [ { icon: , title: 'Set URL', desc: 'Add the page you want to monitor' }, { icon: , title: 'Check regularly', desc: 'Automated checks at your chosen frequency' }, { icon: , title: 'Remove noise', desc: 'AI filters out irrelevant changes' }, { icon: , title: 'Get alerted', desc: 'Receive notifications that matter' } ] return (

How it works

Four simple steps to never miss an important change again.

{stages.map((stage, i) => (
{String(i + 1).padStart(2, '0')}
{stage.icon}

{stage.title}

{stage.desc}

))}
) } // ============================================ // 4. DIFFERENTIATORS // ============================================ export function Differentiators() { const features = [ { feature: 'Noise Filtering', others: 'Basic', us: 'AI-powered + custom rules', icon: }, { feature: 'Keyword Alerts', others: 'Limited', us: 'Regex + thresholds', icon: }, { feature: 'Integrations', others: 'Email only', us: 'Slack, Webhooks, Teams', icon: }, { feature: 'History & Proof', others: '7-30 days', us: 'Unlimited snapshots', icon: }, { feature: 'Setup Time', others: '15+ min', us: '2 minutes', icon: }, { feature: 'Pricing', others: '$29-99/mo', us: 'Free plan + fair scaling', icon: } ] return (

{"Why we're"} different

{"Not all monitoring tools are created equal. Here's what sets us apart."}

{features.map((item, i) => (
{item.icon}

{item.feature}

Others: {item.others}
{item.us}
))}
) } // ============================================ // 6. FINAL CTA // ============================================ export function FinalCTA() { return (

Stop missing the changes that matter.

Join the waitlist and be first to experience monitoring that actually works.

Join the waitlist for early access
) }