import Navbar from '../components/Navbar' import AnimatedBackground from '../components/AnimatedBackground' import { motion } from 'framer-motion' import { useMemo, useRef } from 'react' import { Link } from 'react-router-dom' import { AcademicCapIcon, BriefcaseIcon, CommandLineIcon, DocumentTextIcon, SparklesIcon, ChatBubbleLeftRightIcon, ArrowRightIcon, GlobeAltIcon, PresentationChartBarIcon, } from '@heroicons/react/24/outline' import Footer from '../components/Footer' import TestimonialsCarousel from '../components/TestimonialsCarousel' import { useTheme } from '../theme/ThemeContext' const fadeUp = (d=0) => ({ initial:{opacity:0,y:24}, whileInView:{opacity:1,y:0}, viewport:{once:true, amount:.3}, transition:{duration:.6, delay:d} }) const containerStagger = { hidden: { opacity: 0 }, show: { opacity: 1, transition: { staggerChildren: 0.08 } } } const itemMotion = { hidden: { opacity: 0, y: 18, scale: .98 }, show: { opacity: 1, y: 0, scale: 1, transition: { duration: .5 } } } export default function Landing(){ const { theme } = useTheme() || { theme: { imagery: 'abstract', anim: 'medium', parallax: 'medium' } } const animScale = theme.anim === 'strong' ? 1.06 : theme.anim === 'medium' ? 1.02 : 1.005 const isTouch = typeof window !== 'undefined' && matchMedia('(pointer:coarse)').matches const baseParallax = theme.parallax === 'strong' ? 8 : theme.parallax === 'medium' ? 6 : 3 const parallaxFactor = isTouch ? Math.max(2, baseParallax - 4) : baseParallax const images = useMemo(() => { const sets = { abstract: { hero: 'https://images.unsplash.com/photo-1557683316-973673baf926?q=80&w=1600&auto=format&fit=crop', jobs: 'https://images.unsplash.com/photo-1553877522-43269d4ea984?q=80&w=1600&auto=format&fit=crop', roadmaps: 'https://images.unsplash.com/photo-1522071820081-009f0129c71c?q=80&w=1600&auto=format&fit=crop', resume: 'https://images.unsplash.com/photo-1515378791036-0648a3ef77b2?q=80&w=1600&auto=format&fit=crop', mock: 'https://images.unsplash.com/photo-1522202176988-66273c2fd55f?q=80&w=1600&auto=format&fit=crop', insights: 'https://images.unsplash.com/photo-1516321497487-e288fb19713f?q=80&w=1600&auto=format&fit=crop', }, illustrations: { hero: 'https://images.unsplash.com/photo-1542751371-adc38448a05e?q=80&w=1600&auto=format&fit=crop', jobs: 'https://images.unsplash.com/photo-1611162618479-7d7a39e9be50?q=80&w=1600&auto=format&fit=crop', roadmaps: 'https://images.unsplash.com/photo-1545239351-1141bd82e8a6?q=80&w=1600&auto=format&fit=crop', resume: 'https://images.unsplash.com/photo-1557682250-33bd709cbe85?q=80&w=1600&auto=format&fit=crop', mock: 'https://images.unsplash.com/photo-1516557070061-c3d1653fa646?q=80&w=1600&auto=format&fit=crop', insights: 'https://images.unsplash.com/photo-1520975922203-b5a9cb27689a?q=80&w=1600&auto=format&fit=crop', }, photos: { hero: 'https://images.unsplash.com/photo-1519389950473-47ba0277781c?q=80&w=1600&auto=format&fit=crop', jobs: 'https://images.unsplash.com/photo-1497493292307-31c376b6e479?q=80&w=1600&auto=format&fit=crop', roadmaps: 'https://images.unsplash.com/photo-1496307042754-b4aa456c4a2d?q=80&w=1600&auto=format&fit=crop', resume: 'https://images.unsplash.com/photo-1529101091764-c3526daf38fe?q=80&w=1600&auto=format&fit=crop', mock: 'https://images.unsplash.com/photo-1521737604893-d14cc237f11d?q=80&w=1600&auto=format&fit=crop', insights: 'https://images.unsplash.com/photo-1534759846116-5791a4b5528c?q=80&w=1600&auto=format&fit=crop', } } return sets[theme.imagery] || sets.abstract }, [theme.imagery]) const heroTiltRef = useRef(null) const onHeroMouseMove = (e) => { const el = heroTiltRef.current if(!el) return const rect = el.getBoundingClientRect() const x = e.clientX - rect.left const y = e.clientY - rect.top const rx = ((y / rect.height) - 0.5) * (-parallaxFactor) // tilt X const ry = ((x / rect.width) - 0.5) * parallaxFactor // tilt Y el.style.transform = `perspective(800px) rotateX(${rx}deg) rotateY(${ry}deg) translateZ(0)` } const onHeroMouseLeave = () => { const el = heroTiltRef.current if(!el) return el.style.transform = 'perspective(800px) rotateX(0deg) rotateY(0deg) translateZ(0)' } return (
{/* Subtle background image for hero depth */} bg {/* Hero */}

Your Career. Supercharged.

One place to discover jobs & internships, follow curated roadmaps, build resumes & cover letters, practice mock interviews, and ace placements — all in one powerful platform.

Get Started Explore Features
{/* Removed small utility line per request */}
{/* Professional career guidance hero image */} Career guidance and professional development {/* Lighten overlay so the image reads strongly */}
Professional Career Platform
{/* Decorative gradient blobs */}
{/* Features grid */}
Everything you need for your career journey Beautiful, fast, and built to help you succeed: search jobs, learn with roadmaps, practice interviews, and generate polished resumes & letters.
{/* Industry Insights */}
Industry Insights

Know what's trending — and what to learn next

Explore in-demand roles by your interests, compare salary bands (min/median/max), and reveal your personal skill gaps so you can upskill with confidence.

  • Trending roles by interest
  • Min/Median/Max salary bands
  • Personalized skill gaps and next steps
Explore Insights
Insights preview
Live analytics • Personalized by interests
{/* Visual showcase rows */}
{/* How it helps */} {HowItHelps()} {/* Popular Paths */} {PopularPaths()} {/* Why choose us */} {WhyChooseUs()} {/* Stats band */}
{/* Testimonials */}
What learners say
{/* FAQ */} {FaqSection()} {/* CTA */}

Your next step starts here

Sign in with Google and start exploring jobs, roadmaps, and more — it’s free.

Get Started Go to Dashboard
) } function Feature({ icon:Icon, title, desc, animScale = 1.02 }){ return (
{title}
{desc}
) } // "How It Helps" section function HowItHelps(){ return (
How our platform helps you succeed
) } function HelpCard({ title, desc }){ return (
{title}
{desc}
) } function Showcase({ image, badge, title, desc, cta }){ return ( {title}{e.currentTarget.src='https://images.unsplash.com/photo-1557682250-33bd709cbe85?q=80&w=1600&auto=format&fit=crop'}}/>
{badge}
{title}
{desc}
{cta && ( {cta.label} )}
) } // Popular Paths section function PopularPaths(){ const items = [ { title: 'Frontend Developer', steps: 'HTML • CSS • JS • React • TS', link: '/roadmaps#frontend' }, { title: 'Backend Developer', steps: 'Node.js • APIs • DB • Auth • DevOps', link: '/roadmaps#backend' }, { title: 'Data Analyst', steps: 'Excel • SQL • BI • Python • Viz', link: '/roadmaps#data-analyst' }, { title: 'AI/ML Engineer', steps: 'Python • ML • MLOps • Deploy', link: '/roadmaps#ml' }, { title: 'Cloud Engineer', steps: 'AWS • Docker • CI/CD • Terraform', link: '/roadmaps#cloud' }, { title: 'Mobile Developer', steps: 'Kotlin • Swift • Flutter • React Native', link: '/roadmaps#mobile' }, ] const gradients = [ 'from-cyan-500/20 to-fuchsia-500/10', 'from-emerald-500/20 to-cyan-500/10', 'from-orange-500/20 to-rose-500/10', 'from-indigo-500/20 to-purple-500/10', 'from-pink-500/20 to-yellow-500/10', 'from-sky-500/20 to-emerald-500/10', ] return (
Popular paths to get started {items.map((it, i) => (
{String(i+1).padStart(2,'0')}
{it.title}
{it.steps}
))}
) } function WhyChooseUs(){ const features = [ { icon: '🎯', title: 'All-in-One Career Platform', desc: 'Single workspace for jobs, learning, resumes, and interviews — no more switching between tools.', highlight: 'Unified Experience' }, { icon: '📊', title: 'Data-Driven Insights', desc: 'Real-time market trends, salary data, and skill gaps help you make informed career decisions.', highlight: 'Smart Analytics' }, { icon: '🛤️', title: 'Personalized Learning Paths', desc: 'Adaptive roadmaps that evolve with your progress and keep you on track to your goals.', highlight: 'Tailored Learning' }, { icon: '📄', title: 'ATS-Optimized Documents', desc: 'Professional resume and cover letter templates that pass applicant tracking systems.', highlight: 'Professional Quality' }, { icon: '🎤', title: 'Interview Practice Lab', desc: 'Realistic mock interviews with AI feedback to build confidence before the real thing.', highlight: 'Confidence Building' }, { icon: '🔒', title: 'Privacy & Security First', desc: 'Your data stays yours with secure Google authentication and easy export options.', highlight: 'Your Data, Your Control' }, ] return (

Why Choose CareerGuide

We've built the most comprehensive career platform to help you succeed at every step of your professional journey.

{features.map((feature, index) => ( {/* Background gradient */}
{/* Icon */}
{feature.icon}
{/* Content */}
{feature.highlight}

{feature.title}

{feature.desc}

{/* Hover effect line */}
))} {/* Bottom CTA */}
Join thousands of professionals who've accelerated their careers
) } function NodeCard({ title, desc }){ return (
{title}
{desc}
) } // FAQ section function FaqSection(){ const faqs = [ { q: 'Is it free to start?', a: 'Yes. You can sign in and use core features like Jobs, Roadmaps, and Resume Builder for free.' }, { q: 'Do I need coding experience?', a: 'No. Choose a path that matches your goal — we guide you step by step.' }, { q: 'Will you add personalized insights?', a: 'Yes. The Insights page already showcases trends and will soon personalize by your interests and profile.' }, ] return (
Frequently asked questions {faqs.map(f => (
{f.q}
{f.a}
))}
) } function Stat({ number, label }){ return (
{number}
{label}
) } function Testimonial({ quote, author }){ return (
"{quote}"
— {author}
) }