| 'use client'; |
|
|
| import Link from 'next/link'; |
| import { motion } from 'framer-motion'; |
| import { Button } from '@/components/ui/button'; |
| import { Card, CardContent } from '@/components/ui/card'; |
| import { |
| Sparkles, |
| Upload, |
| BarChart3, |
| Users, |
| Zap, |
| CheckCircle, |
| ArrowRight, |
| FileText, |
| Target, |
| TrendingUp, |
| } from 'lucide-react'; |
|
|
| const features = [ |
| { |
| icon: FileText, |
| title: 'Patent Analysis', |
| description: |
| 'AI-powered extraction of key innovations, technical domains, and TRL assessment', |
| }, |
| { |
| icon: BarChart3, |
| title: 'Market Research', |
| description: |
| 'Identify commercialization opportunities and market potential with precision', |
| }, |
| { |
| icon: Users, |
| title: 'Partner Matching', |
| description: |
| 'Semantic search to find the perfect stakeholders and collaborators', |
| }, |
| { |
| icon: Target, |
| title: 'Valorization Brief', |
| description: |
| 'Generate professional outreach documents ready for stakeholder engagement', |
| }, |
| { |
| icon: Zap, |
| title: 'Real-Time Processing', |
| description: |
| 'Watch your patent analysis happen live with WebSocket streaming', |
| }, |
| { |
| icon: TrendingUp, |
| title: 'Data-Driven Insights', |
| description: |
| 'Get actionable recommendations backed by comprehensive market data', |
| }, |
| ]; |
|
|
| const steps = [ |
| { |
| number: '01', |
| title: 'Upload Patent', |
| description: 'Drag and drop your patent PDF (up to 50MB)', |
| }, |
| { |
| number: '02', |
| title: 'AI Analysis', |
| description: 'Our agentic system analyzes technology and market fit', |
| }, |
| { |
| number: '03', |
| title: 'Partner Matching', |
| description: 'Semantic search finds relevant stakeholders', |
| }, |
| { |
| number: '04', |
| title: 'Get Results', |
| description: 'Download valorization brief and connect with partners', |
| }, |
| ]; |
|
|
| export default function HomePage() { |
| return ( |
| <div className="min-h-screen"> |
| {/* Hero Section */} |
| <section className="relative overflow-hidden bg-gradient-to-br from-blue-50 via-white to-purple-50"> |
| <div className="container mx-auto px-4 py-24 sm:py-32"> |
| <div className="grid lg:grid-cols-2 gap-12 items-center"> |
| {/* Left Column - Content */} |
| <motion.div |
| initial={{ opacity: 0, y: 20 }} |
| animate={{ opacity: 1, y: 0 }} |
| transition={{ duration: 0.6 }} |
| className="space-y-8" |
| > |
| <div className="inline-flex items-center space-x-2 px-4 py-2 rounded-full bg-blue-100 text-blue-700 text-sm font-medium"> |
| <Sparkles className="h-4 w-4" /> |
| <span>AI-Powered Patent Commercialization</span> |
| </div> |
| |
| <h1 className="text-5xl sm:text-7xl font-bold leading-tight"> |
| <span className="bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent"> |
| SPARKNET |
| </span> |
| </h1> |
| |
| <p className="text-3xl sm:text-4xl font-semibold text-gray-800 leading-snug"> |
| Transform Dormant Patents into Commercialization Opportunities |
| </p> |
| |
| <p className="text-xl text-gray-600 leading-relaxed"> |
| Leverage AI-powered multi-agent systems to analyze patents, identify |
| market opportunities, and connect with the right partners for successful |
| technology transfer. |
| </p> |
| |
| <div className="flex flex-col sm:flex-row gap-4"> |
| <Button |
| asChild |
| size="lg" |
| className="bg-gradient-to-r from-blue-600 to-purple-600 hover:from-blue-700 hover:to-purple-700 text-lg h-14 px-8" |
| > |
| <Link href="/upload"> |
| <Upload className="mr-2 h-5 w-5" /> |
| Start Patent Analysis |
| </Link> |
| </Button> |
| |
| <Button |
| asChild |
| variant="outline" |
| size="lg" |
| className="text-lg h-14 px-8" |
| > |
| <a href="#features"> |
| Learn More |
| <ArrowRight className="ml-2 h-5 w-5" /> |
| </a> |
| </Button> |
| </div> |
| |
| {/* Stats */} |
| <div className="flex gap-8 pt-4"> |
| <div> |
| <div className="text-3xl font-bold text-blue-600">98%</div> |
| <div className="text-sm text-gray-600">Match Accuracy</div> |
| </div> |
| <div> |
| <div className="text-3xl font-bold text-purple-600">2-5min</div> |
| <div className="text-sm text-gray-600">Analysis Time</div> |
| </div> |
| <div> |
| <div className="text-3xl font-bold text-green-600">AI-Powered</div> |
| <div className="text-sm text-gray-600">Multi-Agent System</div> |
| </div> |
| </div> |
| </motion.div> |
| |
| {/* Right Column - Visual */} |
| <motion.div |
| initial={{ opacity: 0, scale: 0.95 }} |
| animate={{ opacity: 1, scale: 1 }} |
| transition={{ duration: 0.6, delay: 0.2 }} |
| className="relative" |
| > |
| <div className="relative aspect-square rounded-3xl bg-gradient-to-br from-blue-400 via-purple-400 to-pink-400 p-1"> |
| <div className="h-full w-full rounded-3xl bg-white p-8 flex items-center justify-center"> |
| <div className="space-y-6 w-full"> |
| <Card className="border-2 border-blue-200"> |
| <CardContent className="p-6"> |
| <div className="flex items-center space-x-3"> |
| <CheckCircle className="h-6 w-6 text-green-500" /> |
| <div> |
| <div className="font-semibold">Patent Analyzed</div> |
| <div className="text-sm text-gray-500">TRL Level 7/9</div> |
| </div> |
| </div> |
| </CardContent> |
| </Card> |
| |
| <Card className="border-2 border-purple-200"> |
| <CardContent className="p-6"> |
| <div className="flex items-center space-x-3"> |
| <BarChart3 className="h-6 w-6 text-purple-500" /> |
| <div> |
| <div className="font-semibold">12 Market Opportunities</div> |
| <div className="text-sm text-gray-500">NaN TAM</div> |
| </div> |
| </div> |
| </CardContent> |
| </Card> |
| |
| <Card className="border-2 border-pink-200"> |
| <CardContent className="p-6"> |
| <div className="flex items-center space-x-3"> |
| <Users className="h-6 w-6 text-pink-500" /> |
| <div> |
| <div className="font-semibold">8 Partner Matches</div> |
| <div className="text-sm text-gray-500">95% fit score</div> |
| </div> |
| </div> |
| </CardContent> |
| </Card> |
| </div> |
| </div> |
| </div> |
| </motion.div> |
| </div> |
| </div> |
| </section> |
| |
| {/* Features Section */} |
| <section id="features" className="py-24 bg-white"> |
| <div className="container mx-auto px-4"> |
| <motion.div |
| initial={{ opacity: 0, y: 20 }} |
| whileInView={{ opacity: 1, y: 0 }} |
| transition={{ duration: 0.6 }} |
| viewport={{ once: true }} |
| className="text-center mb-16" |
| > |
| <h2 className="text-4xl sm:text-5xl font-bold mb-4"> |
| Powerful Features for{' '} |
| <span className="bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent"> |
| Patent Valorization |
| </span> |
| </h2> |
| <p className="text-xl text-gray-600 max-w-2xl mx-auto"> |
| Everything you need to transform patents into commercial success |
| </p> |
| </motion.div> |
| |
| <div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8"> |
| {features.map((feature, index) => { |
| const Icon = feature.icon; |
| return ( |
| <motion.div |
| key={index} |
| initial={{ opacity: 0, y: 20 }} |
| whileInView={{ opacity: 1, y: 0 }} |
| transition={{ duration: 0.5, delay: index * 0.1 }} |
| viewport={{ once: true }} |
| > |
| <Card className="h-full hover:shadow-xl transition-shadow border-2 hover:border-blue-200"> |
| <CardContent className="p-6"> |
| <div className="flex h-14 w-14 items-center justify-center rounded-xl bg-gradient-to-br from-blue-100 to-purple-100 mb-4"> |
| <Icon className="h-7 w-7 text-blue-600" /> |
| </div> |
| <h3 className="text-xl font-semibold mb-2">{feature.title}</h3> |
| <p className="text-gray-600">{feature.description}</p> |
| </CardContent> |
| </Card> |
| </motion.div> |
| ); |
| })} |
| </div> |
| </div> |
| </section> |
| |
| {/* How It Works */} |
| <section className="py-24 bg-gradient-to-br from-gray-50 to-blue-50"> |
| <div className="container mx-auto px-4"> |
| <motion.div |
| initial={{ opacity: 0, y: 20 }} |
| whileInView={{ opacity: 1, y: 0 }} |
| transition={{ duration: 0.6 }} |
| viewport={{ once: true }} |
| className="text-center mb-16" |
| > |
| <h2 className="text-4xl sm:text-5xl font-bold mb-4">How It Works</h2> |
| <p className="text-xl text-gray-600 max-w-2xl mx-auto"> |
| Four simple steps to patent commercialization success |
| </p> |
| </motion.div> |
| |
| <div className="grid md:grid-cols-2 lg:grid-cols-4 gap-8"> |
| {steps.map((step, index) => ( |
| <motion.div |
| key={index} |
| initial={{ opacity: 0, y: 20 }} |
| whileInView={{ opacity: 1, y: 0 }} |
| transition={{ duration: 0.5, delay: index * 0.1 }} |
| viewport={{ once: true }} |
| className="relative" |
| > |
| <Card className="h-full"> |
| <CardContent className="p-6 text-center"> |
| <div className="text-5xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent mb-4"> |
| {step.number} |
| </div> |
| <h3 className="text-xl font-semibold mb-2">{step.title}</h3> |
| <p className="text-gray-600">{step.description}</p> |
| </CardContent> |
| </Card> |
| {index < steps.length - 1 && ( |
| <div className="hidden lg:block absolute top-1/2 -right-4 transform -translate-y-1/2 z-10"> |
| <ArrowRight className="h-8 w-8 text-blue-400" /> |
| </div> |
| )} |
| </motion.div> |
| ))} |
| </div> |
| </div> |
| </section> |
| |
| {/* CTA Section */} |
| <section className="py-24 bg-gradient-to-r from-blue-600 to-purple-600 text-white"> |
| <div className="container mx-auto px-4 text-center"> |
| <motion.div |
| initial={{ opacity: 0, y: 20 }} |
| whileInView={{ opacity: 1, y: 0 }} |
| transition={{ duration: 0.6 }} |
| viewport={{ once: true }} |
| className="max-w-3xl mx-auto space-y-8" |
| > |
| <h2 className="text-4xl sm:text-5xl font-bold"> |
| Ready to Wake Up Your Patents? |
| </h2> |
| <p className="text-xl text-blue-100"> |
| Start analyzing your patents today and discover untapped commercialization |
| opportunities |
| </p> |
| <Button |
| asChild |
| size="lg" |
| variant="secondary" |
| className="bg-white text-blue-600 hover:bg-gray-100 text-lg h-14 px-8" |
| > |
| <Link href="/upload"> |
| <Upload className="mr-2 h-5 w-5" /> |
| Get Started Now |
| </Link> |
| </Button> |
| </motion.div> |
| </div> |
| </section> |
| </div> |
| ); |
| } |
|
|