|
1 | | -import { Bot, Brain, Code2, Rocket, Sparkles, Zap } from 'lucide-react'; |
| 1 | +import { motion } from 'framer-motion'; |
| 2 | +import { Rocket, Timer, Sparkles, Zap } from 'lucide-react'; |
| 3 | +import GlassCard from './ui/GlassCard'; |
2 | 4 |
|
3 | 5 | const AboutSection = () => { |
4 | | - const highlights = [ |
5 | | - { |
6 | | - icon: Bot, |
7 | | - title: 'AI Agent Architect', |
8 | | - description: 'Building autonomous agents that handle complex tasks without human intervention', |
9 | | - }, |
10 | | - { |
11 | | - icon: Brain, |
12 | | - title: 'Prompt Engineer', |
13 | | - description: 'Mastering context engineering and few-shot techniques for optimal AI performance', |
14 | | - }, |
15 | | - { |
16 | | - icon: Zap, |
17 | | - title: 'Full-Stack Dev', |
18 | | - description: 'MERN, Python, and cloud-native architectures that scale', |
19 | | - }, |
20 | | - { |
21 | | - icon: Rocket, |
22 | | - title: 'Tech Lead', |
23 | | - description: 'Leading teams, mentoring engineers, and driving technical strategy', |
24 | | - }, |
25 | | - ]; |
26 | | - |
27 | 6 | return ( |
28 | | - <section id="about" className="relative py-32 px-6"> |
29 | | - <div className="max-w-6xl mx-auto"> |
30 | | - {/* Section Header */} |
31 | | - <div className="text-center mb-20"> |
32 | | - <span className="inline-flex items-center gap-2 px-4 py-2 rounded-full glass text-sm font-mono text-primary mb-6"> |
33 | | - <Sparkles className="w-4 h-4" /> |
34 | | - About Me |
35 | | - </span> |
36 | | - <h2 className="text-4xl md:text-5xl lg:text-6xl font-bold mb-6"> |
37 | | - <span className="text-foreground">The </span> |
38 | | - <span className="text-gradient">AI-First</span> |
39 | | - <span className="text-foreground"> Developer</span> |
40 | | - </h2> |
41 | | - <p className="text-lg text-muted-foreground max-w-3xl mx-auto leading-relaxed"> |
42 | | - I don't just use AI—I build with it, for it, and sometimes against it when debugging. |
43 | | - From autonomous agents to full-stack platforms, I'm obsessed with pushing what's possible |
44 | | - in AI-assisted development. |
45 | | - </p> |
46 | | - </div> |
| 7 | + <section id="about" className="relative py-32 px-6 overflow-hidden"> |
| 8 | + {/* Background effects */} |
| 9 | + <div className="absolute inset-0 bg-gradient-to-b from-transparent via-primary/5 to-transparent" /> |
| 10 | + |
| 11 | + <div className="relative max-w-6xl mx-auto"> |
| 12 | + <motion.div |
| 13 | + initial={{ opacity: 0, y: 30 }} |
| 14 | + whileInView={{ opacity: 1, y: 0 }} |
| 15 | + viewport={{ once: true, margin: "-100px" }} |
| 16 | + transition={{ duration: 0.8 }} |
| 17 | + className="grid lg:grid-cols-2 gap-12 items-center" |
| 18 | + > |
| 19 | + {/* Left: Content */} |
| 20 | + <div> |
| 21 | + <span className="text-xs font-mono uppercase tracking-[0.3em] text-primary mb-4 block"> |
| 22 | + 00_The Sprint Manifesto |
| 23 | + </span> |
| 24 | + |
| 25 | + <h2 className="text-4xl md:text-5xl lg:text-6xl font-black leading-[1.1] mb-8"> |
| 26 | + <span className="text-foreground">FROM IDEA</span> |
| 27 | + <br /> |
| 28 | + <span className="text-foreground">TO SHIP IN</span> |
| 29 | + <br /> |
| 30 | + <span className="text-gradient glow-text">24 HOURS.</span> |
| 31 | + </h2> |
| 32 | + |
| 33 | + <p className="text-lg text-muted-foreground mb-8 leading-relaxed"> |
| 34 | + Bring me your vision. I will architect, develop, and deploy a high-fidelity |
| 35 | + functional prototype in less than 24 hours. This isn't a promise—it's my |
| 36 | + <span className="text-primary font-semibold"> standard operating procedure</span>. |
| 37 | + </p> |
47 | 38 |
|
48 | | - {/* Highlight Cards */} |
49 | | - <div className="grid grid-cols-1 md:grid-cols-2 gap-6"> |
50 | | - {highlights.map((item, index) => ( |
51 | | - <div |
52 | | - key={item.title} |
53 | | - className="group relative p-8 rounded-2xl glass hover:bg-card/60 transition-all duration-500 overflow-hidden" |
54 | | - style={{ animationDelay: `${index * 0.1}s` }} |
55 | | - > |
56 | | - {/* Gradient border on hover */} |
57 | | - <div className="absolute inset-0 rounded-2xl opacity-0 group-hover:opacity-100 transition-opacity duration-500 gradient-border" /> |
| 39 | + <div className="flex flex-wrap gap-4"> |
| 40 | + <div className="flex items-center gap-2 px-4 py-2 rounded-xl glass"> |
| 41 | + <Zap className="w-4 h-4 text-primary" /> |
| 42 | + <span className="text-sm font-medium text-foreground">Ultra Speed</span> |
| 43 | + </div> |
| 44 | + <div className="flex items-center gap-2 px-4 py-2 rounded-xl glass"> |
| 45 | + <Rocket className="w-4 h-4 text-accent" /> |
| 46 | + <span className="text-sm font-medium text-foreground">Production Ready</span> |
| 47 | + </div> |
| 48 | + </div> |
| 49 | + </div> |
| 50 | + |
| 51 | + {/* Right: Visual */} |
| 52 | + <motion.div |
| 53 | + initial={{ opacity: 0, scale: 0.9 }} |
| 54 | + whileInView={{ opacity: 1, scale: 1 }} |
| 55 | + viewport={{ once: true, margin: "-100px" }} |
| 56 | + transition={{ duration: 0.8, delay: 0.2 }} |
| 57 | + > |
| 58 | + <GlassCard className="p-8 relative" hover={false}> |
| 59 | + {/* Animated border */} |
| 60 | + <div className="absolute inset-0 rounded-2xl overflow-hidden"> |
| 61 | + <div className="absolute inset-0 bg-gradient-to-r from-primary via-accent to-primary opacity-20 animate-gradient bg-[length:200%_100%]" /> |
| 62 | + </div> |
58 | 63 |
|
59 | | - <div className="relative z-10"> |
60 | | - <div className="inline-flex p-3 rounded-xl bg-primary/10 text-primary mb-4 group-hover:scale-110 transition-transform duration-300"> |
61 | | - <item.icon className="w-6 h-6" /> |
| 64 | + <div className="relative flex flex-col items-center text-center"> |
| 65 | + <motion.div |
| 66 | + animate={{ |
| 67 | + boxShadow: [ |
| 68 | + '0 0 30px hsl(175 100% 50% / 0.3)', |
| 69 | + '0 0 60px hsl(175 100% 50% / 0.5)', |
| 70 | + '0 0 30px hsl(175 100% 50% / 0.3)' |
| 71 | + ] |
| 72 | + }} |
| 73 | + transition={{ duration: 2, repeat: Infinity, ease: "easeInOut" }} |
| 74 | + className="w-24 h-24 rounded-full bg-gradient-to-br from-primary to-accent flex items-center justify-center mb-6" |
| 75 | + > |
| 76 | + <Timer className="w-12 h-12 text-primary-foreground" /> |
| 77 | + </motion.div> |
| 78 | + |
| 79 | + <div className="text-7xl font-black text-gradient mb-2">24H</div> |
| 80 | + <div className="text-xs font-mono uppercase tracking-[0.3em] text-muted-foreground"> |
| 81 | + DEPLOYMENT_WINDOW |
62 | 82 | </div> |
63 | | - <h3 className="text-xl font-semibold text-foreground mb-2 group-hover:text-primary transition-colors"> |
64 | | - {item.title} |
65 | | - </h3> |
66 | | - <p className="text-muted-foreground leading-relaxed"> |
67 | | - {item.description} |
68 | | - </p> |
69 | 83 | </div> |
70 | | - </div> |
71 | | - ))} |
72 | | - </div> |
| 84 | + </GlassCard> |
| 85 | + </motion.div> |
| 86 | + </motion.div> |
73 | 87 |
|
74 | | - {/* Fun Stat */} |
75 | | - <div className="mt-16 text-center"> |
76 | | - <div className="inline-flex items-center gap-3 px-6 py-4 rounded-2xl glass"> |
77 | | - <Code2 className="w-5 h-5 text-primary" /> |
78 | | - <span className="text-muted-foreground"> |
79 | | - <span className="text-foreground font-semibold">3+ years</span> of shipping production code |
80 | | - </span> |
81 | | - <span className="text-muted-foreground">•</span> |
82 | | - <span className="text-muted-foreground"> |
83 | | - <span className="text-foreground font-semibold">∞</span> cups of coffee |
84 | | - </span> |
85 | | - </div> |
86 | | - </div> |
| 88 | + {/* Stats */} |
| 89 | + <motion.div |
| 90 | + initial={{ opacity: 0, y: 30 }} |
| 91 | + whileInView={{ opacity: 1, y: 0 }} |
| 92 | + viewport={{ once: true, margin: "-100px" }} |
| 93 | + transition={{ duration: 0.8, delay: 0.3 }} |
| 94 | + className="mt-20 grid grid-cols-2 md:grid-cols-4 gap-6" |
| 95 | + > |
| 96 | + {[ |
| 97 | + { value: '3+', label: 'Years Shipping' }, |
| 98 | + { value: '50+', label: 'Projects Deployed' }, |
| 99 | + { value: '∞', label: 'Coffee Consumed' }, |
| 100 | + { value: '0', label: 'Bugs in Prod (jk)' }, |
| 101 | + ].map((stat, idx) => ( |
| 102 | + <GlassCard key={stat.label} className="p-6 text-center"> |
| 103 | + <div className="text-3xl md:text-4xl font-black text-gradient mb-2"> |
| 104 | + {stat.value} |
| 105 | + </div> |
| 106 | + <div className="text-xs font-mono uppercase tracking-wider text-muted-foreground"> |
| 107 | + {stat.label} |
| 108 | + </div> |
| 109 | + </GlassCard> |
| 110 | + ))} |
| 111 | + </motion.div> |
87 | 112 | </div> |
88 | 113 | </section> |
89 | 114 | ); |
|
0 commit comments