Naveedtechlab commited on
Commit
6e47509
·
1 Parent(s): 66b696e

feat: mobile-friendly, dark/light mode, updated HF live links

Browse files
Files changed (1) hide show
  1. app/page.tsx +239 -320
app/page.tsx CHANGED
@@ -6,41 +6,13 @@ import { useState, useEffect } from "react";
6
  /* ─── DATA ─────────────────────────────────────────────────── */
7
 
8
  const skills = [
9
- {
10
- label: "Frontend",
11
- color: "from-blue-500 to-cyan-400",
12
- tags: ["Next.js", "React", "TypeScript", "Tailwind CSS", "HTML5/CSS3"],
13
- },
14
- {
15
- label: "Backend",
16
- color: "from-violet-500 to-purple-400",
17
- tags: ["Python", "FastAPI", "Node.js", "REST APIs", "Authentication"],
18
- },
19
- {
20
- label: "AI & Agents",
21
- color: "from-amber-500 to-orange-400",
22
- tags: ["OpenAI API", "Gemini API", "LangChain", "Claude Code", "Agents SDK", "MCP"],
23
- },
24
- {
25
- label: "Automation",
26
- color: "from-green-500 to-emerald-400",
27
- tags: ["Gmail API", "WhatsApp/Twilio", "Webhooks", "Watchers", "BG Workers"],
28
- },
29
- {
30
- label: "Cloud & DevOps",
31
- color: "from-sky-500 to-blue-400",
32
- tags: ["Docker", "Kubernetes", "Kafka", "Dapr", "CI/CD", "GitHub"],
33
- },
34
- {
35
- label: "Database",
36
- color: "from-rose-500 to-pink-400",
37
- tags: ["MongoDB", "PostgreSQL", "Sanity CMS"],
38
- },
39
- {
40
- label: "Architecture",
41
- color: "from-teal-500 to-cyan-400",
42
- tags: ["Spec-Driven Dev", "Event-Driven", "Agent Skills Design"],
43
- },
44
  ];
45
 
46
  const projects = [
@@ -49,142 +21,137 @@ const projects = [
49
  subtitle: "Digital FTE · Hackathon",
50
  desc: "Autonomous AI employee with Gmail/WhatsApp automation, Obsidian memory system, and MCP tools — running 24/7 without human intervention.",
51
  tags: ["OpenAI SDK", "MCP", "Gmail API", "WhatsApp", "Python"],
52
- icon: "🤖",
53
- accent: "from-amber-500 to-orange-500",
54
- live: null,
55
  },
56
  {
57
  title: "CRM Digital FTE",
58
  subtitle: "CRM Agent · Hugging Face",
59
- desc: "Multi-channel customer support agent handling Gmail, WhatsApp, and Web forms with a PostgreSQL ticket system and FastAPI backend. Live on Hugging Face Spaces.",
60
  tags: ["FastAPI", "PostgreSQL", "LangChain", "Twilio", "Python"],
61
- icon: "🎯",
62
- accent: "from-blue-500 to-cyan-500",
63
- live: "https://huggingface.co/spaces/Naveedtechlab/crm-digital-fte",
64
  },
65
  {
66
  title: "Course Companion FTE",
67
  subtitle: "AI Tutor · Hugging Face",
68
  desc: "AI-powered tutoring assistant with deterministic backend logic, skills-based agent architecture, and an interactive learning interface.",
69
  tags: ["Python", "OpenAI API", "FastAPI", "Streamlit"],
70
- icon: "📚",
71
- accent: "from-violet-500 to-purple-500",
72
- live: "https://huggingface.co/spaces/Naveedtechlab/course-companion-fte",
73
  },
74
  {
75
  title: "Todo App Phase 5",
76
  subtitle: "Full Stack · Hugging Face",
77
- desc: "Spec-driven todo application evolved from a console app to a full-stack web app with an AI chatbot, cloud-native deployment, and OpenAI Agents SDK integration.",
78
  tags: ["Next.js", "FastAPI", "OpenAI SDK", "Docker"],
79
- icon: "✅",
80
- accent: "from-green-500 to-emerald-500",
81
- live: "https://huggingface.co/spaces/Naveedtechlab/todo-app-phase5",
82
  },
83
  {
84
  title: "LearnFlow",
85
  subtitle: "Learning Platform · Hugging Face",
86
- desc: "Interactive learning flow platform with AI-assisted content delivery, structured modules, and an intuitive UI for seamless education experiences.",
87
  tags: ["Python", "AI", "Streamlit", "OpenAI API"],
88
- icon: "🎓",
89
- accent: "from-sky-500 to-blue-500",
90
- live: "https://huggingface.co/spaces/Naveedtechlab/learnflow",
91
  },
92
  {
93
  title: "AI Native Textbook",
94
  subtitle: "EdTech · Vercel",
95
- desc: "AI-native digital textbook application that delivers interactive, intelligent content — blending traditional learning with generative AI capabilities.",
96
  tags: ["Next.js", "OpenAI API", "Vercel", "TypeScript"],
97
- icon: "📖",
98
- accent: "from-indigo-500 to-violet-500",
99
  live: "https://ai-native-textbook1.vercel.app/",
100
  },
101
  {
102
  title: "E-Commerce Store",
103
  subtitle: "Freelance · Vercel",
104
- desc: "Modern full-featured e-commerce web application with product listings, cart functionality, and a clean responsive UI — deployed on Vercel.",
105
  tags: ["Next.js", "React", "Tailwind CSS", "Vercel"],
106
- icon: "🛍️",
107
- accent: "from-rose-500 to-pink-500",
108
  live: "https://e-comm-naveed.vercel.app/",
109
  },
110
  {
111
  title: "Library Manager",
112
  subtitle: "Utility App · Streamlit",
113
- desc: "A smart library management system to add, search, and manage books with an intuitive Streamlit interface and persistent data storage.",
114
  tags: ["Python", "Streamlit", "Pandas"],
115
- icon: "📕",
116
- accent: "from-orange-500 to-amber-500",
117
  live: "https://naveed247365-library-manager-library-manager-iykdx8.streamlit.app/",
118
  },
119
  {
120
  title: "Number Guessing Game",
121
  subtitle: "Fun App · Streamlit",
122
- desc: "Interactive browser-based number guessing game with difficulty levels, score tracking, and a fun UI built with Python and Streamlit.",
123
  tags: ["Python", "Streamlit", "Game Logic"],
124
- icon: "🎮",
125
- accent: "from-teal-500 to-cyan-500",
126
  live: "https://naveed247365-number-guessing-game-guessing-game-kfloll.streamlit.app/",
127
  },
128
  {
129
  title: "Password Strength Meter",
130
  subtitle: "Security Tool · Streamlit",
131
- desc: "Real-time password strength analyzer with visual feedback, entropy scoring, and security suggestions — helping users create stronger passwords.",
132
  tags: ["Python", "Streamlit", "Security", "GUI"],
133
- icon: "🔐",
134
- accent: "from-red-500 to-rose-500",
135
  live: "https://password-strength-meter-with-a-gui.streamlit.app/",
136
  },
137
  {
138
  title: "Secure Data Vault",
139
  subtitle: "Encryption App · Streamlit",
140
- desc: "End-to-end data encryption system that lets users securely store and retrieve sensitive information using modern cryptographic algorithms.",
141
  tags: ["Python", "Cryptography", "Streamlit", "Security"],
142
- icon: "🔒",
143
- accent: "from-slate-500 to-gray-600",
144
  live: "https://naveed247365-secure-data-encryption-system--secure-vault-sbgxir.streamlit.app/",
145
  },
146
  {
147
  title: "Unit Converter",
148
  subtitle: "Utility Tool · Streamlit",
149
- desc: "Comprehensive unit conversion tool supporting length, weight, temperature, speed, and more — with a clean, fast Streamlit interface.",
150
  tags: ["Python", "Streamlit", "Math"],
151
- icon: "📐",
152
- accent: "from-lime-500 to-green-500",
153
  live: "https://naveed247365-unit-converter-unit-converter-cycms9.streamlit.app/",
154
  },
155
  {
156
  title: "Streamlit Web App",
157
  subtitle: "Web App · Streamlit",
158
- desc: "A dynamic multi-feature web application built with Streamlit showcasing Python-powered interactivity, data visualization, and UI components.",
159
  tags: ["Python", "Streamlit", "Data Viz"],
160
- icon: "🌐",
161
- accent: "from-fuchsia-500 to-pink-500",
162
  live: "https://naveed247365-web-app-with-streamlit-app-hnkir1.streamlit.app/",
163
  },
164
  {
165
- title: "E-Commerce (Fiverr)",
166
  subtitle: "Freelance · Client Projects",
167
- desc: "Shopify stores, custom dashboards, CMS-based websites, and full automation workflows for clients — from design to deployment.",
168
  tags: ["Shopify", "React", "Sanity CMS", "Node.js"],
169
- icon: "💼",
170
- accent: "from-yellow-500 to-orange-400",
171
- live: null,
172
  },
173
  ];
174
 
175
  const navLinks = ["About", "Skills", "Projects", "Education", "Contact"];
176
 
177
- /* ─── COMPONENT ─────────────────────────────────────────────── */
178
 
179
  export default function Portfolio() {
180
- const [active, setActive] = useState("About");
181
  const [menuOpen, setMenuOpen] = useState(false);
182
  const [scrolled, setScrolled] = useState(false);
 
 
 
 
 
 
 
 
 
 
 
183
 
184
  useEffect(() => {
185
- const onScroll = () => setScrolled(window.scrollY > 60);
186
- window.addEventListener("scroll", onScroll);
187
- return () => window.removeEventListener("scroll", onScroll);
188
  }, []);
189
 
190
  const scrollTo = (id: string) => {
@@ -193,95 +160,96 @@ export default function Portfolio() {
193
  setMenuOpen(false);
194
  };
195
 
 
 
 
 
 
 
 
 
 
 
 
196
  return (
197
- <main className="min-h-screen bg-[#060d1f] text-white overflow-x-hidden">
198
 
199
  {/* ── NAVBAR ── */}
200
- <nav
201
- className={`fixed top-0 left-0 right-0 z-50 transition-all duration-300 ${
202
- scrolled ? "glass shadow-2xl shadow-black/40" : "bg-transparent"
203
- }`}
204
- >
205
- <div className="max-w-6xl mx-auto px-6 py-4 flex items-center justify-between">
206
- <span className="text-amber-400 font-bold text-lg tracking-wider">
207
- MN<span className="text-white">.</span>
208
- </span>
209
-
210
- {/* Desktop links */}
211
- <ul className="hidden md:flex gap-8">
212
  {navLinks.map((l) => (
213
  <li key={l}>
214
- <button
215
- onClick={() => scrollTo(l)}
216
  className={`text-sm font-medium tracking-wide transition-colors duration-200 ${
217
- active === l ? "text-amber-400" : "text-slate-300 hover:text-white"
218
- }`}
219
- >
220
  {l}
221
  </button>
222
  </li>
223
  ))}
224
  </ul>
225
 
226
- <a
227
- href="/Muhammad_Naveed_CV.pdf"
228
- download
229
- className="hidden md:inline-flex items-center gap-2 bg-amber-500 hover:bg-amber-400 text-black text-sm font-bold px-4 py-2 rounded-full transition-all duration-200 hover:scale-105"
230
- >
231
- Download CV
232
- </a>
233
-
234
- {/* Mobile toggle */}
235
- <button
236
- className="md:hidden text-white text-2xl"
237
- onClick={() => setMenuOpen(!menuOpen)}
238
- >
239
- {menuOpen ? "✕" : "☰"}
240
- </button>
 
 
 
 
 
 
241
  </div>
242
 
 
243
  {menuOpen && (
244
- <div className="md:hidden glass border-t border-white/10 px-6 py-4 flex flex-col gap-4">
 
245
  {navLinks.map((l) => (
246
- <button
247
- key={l}
248
- onClick={() => scrollTo(l)}
249
- className="text-left text-sm font-medium text-slate-300 hover:text-amber-400 transition-colors"
250
- >
251
  {l}
252
  </button>
253
  ))}
254
- <a
255
- href="/Muhammad_Naveed_CV.pdf"
256
- download
257
- className="bg-amber-500 text-black text-sm font-bold px-4 py-2 rounded-full text-center"
258
- >
259
  ↓ Download CV
260
  </a>
261
  </div>
262
  )}
263
  </nav>
264
 
265
- {/* ══════════════════════════════════════════
266
- HERO / ABOUT
267
- ══════════════════════════════════════════ */}
268
- <section
269
- id="about"
270
- className="min-h-screen flex items-center justify-center relative pt-24 pb-16 px-6 overflow-hidden"
271
- >
272
- {/* BG blobs */}
273
- <div className="absolute top-20 left-10 w-72 h-72 bg-blue-600/20 rounded-full blur-3xl pointer-events-none" />
274
- <div className="absolute bottom-20 right-10 w-96 h-96 bg-amber-500/10 rounded-full blur-3xl pointer-events-none" />
275
- <div className="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[600px] h-[600px] bg-violet-600/5 rounded-full blur-3xl pointer-events-none" />
276
-
277
- <div className="max-w-6xl mx-auto w-full grid md:grid-cols-2 gap-12 items-center">
278
  {/* Text */}
279
- <div className="animate-fade-left">
280
- <span className="inline-block bg-amber-500/15 border border-amber-500/30 text-amber-400 text-xs font-bold tracking-widest uppercase px-4 py-1.5 rounded-full mb-6">
281
  Available for Work
282
  </span>
283
 
284
- <h1 className="text-4xl sm:text-5xl lg:text-6xl font-extrabold leading-tight mb-4">
285
  Hi, I&apos;m{" "}
286
  <span className="bg-gradient-to-r from-amber-400 via-orange-400 to-amber-300 bg-clip-text text-transparent animate-gradient">
287
  Muhammad
@@ -292,108 +260,90 @@ export default function Portfolio() {
292
  </span>
293
  </h1>
294
 
295
- <p className="text-slate-400 text-base sm:text-lg leading-relaxed mb-8 max-w-lg">
296
- <span className="text-white font-semibold">AI Automation Engineer</span> &amp;{" "}
297
- <span className="text-white font-semibold">Full Stack Developer</span> building
298
- autonomous <span className="text-amber-400 font-semibold">Digital FTE</span> systems,
299
- intelligent agents, and cloud-native applications that run 24/7 — from Karachi, Pakistan.
300
  </p>
301
 
302
- <div className="flex flex-wrap gap-4 mb-10">
303
- <button
304
- onClick={() => scrollTo("Projects")}
305
- className="bg-gradient-to-r from-amber-500 to-orange-500 hover:from-amber-400 hover:to-orange-400 text-black font-bold px-6 py-3 rounded-full transition-all duration-200 hover:scale-105 shadow-lg shadow-amber-500/25"
306
- >
307
  View Projects →
308
  </button>
309
- <button
310
- onClick={() => scrollTo("Contact")}
311
- className="glass border border-white/20 hover:border-amber-400/50 text-white font-semibold px-6 py-3 rounded-full transition-all duration-200 hover:scale-105"
312
- >
313
  Contact Me
314
  </button>
315
  </div>
316
 
317
- <div className="flex gap-3 flex-wrap">
 
318
  {[
319
- { label: "GitHub", href: "https://github.com/naveedtechlab", icon: "⌨️" },
320
- { label: "LinkedIn", href: "https://linkedin.com/in/naveedtechlab", icon: "💼" },
321
- { label: "YouTube", href: "https://youtube.com/@naveedtechlab", icon: "▶️" },
322
- { label: "Instagram", href: "https://instagram.com/naveedtechlab", icon: "📸" },
323
- { label: "X", href: "https://x.com/naveedtechlab", icon: "𝕏" },
324
- { label: "Facebook", href: "https://facebook.com/naveedtechlab", icon: "📘" },
325
  ].map((s) => (
326
- <a
327
- key={s.label}
328
- href={s.href}
329
- target="_blank"
330
- rel="noopener noreferrer"
331
- className="glass border border-white/10 hover:border-amber-400/40 text-slate-300 hover:text-amber-400 text-sm font-medium px-4 py-2 rounded-full transition-all duration-200 flex items-center gap-2"
332
- >
333
- <span>{s.icon}</span>
334
- {s.label}
335
  </a>
336
  ))}
337
  </div>
338
  </div>
339
 
340
  {/* Photo */}
341
- <div className="flex justify-center animate-fade-right">
342
  <div className="relative">
343
- <div className="absolute -inset-4 rounded-full border-2 border-dashed border-amber-400/30 animate-spin-slow" />
344
  <div className="absolute inset-0 rounded-full bg-gradient-to-br from-amber-400/20 to-blue-600/20 blur-2xl animate-pulse" />
345
- <div className="relative w-64 h-64 sm:w-80 sm:h-80 rounded-full overflow-hidden border-4 border-amber-400 animate-pulse-ring animate-float shadow-2xl shadow-amber-500/20">
346
- <Image
347
- src="/profile.jpg"
348
- alt="Muhammad Naveed"
349
- fill
350
- className="object-cover object-top"
351
- priority
352
- />
353
  </div>
354
- <div className="absolute -top-2 -right-4 glass border border-white/10 rounded-2xl px-3 py-2 text-xs font-bold text-amber-400 shadow-xl animate-fade-up delay-300">
 
355
  🤖 AI Engineer
356
  </div>
357
- <div className="absolute -bottom-2 -left-4 glass border border-white/10 rounded-2xl px-3 py-2 text-xs font-bold text-cyan-400 shadow-xl animate-fade-up delay-500">
 
358
  ⚡ 5+ AI Systems
359
  </div>
360
  </div>
361
  </div>
362
  </div>
363
 
364
- <div className="absolute bottom-8 left-1/2 -translate-x-1/2 flex flex-col items-center gap-2 opacity-40">
365
  <span className="text-xs text-slate-400 tracking-widest uppercase">Scroll</span>
366
- <div className="w-px h-8 bg-gradient-to-b from-slate-400 to-transparent" />
367
  </div>
368
  </section>
369
 
370
- {/* ══════════════════════════════════════════
371
  SKILLS
372
- ══════════════════════════════════════════ */}
373
- <section id="skills" className="py-24 px-6 relative">
374
- <div className="absolute inset-0 bg-gradient-to-b from-transparent via-blue-950/20 to-transparent pointer-events-none" />
375
  <div className="max-w-6xl mx-auto">
376
- <SectionHeader
377
- eyebrow="What I work with"
378
- title="Technical Skills"
379
- sub="Full-spectrum expertise from frontend to AI agent orchestration"
380
- />
381
- <div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-5">
382
  {skills.map((s, i) => (
383
- <div
384
- key={s.label}
385
- className="glass border border-white/8 rounded-2xl p-5 card-hover animate-fade-up"
386
- style={{ animationDelay: `${i * 0.08}s` }}
387
- >
388
- <div className={`inline-block bg-gradient-to-r ${s.color} text-transparent bg-clip-text font-bold text-sm tracking-wider uppercase mb-3`}>
389
  {s.label}
390
  </div>
391
- <div className="flex flex-wrap gap-2">
392
  {s.tags.map((t) => (
393
- <span
394
- key={t}
395
- className="bg-white/5 border border-white/10 text-slate-300 text-xs px-3 py-1 rounded-full hover:border-amber-400/40 hover:text-amber-300 transition-colors duration-200 cursor-default"
396
- >
397
  {t}
398
  </span>
399
  ))}
@@ -404,57 +354,49 @@ export default function Portfolio() {
404
  </div>
405
  </section>
406
 
407
- {/* ══════════════════════════════════════════
408
  PROJECTS
409
- ══════════════════════════════════════════ */}
410
- <section id="projects" className="py-24 px-6 relative">
411
- <div className="absolute top-0 left-0 w-96 h-96 bg-violet-600/10 rounded-full blur-3xl pointer-events-none" />
412
- <div className="absolute bottom-0 right-0 w-96 h-96 bg-amber-500/8 rounded-full blur-3xl pointer-events-none" />
 
 
413
  <div className="max-w-6xl mx-auto">
414
- <SectionHeader
415
- eyebrow="What I&apos;ve built"
416
- title="Projects & Experience"
417
- sub="Production-grade AI systems, hackathon wins, live apps & client projects"
418
- />
419
- <div className="grid sm:grid-cols-2 lg:grid-cols-3 gap-6">
420
  {projects.map((p, i) => (
421
- <div
422
- key={p.title}
423
- className="glass border border-white/8 rounded-2xl p-6 card-hover flex flex-col gap-4 animate-fade-up"
424
- style={{ animationDelay: `${i * 0.06}s` }}
425
- >
426
- <div className="flex items-start justify-between">
427
- <div className={`w-12 h-12 bg-gradient-to-br ${p.accent} rounded-xl flex items-center justify-center text-2xl shadow-lg flex-shrink-0`}>
428
  {p.icon}
429
  </div>
430
- <span className="text-xs text-slate-500 font-medium bg-white/5 px-3 py-1 rounded-full text-right">
 
431
  {p.subtitle}
432
  </span>
433
  </div>
434
 
435
  <div className="flex-1">
436
- <h3 className="text-white font-bold text-base mb-2">{p.title}</h3>
437
- <p className="text-slate-400 text-sm leading-relaxed">{p.desc}</p>
438
  </div>
439
 
440
- <div className="flex flex-wrap gap-2 pt-2 border-t border-white/5">
441
  {p.tags.map((t) => (
442
- <span
443
- key={t}
444
- className={`text-xs px-2.5 py-1 rounded-full bg-gradient-to-r ${p.accent} opacity-80 text-white border border-white/10`}
445
- >
446
  {t}
447
  </span>
448
  ))}
449
  </div>
450
 
451
  {"live" in p && p.live && (
452
- <a
453
- href={p.live}
454
- target="_blank"
455
- rel="noopener noreferrer"
456
- className={`mt-1 flex items-center justify-center gap-2 bg-gradient-to-r ${p.accent} text-white text-xs font-bold py-2 px-4 rounded-xl hover:opacity-90 transition-all duration-200 hover:scale-105 shadow-lg`}
457
- >
458
  🚀 Live Demo
459
  </a>
460
  )}
@@ -464,54 +406,41 @@ export default function Portfolio() {
464
  </div>
465
  </section>
466
 
467
- {/* ══════════════════════════════════════════
468
  EDUCATION
469
- ══════════════════════════════════════════ */}
470
- <section id="education" className="py-24 px-6">
471
  <div className="max-w-6xl mx-auto">
472
- <SectionHeader
473
- eyebrow="My background"
474
- title="Education"
475
- sub="Continuous learning in cutting-edge technologies"
476
- />
477
- <div className="max-w-3xl mx-auto flex flex-col gap-5">
478
  {[
479
  {
480
- icon: "🎓",
481
- degree: "Governor House Initiative",
482
- field: "GenAI, Web3 & Metaverse",
483
- year: "2023 – Present",
484
  desc: "Intensive government-backed program covering Generative AI, Web3 technologies, Metaverse development, and modern engineering practices.",
485
- accent: "from-amber-500 to-orange-500",
486
  },
487
  {
488
- icon: "📚",
489
- degree: "Crescent Grammar School",
490
- field: "Matriculation",
491
- year: "Completed",
492
  desc: "Foundation education building analytical thinking and problem-solving skills.",
493
- accent: "from-blue-500 to-cyan-500",
494
  },
495
  ].map((e, i) => (
496
- <div
497
- key={e.degree}
498
- className="glass border border-white/8 rounded-2xl p-6 card-hover flex gap-5 animate-fade-up"
499
- style={{ animationDelay: `${i * 0.15}s` }}
500
- >
501
- <div className={`w-14 h-14 bg-gradient-to-br ${e.accent} rounded-xl flex items-center justify-center text-2xl flex-shrink-0 shadow-lg`}>
502
  {e.icon}
503
  </div>
504
- <div className="flex-1">
505
  <div className="flex items-start justify-between flex-wrap gap-2 mb-1">
506
- <h3 className="text-white font-bold text-base">{e.degree}</h3>
507
- <span className="text-xs text-amber-400 font-semibold bg-amber-500/10 border border-amber-500/20 px-3 py-0.5 rounded-full">
508
  {e.year}
509
  </span>
510
  </div>
511
- <p className={`text-sm font-semibold bg-gradient-to-r ${e.accent} bg-clip-text text-transparent mb-2`}>
512
- {e.field}
513
- </p>
514
- <p className="text-slate-400 text-sm leading-relaxed">{e.desc}</p>
515
  </div>
516
  </div>
517
  ))}
@@ -519,27 +448,22 @@ export default function Portfolio() {
519
  </div>
520
  </section>
521
 
522
- {/* ══════════════════════════════════════════
523
  CONTACT
524
- ══════════════════════════════════════════ */}
525
- <section id="contact" className="py-24 px-6 relative">
526
- <div className="absolute inset-0 bg-gradient-to-t from-blue-950/30 to-transparent pointer-events-none" />
527
  <div className="max-w-6xl mx-auto">
528
- <SectionHeader
529
- eyebrow="Let&apos;s connect"
530
- title="Get In Touch"
531
- sub="Open to collaborations, freelance projects, and full-time opportunities"
532
- />
533
  <div className="max-w-2xl mx-auto">
534
- <div className="glass border border-white/8 rounded-3xl p-8 md:p-12 text-center animate-fade-up">
535
- <p className="text-slate-300 text-base leading-relaxed mb-10 max-w-lg mx-auto">
536
- Whether you need an{" "}
537
- <span className="text-amber-400 font-semibold">AI automation system</span>,
538
  a full-stack web app, or a custom agent — I&apos;m ready to build it.
539
- Let&apos;s make something great together.
540
  </p>
541
 
542
- <div className="grid grid-cols-2 sm:grid-cols-3 gap-4 mb-10">
543
  {[
544
  { icon: "✉️", label: "Email", value: "qureshinaveed21@hotmail.com", href: "mailto:qureshinaveed21@hotmail.com" },
545
  { icon: "⌨️", label: "GitHub", value: "naveedtechlab", href: "https://github.com/naveedtechlab" },
@@ -550,26 +474,20 @@ export default function Portfolio() {
550
  { icon: "📘", label: "Facebook", value: "naveedtechlab", href: "https://facebook.com/naveedtechlab" },
551
  { icon: "📍", label: "Location", value: "Karachi, Pakistan", href: "#" },
552
  ].map((c) => (
553
- <a
554
- key={c.label}
555
- href={c.href}
556
- target="_blank"
557
- rel="noopener noreferrer"
558
- className="glass border border-white/10 hover:border-amber-400/40 rounded-2xl p-4 flex flex-col items-center gap-2 transition-all duration-200 hover:scale-105 group"
559
- >
560
- <span className="text-2xl">{c.icon}</span>
561
- <span className="text-xs text-slate-500 uppercase tracking-widest">{c.label}</span>
562
- <span className="text-sm text-white font-medium group-hover:text-amber-400 transition-colors text-center break-all">
563
  {c.value}
564
  </span>
565
  </a>
566
  ))}
567
  </div>
568
 
569
- <a
570
- href="mailto:qureshinaveed21@hotmail.com"
571
- className="inline-flex items-center gap-3 bg-gradient-to-r from-amber-500 to-orange-500 hover:from-amber-400 hover:to-orange-400 text-black font-bold px-8 py-4 rounded-full transition-all duration-200 hover:scale-105 shadow-xl shadow-amber-500/25 text-base"
572
- >
573
  ✉️ Send Me an Email
574
  </a>
575
  </div>
@@ -577,28 +495,29 @@ export default function Portfolio() {
577
  </div>
578
  </section>
579
 
580
- {/* ── FOOTER ── */}
581
- <footer className="border-t border-white/5 py-8 px-6 text-center">
582
- <p className="text-slate-500 text-sm">
583
- © 2026{" "}
584
- <span className="text-amber-400 font-semibold">Muhammad Naveed</span>
585
- {" "}· Built with Next.js & Tailwind CSS
586
  </p>
587
  </footer>
588
- </main>
589
  );
590
  }
591
 
592
  /* ─── SECTION HEADER ────────────────────────────────────────── */
593
- function SectionHeader({ eyebrow, title, sub }: { eyebrow: string; title: string; sub: string }) {
 
 
594
  return (
595
- <div className="text-center mb-14 animate-fade-up">
596
- <span
597
- className="inline-block text-amber-400 text-xs font-bold tracking-widest uppercase bg-amber-500/10 border border-amber-500/20 px-4 py-1.5 rounded-full mb-4"
598
- dangerouslySetInnerHTML={{ __html: eyebrow }}
599
- />
600
- <h2 className="text-3xl sm:text-4xl font-extrabold text-white mb-3">{title}</h2>
601
- <p className="text-slate-400 text-base max-w-xl mx-auto">{sub}</p>
 
602
  </div>
603
  );
604
  }
 
6
  /* ─── DATA ─────────────────────────────────────────────────── */
7
 
8
  const skills = [
9
+ { label: "Frontend", color: "from-blue-500 to-cyan-400", tags: ["Next.js", "React", "TypeScript", "Tailwind CSS", "HTML5/CSS3"] },
10
+ { label: "Backend", color: "from-violet-500 to-purple-400", tags: ["Python", "FastAPI", "Node.js", "REST APIs", "Authentication"] },
11
+ { label: "AI & Agents", color: "from-amber-500 to-orange-400", tags: ["OpenAI API", "Gemini API", "LangChain", "Claude Code", "Agents SDK", "MCP"] },
12
+ { label: "Automation", color: "from-green-500 to-emerald-400", tags: ["Gmail API", "WhatsApp/Twilio", "Webhooks", "Watchers", "BG Workers"] },
13
+ { label: "Cloud & DevOps", color: "from-sky-500 to-blue-400", tags: ["Docker", "Kubernetes", "Kafka", "Dapr", "CI/CD", "GitHub"] },
14
+ { label: "Database", color: "from-rose-500 to-pink-400", tags: ["MongoDB", "PostgreSQL", "Sanity CMS"] },
15
+ { label: "Architecture", color: "from-teal-500 to-cyan-400", tags: ["Spec-Driven Dev", "Event-Driven", "Agent Skills Design"] },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  ];
17
 
18
  const projects = [
 
21
  subtitle: "Digital FTE · Hackathon",
22
  desc: "Autonomous AI employee with Gmail/WhatsApp automation, Obsidian memory system, and MCP tools — running 24/7 without human intervention.",
23
  tags: ["OpenAI SDK", "MCP", "Gmail API", "WhatsApp", "Python"],
24
+ icon: "🤖", accent: "from-amber-500 to-orange-500", live: null,
 
 
25
  },
26
  {
27
  title: "CRM Digital FTE",
28
  subtitle: "CRM Agent · Hugging Face",
29
+ desc: "Multi-channel customer support agent handling Gmail, WhatsApp, and Web forms with a PostgreSQL ticket system and FastAPI backend.",
30
  tags: ["FastAPI", "PostgreSQL", "LangChain", "Twilio", "Python"],
31
+ icon: "🎯", accent: "from-blue-500 to-cyan-500",
32
+ live: "https://naveedtechlab-crm-digital-fte.hf.space",
 
33
  },
34
  {
35
  title: "Course Companion FTE",
36
  subtitle: "AI Tutor · Hugging Face",
37
  desc: "AI-powered tutoring assistant with deterministic backend logic, skills-based agent architecture, and an interactive learning interface.",
38
  tags: ["Python", "OpenAI API", "FastAPI", "Streamlit"],
39
+ icon: "📚", accent: "from-violet-500 to-purple-500",
40
+ live: "https://naveedtechlab-course-companion-fte.hf.space",
 
41
  },
42
  {
43
  title: "Todo App Phase 5",
44
  subtitle: "Full Stack · Hugging Face",
45
+ desc: "Spec-driven todo app evolved from console to full-stack with AI chatbot, cloud-native deployment, and OpenAI Agents SDK integration.",
46
  tags: ["Next.js", "FastAPI", "OpenAI SDK", "Docker"],
47
+ icon: "✅", accent: "from-green-500 to-emerald-500",
48
+ live: "https://naveedtechlab-todo-app-phase5.hf.space",
 
49
  },
50
  {
51
  title: "LearnFlow",
52
  subtitle: "Learning Platform · Hugging Face",
53
+ desc: "Interactive AI-assisted learning flow platform with structured modules and an intuitive UI for seamless education experiences.",
54
  tags: ["Python", "AI", "Streamlit", "OpenAI API"],
55
+ icon: "🎓", accent: "from-sky-500 to-blue-500",
56
+ live: "https://naveedtechlab-learnflow.hf.space",
 
57
  },
58
  {
59
  title: "AI Native Textbook",
60
  subtitle: "EdTech · Vercel",
61
+ desc: "AI-native digital textbook delivering interactive, intelligent content — blending traditional learning with generative AI capabilities.",
62
  tags: ["Next.js", "OpenAI API", "Vercel", "TypeScript"],
63
+ icon: "📖", accent: "from-indigo-500 to-violet-500",
 
64
  live: "https://ai-native-textbook1.vercel.app/",
65
  },
66
  {
67
  title: "E-Commerce Store",
68
  subtitle: "Freelance · Vercel",
69
+ desc: "Modern full-featured e-commerce web app with product listings, cart functionality, and a clean responsive UI — deployed on Vercel.",
70
  tags: ["Next.js", "React", "Tailwind CSS", "Vercel"],
71
+ icon: "🛍️", accent: "from-rose-500 to-pink-500",
 
72
  live: "https://e-comm-naveed.vercel.app/",
73
  },
74
  {
75
  title: "Library Manager",
76
  subtitle: "Utility App · Streamlit",
77
+ desc: "Smart library management system to add, search, and manage books with an intuitive Streamlit interface and persistent data storage.",
78
  tags: ["Python", "Streamlit", "Pandas"],
79
+ icon: "📕", accent: "from-orange-500 to-amber-500",
 
80
  live: "https://naveed247365-library-manager-library-manager-iykdx8.streamlit.app/",
81
  },
82
  {
83
  title: "Number Guessing Game",
84
  subtitle: "Fun App · Streamlit",
85
+ desc: "Interactive browser-based number guessing game with difficulty levels and score tracking built with Python and Streamlit.",
86
  tags: ["Python", "Streamlit", "Game Logic"],
87
+ icon: "🎮", accent: "from-teal-500 to-cyan-500",
 
88
  live: "https://naveed247365-number-guessing-game-guessing-game-kfloll.streamlit.app/",
89
  },
90
  {
91
  title: "Password Strength Meter",
92
  subtitle: "Security Tool · Streamlit",
93
+ desc: "Real-time password strength analyzer with visual feedback, entropy scoring, and security suggestions.",
94
  tags: ["Python", "Streamlit", "Security", "GUI"],
95
+ icon: "🔐", accent: "from-red-500 to-rose-500",
 
96
  live: "https://password-strength-meter-with-a-gui.streamlit.app/",
97
  },
98
  {
99
  title: "Secure Data Vault",
100
  subtitle: "Encryption App · Streamlit",
101
+ desc: "End-to-end data encryption system to securely store and retrieve sensitive information using modern cryptographic algorithms.",
102
  tags: ["Python", "Cryptography", "Streamlit", "Security"],
103
+ icon: "🔒", accent: "from-slate-500 to-gray-600",
 
104
  live: "https://naveed247365-secure-data-encryption-system--secure-vault-sbgxir.streamlit.app/",
105
  },
106
  {
107
  title: "Unit Converter",
108
  subtitle: "Utility Tool · Streamlit",
109
+ desc: "Comprehensive unit conversion tool supporting length, weight, temperature, speed, and more — with a fast Streamlit interface.",
110
  tags: ["Python", "Streamlit", "Math"],
111
+ icon: "📐", accent: "from-lime-500 to-green-500",
 
112
  live: "https://naveed247365-unit-converter-unit-converter-cycms9.streamlit.app/",
113
  },
114
  {
115
  title: "Streamlit Web App",
116
  subtitle: "Web App · Streamlit",
117
+ desc: "Dynamic multi-feature web application showcasing Python-powered interactivity, data visualization, and UI components.",
118
  tags: ["Python", "Streamlit", "Data Viz"],
119
+ icon: "🌐", accent: "from-fuchsia-500 to-pink-500",
 
120
  live: "https://naveed247365-web-app-with-streamlit-app-hnkir1.streamlit.app/",
121
  },
122
  {
123
+ title: "Fiverr Freelance Work",
124
  subtitle: "Freelance · Client Projects",
125
+ desc: "Shopify stores, custom dashboards, CMS-based websites, and automation workflows for clients — from design to deployment.",
126
  tags: ["Shopify", "React", "Sanity CMS", "Node.js"],
127
+ icon: "💼", accent: "from-yellow-500 to-orange-400", live: null,
 
 
128
  },
129
  ];
130
 
131
  const navLinks = ["About", "Skills", "Projects", "Education", "Contact"];
132
 
133
+ /* ─── MAIN ─────────────────────────────────────────────────── */
134
 
135
  export default function Portfolio() {
136
+ const [active, setActive] = useState("About");
137
  const [menuOpen, setMenuOpen] = useState(false);
138
  const [scrolled, setScrolled] = useState(false);
139
+ const [dark, setDark] = useState(true);
140
+
141
+ /* persist theme */
142
+ useEffect(() => {
143
+ const saved = localStorage.getItem("theme");
144
+ if (saved) setDark(saved === "dark");
145
+ }, []);
146
+
147
+ useEffect(() => {
148
+ localStorage.setItem("theme", dark ? "dark" : "light");
149
+ }, [dark]);
150
 
151
  useEffect(() => {
152
+ const fn = () => setScrolled(window.scrollY > 60);
153
+ window.addEventListener("scroll", fn);
154
+ return () => window.removeEventListener("scroll", fn);
155
  }, []);
156
 
157
  const scrollTo = (id: string) => {
 
160
  setMenuOpen(false);
161
  };
162
 
163
+ /* ── theme tokens ── */
164
+ const bg = dark ? "bg-[#060d1f]" : "bg-slate-50";
165
+ const surface = dark ? "bg-[#0d1b38]" : "bg-white";
166
+ const card = dark ? "bg-white/5 border-white/8" : "bg-white border-slate-200";
167
+ const txt = dark ? "text-white" : "text-slate-900";
168
+ const muted = dark ? "text-slate-400" : "text-slate-500";
169
+ const navBg = scrolled
170
+ ? dark ? "bg-[#060d1f]/90 backdrop-blur-xl shadow-2xl shadow-black/40 border-b border-white/5"
171
+ : "bg-white/90 backdrop-blur-xl shadow-lg border-b border-slate-200"
172
+ : "bg-transparent";
173
+
174
  return (
175
+ <div className={`${bg} ${txt} min-h-screen overflow-x-hidden transition-colors duration-300`}>
176
 
177
  {/* ── NAVBAR ── */}
178
+ <nav className={`fixed top-0 left-0 right-0 z-50 transition-all duration-300 ${navBg}`}>
179
+ <div className="max-w-6xl mx-auto px-4 sm:px-6 py-3 sm:py-4 flex items-center justify-between gap-4">
180
+ <span className="text-amber-400 font-bold text-lg tracking-wider flex-shrink-0">MN<span className={txt}>.</span></span>
181
+
182
+ {/* Desktop nav */}
183
+ <ul className="hidden md:flex gap-6 lg:gap-8">
 
 
 
 
 
 
184
  {navLinks.map((l) => (
185
  <li key={l}>
186
+ <button onClick={() => scrollTo(l)}
 
187
  className={`text-sm font-medium tracking-wide transition-colors duration-200 ${
188
+ active === l ? "text-amber-400" : `${muted} hover:${txt}`}`}>
 
 
189
  {l}
190
  </button>
191
  </li>
192
  ))}
193
  </ul>
194
 
195
+ <div className="flex items-center gap-2 sm:gap-3">
196
+ {/* Theme toggle */}
197
+ <button
198
+ onClick={() => setDark(!dark)}
199
+ className={`w-9 h-9 rounded-full flex items-center justify-center transition-all duration-200 hover:scale-110 ${
200
+ dark ? "bg-white/10 hover:bg-white/20" : "bg-slate-100 hover:bg-slate-200"}`}
201
+ title="Toggle theme"
202
+ >
203
+ {dark ? "☀️" : "🌙"}
204
+ </button>
205
+
206
+ <a href="/Muhammad_Naveed_CV.pdf" download
207
+ className="hidden sm:inline-flex items-center gap-2 bg-amber-500 hover:bg-amber-400 text-black text-xs sm:text-sm font-bold px-3 sm:px-4 py-2 rounded-full transition-all duration-200 hover:scale-105 flex-shrink-0">
208
+ CV
209
+ </a>
210
+
211
+ {/* Mobile hamburger */}
212
+ <button className={`md:hidden text-xl ${txt}`} onClick={() => setMenuOpen(!menuOpen)}>
213
+ {menuOpen ? "✕" : "☰"}
214
+ </button>
215
+ </div>
216
  </div>
217
 
218
+ {/* Mobile menu */}
219
  {menuOpen && (
220
+ <div className={`md:hidden border-t px-6 py-4 flex flex-col gap-4 ${
221
+ dark ? "bg-[#0d1b38] border-white/10" : "bg-white border-slate-200"}`}>
222
  {navLinks.map((l) => (
223
+ <button key={l} onClick={() => scrollTo(l)}
224
+ className={`text-left text-sm font-medium transition-colors ${muted} hover:text-amber-400`}>
 
 
 
225
  {l}
226
  </button>
227
  ))}
228
+ <a href="/Muhammad_Naveed_CV.pdf" download
229
+ className="bg-amber-500 text-black text-sm font-bold px-4 py-2 rounded-full text-center">
 
 
 
230
  ↓ Download CV
231
  </a>
232
  </div>
233
  )}
234
  </nav>
235
 
236
+ {/* ══════════════════════════════════
237
+ HERO
238
+ ══════════════════════════════════ */}
239
+ <section id="about" className="min-h-screen flex items-center justify-center relative pt-20 pb-12 px-4 sm:px-6 overflow-hidden">
240
+ {/* blobs */}
241
+ <div className="absolute top-20 left-0 sm:left-10 w-48 sm:w-72 h-48 sm:h-72 bg-blue-600/20 rounded-full blur-3xl pointer-events-none" />
242
+ <div className="absolute bottom-10 right-0 sm:right-10 w-64 sm:w-96 h-64 sm:h-96 bg-amber-500/10 rounded-full blur-3xl pointer-events-none" />
243
+
244
+ <div className="max-w-6xl mx-auto w-full grid md:grid-cols-2 gap-8 sm:gap-12 items-center">
245
+
 
 
 
246
  {/* Text */}
247
+ <div className="animate-fade-left order-2 md:order-1 text-center md:text-left">
248
+ <span className="inline-block bg-amber-500/15 border border-amber-500/30 text-amber-400 text-xs font-bold tracking-widest uppercase px-4 py-1.5 rounded-full mb-5">
249
  Available for Work
250
  </span>
251
 
252
+ <h1 className="text-3xl sm:text-4xl lg:text-5xl xl:text-6xl font-extrabold leading-tight mb-4">
253
  Hi, I&apos;m{" "}
254
  <span className="bg-gradient-to-r from-amber-400 via-orange-400 to-amber-300 bg-clip-text text-transparent animate-gradient">
255
  Muhammad
 
260
  </span>
261
  </h1>
262
 
263
+ <p className={`${muted} text-sm sm:text-base lg:text-lg leading-relaxed mb-7 max-w-lg mx-auto md:mx-0`}>
264
+ <span className={`${txt} font-semibold`}>AI Automation Engineer</span> &amp;{" "}
265
+ <span className={`${txt} font-semibold`}>Full Stack Developer</span> building autonomous{" "}
266
+ <span className="text-amber-400 font-semibold">Digital FTE</span> systems and cloud-native apps — from Karachi, Pakistan.
 
267
  </p>
268
 
269
+ <div className="flex flex-wrap gap-3 mb-8 justify-center md:justify-start">
270
+ <button onClick={() => scrollTo("Projects")}
271
+ className="bg-gradient-to-r from-amber-500 to-orange-500 hover:from-amber-400 hover:to-orange-400 text-black font-bold px-5 sm:px-6 py-2.5 sm:py-3 rounded-full transition-all duration-200 hover:scale-105 shadow-lg shadow-amber-500/25 text-sm sm:text-base">
 
 
272
  View Projects →
273
  </button>
274
+ <button onClick={() => scrollTo("Contact")}
275
+ className={`border font-semibold px-5 sm:px-6 py-2.5 sm:py-3 rounded-full transition-all duration-200 hover:scale-105 text-sm sm:text-base ${
276
+ dark ? "border-white/20 hover:border-amber-400/50 text-white" : "border-slate-300 hover:border-amber-400 text-slate-700"}`}>
 
277
  Contact Me
278
  </button>
279
  </div>
280
 
281
+ {/* Socials */}
282
+ <div className="flex gap-2 flex-wrap justify-center md:justify-start">
283
  {[
284
+ { label: "GitHub", href: "https://github.com/naveedtechlab", icon: "⌨️" },
285
+ { label: "LinkedIn", href: "https://linkedin.com/in/naveedtechlab", icon: "💼" },
286
+ { label: "YouTube", href: "https://youtube.com/@naveedtechlab", icon: "▶️" },
287
+ { label: "Instagram", href: "https://instagram.com/naveedtechlab", icon: "📸" },
288
+ { label: "X", href: "https://x.com/naveedtechlab", icon: "𝕏" },
289
+ { label: "Facebook", href: "https://facebook.com/naveedtechlab", icon: "📘" },
290
  ].map((s) => (
291
+ <a key={s.label} href={s.href} target="_blank" rel="noopener noreferrer"
292
+ className={`border text-xs font-medium px-3 py-1.5 rounded-full transition-all duration-200 flex items-center gap-1.5 hover:text-amber-400 hover:border-amber-400/40 ${
293
+ dark ? "border-white/10 text-slate-300" : "border-slate-200 text-slate-600"}`}>
294
+ <span>{s.icon}</span>{s.label}
 
 
 
 
 
295
  </a>
296
  ))}
297
  </div>
298
  </div>
299
 
300
  {/* Photo */}
301
+ <div className="flex justify-center animate-fade-right order-1 md:order-2">
302
  <div className="relative">
303
+ <div className="absolute -inset-3 sm:-inset-4 rounded-full border-2 border-dashed border-amber-400/30 animate-spin-slow" />
304
  <div className="absolute inset-0 rounded-full bg-gradient-to-br from-amber-400/20 to-blue-600/20 blur-2xl animate-pulse" />
305
+ <div className="relative w-52 h-52 sm:w-64 sm:h-64 md:w-72 md:h-72 lg:w-80 lg:h-80 rounded-full overflow-hidden border-4 border-amber-400 animate-pulse-ring animate-float shadow-2xl shadow-amber-500/20">
306
+ <Image src="/profile.jpg" alt="Muhammad Naveed" fill className="object-cover object-top" priority />
 
 
 
 
 
 
307
  </div>
308
+ <div className={`absolute -top-1 -right-3 sm:-top-2 sm:-right-4 border rounded-2xl px-2.5 py-1.5 text-xs font-bold text-amber-400 shadow-xl animate-fade-up delay-300 ${
309
+ dark ? "bg-white/5 backdrop-blur-lg border-white/10" : "bg-white border-slate-200"}`}>
310
  🤖 AI Engineer
311
  </div>
312
+ <div className={`absolute -bottom-1 -left-3 sm:-bottom-2 sm:-left-4 border rounded-2xl px-2.5 py-1.5 text-xs font-bold text-cyan-400 shadow-xl animate-fade-up delay-500 ${
313
+ dark ? "bg-white/5 backdrop-blur-lg border-white/10" : "bg-white border-slate-200"}`}>
314
  ⚡ 5+ AI Systems
315
  </div>
316
  </div>
317
  </div>
318
  </div>
319
 
320
+ <div className="absolute bottom-6 left-1/2 -translate-x-1/2 flex flex-col items-center gap-2 opacity-30">
321
  <span className="text-xs text-slate-400 tracking-widest uppercase">Scroll</span>
322
+ <div className="w-px h-6 sm:h-8 bg-gradient-to-b from-slate-400 to-transparent" />
323
  </div>
324
  </section>
325
 
326
+ {/* ══════════════════════════════════
327
  SKILLS
328
+ ══════════════════════════════════ */}
329
+ <section id="skills" className="py-16 sm:py-24 px-4 sm:px-6 relative">
330
+ {dark && <div className="absolute inset-0 bg-gradient-to-b from-transparent via-blue-950/20 to-transparent pointer-events-none" />}
331
  <div className="max-w-6xl mx-auto">
332
+ <SectionHeader eyebrow="What I work with" title="Technical Skills"
333
+ sub="Full-spectrum expertise from frontend to AI agent orchestration" dark={dark} />
334
+ <div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4 sm:gap-5">
 
 
 
335
  {skills.map((s, i) => (
336
+ <div key={s.label}
337
+ className={`border rounded-2xl p-4 sm:p-5 card-hover animate-fade-up ${card}`}
338
+ style={{ animationDelay: `${i * 0.08}s` }}>
339
+ <div className={`inline-block bg-gradient-to-r ${s.color} text-transparent bg-clip-text font-bold text-xs sm:text-sm tracking-wider uppercase mb-3`}>
 
 
340
  {s.label}
341
  </div>
342
+ <div className="flex flex-wrap gap-1.5 sm:gap-2">
343
  {s.tags.map((t) => (
344
+ <span key={t}
345
+ className={`text-xs px-2.5 sm:px-3 py-1 rounded-full border transition-colors duration-200 cursor-default hover:text-amber-400 hover:border-amber-400/40 ${
346
+ dark ? "bg-white/5 border-white/10 text-slate-300" : "bg-slate-50 border-slate-200 text-slate-600"}`}>
 
347
  {t}
348
  </span>
349
  ))}
 
354
  </div>
355
  </section>
356
 
357
+ {/* ══════════════════════════════════
358
  PROJECTS
359
+ ══════════════════════════════════ */}
360
+ <section id="projects" className="py-16 sm:py-24 px-4 sm:px-6 relative">
361
+ {dark && <>
362
+ <div className="absolute top-0 left-0 w-72 sm:w-96 h-72 sm:h-96 bg-violet-600/10 rounded-full blur-3xl pointer-events-none" />
363
+ <div className="absolute bottom-0 right-0 w-72 sm:w-96 h-72 sm:h-96 bg-amber-500/8 rounded-full blur-3xl pointer-events-none" />
364
+ </>}
365
  <div className="max-w-6xl mx-auto">
366
+ <SectionHeader eyebrow="What I've built" title="Projects & Experience"
367
+ sub="Production-grade AI systems, hackathon wins, live apps & client projects" dark={dark} />
368
+ <div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 sm:gap-6">
 
 
 
369
  {projects.map((p, i) => (
370
+ <div key={p.title}
371
+ className={`border rounded-2xl p-4 sm:p-6 card-hover flex flex-col gap-3 sm:gap-4 animate-fade-up ${card}`}
372
+ style={{ animationDelay: `${i * 0.05}s` }}>
373
+ <div className="flex items-start justify-between gap-2">
374
+ <div className={`w-10 h-10 sm:w-12 sm:h-12 bg-gradient-to-br ${p.accent} rounded-xl flex items-center justify-center text-xl sm:text-2xl shadow-lg flex-shrink-0`}>
 
 
375
  {p.icon}
376
  </div>
377
+ <span className={`text-xs font-medium px-2.5 py-1 rounded-full text-right ${
378
+ dark ? "text-slate-500 bg-white/5" : "text-slate-400 bg-slate-100"}`}>
379
  {p.subtitle}
380
  </span>
381
  </div>
382
 
383
  <div className="flex-1">
384
+ <h3 className={`font-bold text-sm sm:text-base mb-1.5 sm:mb-2 ${txt}`}>{p.title}</h3>
385
+ <p className={`text-xs sm:text-sm leading-relaxed ${muted}`}>{p.desc}</p>
386
  </div>
387
 
388
+ <div className={`flex flex-wrap gap-1.5 sm:gap-2 pt-2 border-t ${dark ? "border-white/5" : "border-slate-100"}`}>
389
  {p.tags.map((t) => (
390
+ <span key={t}
391
+ className={`text-xs px-2 sm:px-2.5 py-0.5 sm:py-1 rounded-full bg-gradient-to-r ${p.accent} text-white border border-white/10 opacity-80`}>
 
 
392
  {t}
393
  </span>
394
  ))}
395
  </div>
396
 
397
  {"live" in p && p.live && (
398
+ <a href={p.live} target="_blank" rel="noopener noreferrer"
399
+ className={`flex items-center justify-center gap-2 bg-gradient-to-r ${p.accent} text-white text-xs font-bold py-2 px-4 rounded-xl hover:opacity-90 transition-all duration-200 hover:scale-105 shadow-md`}>
 
 
 
 
400
  🚀 Live Demo
401
  </a>
402
  )}
 
406
  </div>
407
  </section>
408
 
409
+ {/* ══════════════════════════════════
410
  EDUCATION
411
+ ══════════════════════════════════ */}
412
+ <section id="education" className="py-16 sm:py-24 px-4 sm:px-6">
413
  <div className="max-w-6xl mx-auto">
414
+ <SectionHeader eyebrow="My background" title="Education"
415
+ sub="Continuous learning in cutting-edge technologies" dark={dark} />
416
+ <div className="max-w-3xl mx-auto flex flex-col gap-4 sm:gap-5">
 
 
 
417
  {[
418
  {
419
+ icon: "🎓", degree: "Governor House Initiative", field: "GenAI, Web3 & Metaverse",
420
+ year: "2023 Present", accent: "from-amber-500 to-orange-500",
 
 
421
  desc: "Intensive government-backed program covering Generative AI, Web3 technologies, Metaverse development, and modern engineering practices.",
 
422
  },
423
  {
424
+ icon: "📚", degree: "Crescent Grammar School", field: "Matriculation",
425
+ year: "Completed", accent: "from-blue-500 to-cyan-500",
 
 
426
  desc: "Foundation education building analytical thinking and problem-solving skills.",
 
427
  },
428
  ].map((e, i) => (
429
+ <div key={e.degree}
430
+ className={`border rounded-2xl p-4 sm:p-6 card-hover flex gap-4 sm:gap-5 animate-fade-up ${card}`}
431
+ style={{ animationDelay: `${i * 0.15}s` }}>
432
+ <div className={`w-12 h-12 sm:w-14 sm:h-14 bg-gradient-to-br ${e.accent} rounded-xl flex items-center justify-center text-xl sm:text-2xl flex-shrink-0 shadow-lg`}>
 
 
433
  {e.icon}
434
  </div>
435
+ <div className="flex-1 min-w-0">
436
  <div className="flex items-start justify-between flex-wrap gap-2 mb-1">
437
+ <h3 className={`font-bold text-sm sm:text-base ${txt}`}>{e.degree}</h3>
438
+ <span className="text-xs text-amber-400 font-semibold bg-amber-500/10 border border-amber-500/20 px-2.5 py-0.5 rounded-full flex-shrink-0">
439
  {e.year}
440
  </span>
441
  </div>
442
+ <p className={`text-xs sm:text-sm font-semibold bg-gradient-to-r ${e.accent} bg-clip-text text-transparent mb-1.5`}>{e.field}</p>
443
+ <p className={`text-xs sm:text-sm leading-relaxed ${muted}`}>{e.desc}</p>
 
 
444
  </div>
445
  </div>
446
  ))}
 
448
  </div>
449
  </section>
450
 
451
+ {/* ══════════════════════════════════
452
  CONTACT
453
+ ══════════════════════════════════ */}
454
+ <section id="contact" className="py-16 sm:py-24 px-4 sm:px-6 relative">
455
+ {dark && <div className="absolute inset-0 bg-gradient-to-t from-blue-950/30 to-transparent pointer-events-none" />}
456
  <div className="max-w-6xl mx-auto">
457
+ <SectionHeader eyebrow="Let's connect" title="Get In Touch"
458
+ sub="Open to collaborations, freelance projects, and full-time opportunities" dark={dark} />
 
 
 
459
  <div className="max-w-2xl mx-auto">
460
+ <div className={`border rounded-3xl p-6 sm:p-8 md:p-12 text-center animate-fade-up ${card}`}>
461
+ <p className={`text-sm sm:text-base leading-relaxed mb-8 sm:mb-10 max-w-lg mx-auto ${muted}`}>
462
+ Whether you need an <span className="text-amber-400 font-semibold">AI automation system</span>,
 
463
  a full-stack web app, or a custom agent — I&apos;m ready to build it.
 
464
  </p>
465
 
466
+ <div className="grid grid-cols-2 sm:grid-cols-4 gap-3 sm:gap-4 mb-8 sm:mb-10">
467
  {[
468
  { icon: "✉️", label: "Email", value: "qureshinaveed21@hotmail.com", href: "mailto:qureshinaveed21@hotmail.com" },
469
  { icon: "⌨️", label: "GitHub", value: "naveedtechlab", href: "https://github.com/naveedtechlab" },
 
474
  { icon: "📘", label: "Facebook", value: "naveedtechlab", href: "https://facebook.com/naveedtechlab" },
475
  { icon: "📍", label: "Location", value: "Karachi, Pakistan", href: "#" },
476
  ].map((c) => (
477
+ <a key={c.label} href={c.href} target="_blank" rel="noopener noreferrer"
478
+ className={`border rounded-2xl p-3 sm:p-4 flex flex-col items-center gap-1.5 sm:gap-2 transition-all duration-200 hover:scale-105 group hover:border-amber-400/40 ${
479
+ dark ? "border-white/10 hover:bg-white/5" : "border-slate-200 hover:bg-amber-50"}`}>
480
+ <span className="text-xl sm:text-2xl">{c.icon}</span>
481
+ <span className={`text-xs uppercase tracking-widest ${muted}`}>{c.label}</span>
482
+ <span className={`text-xs font-medium group-hover:text-amber-400 transition-colors text-center break-all leading-tight ${txt}`}>
 
 
 
 
483
  {c.value}
484
  </span>
485
  </a>
486
  ))}
487
  </div>
488
 
489
+ <a href="mailto:qureshinaveed21@hotmail.com"
490
+ className="inline-flex items-center gap-2 sm:gap-3 bg-gradient-to-r from-amber-500 to-orange-500 hover:from-amber-400 hover:to-orange-400 text-black font-bold px-6 sm:px-8 py-3 sm:py-4 rounded-full transition-all duration-200 hover:scale-105 shadow-xl shadow-amber-500/25 text-sm sm:text-base">
 
 
491
  ✉️ Send Me an Email
492
  </a>
493
  </div>
 
495
  </div>
496
  </section>
497
 
498
+ {/* FOOTER */}
499
+ <footer className={`border-t py-6 sm:py-8 px-4 sm:px-6 text-center ${dark ? "border-white/5" : "border-slate-200"}`}>
500
+ <p className={`text-xs sm:text-sm ${muted}`}>
501
+ © 2026 <span className="text-amber-400 font-semibold">Muhammad Naveed</span> · Built with Next.js & Tailwind CSS
 
 
502
  </p>
503
  </footer>
504
+ </div>
505
  );
506
  }
507
 
508
  /* ─── SECTION HEADER ────────────────────────────────────────── */
509
+ function SectionHeader({ eyebrow, title, sub, dark }: {
510
+ eyebrow: string; title: string; sub: string; dark: boolean;
511
+ }) {
512
  return (
513
+ <div className="text-center mb-10 sm:mb-14 animate-fade-up">
514
+ <span className="inline-block text-amber-400 text-xs font-bold tracking-widest uppercase bg-amber-500/10 border border-amber-500/20 px-4 py-1.5 rounded-full mb-3 sm:mb-4">
515
+ {eyebrow}
516
+ </span>
517
+ <h2 className={`text-2xl sm:text-3xl md:text-4xl font-extrabold mb-2 sm:mb-3 ${dark ? "text-white" : "text-slate-900"}`}>
518
+ {title}
519
+ </h2>
520
+ <p className={`text-sm sm:text-base max-w-xl mx-auto ${dark ? "text-slate-400" : "text-slate-500"}`}>{sub}</p>
521
  </div>
522
  );
523
  }