Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Rupinder Kaur | Web Developer Portfolio</title> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> | |
| <style> | |
| @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap'); | |
| :root { | |
| --primary: #3b82f6; | |
| --secondary: #10b981; | |
| --accent: #8b5cf6; | |
| --dark: #1e293b; | |
| --light: #f8fafc; | |
| } | |
| body { | |
| font-family: 'Poppins', sans-serif; | |
| background-color: var(--light); | |
| color: var(--dark); | |
| scroll-behavior: smooth; | |
| } | |
| .gradient-text { | |
| background: linear-gradient(90deg, var(--primary), var(--accent)); | |
| -webkit-background-clip: text; | |
| background-clip: text; | |
| color: transparent; | |
| } | |
| .gradient-bg { | |
| background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%); | |
| } | |
| .secondary-bg { | |
| background: linear-gradient(135deg, var(--secondary) 0%, var(--primary) 100%); | |
| } | |
| .glass-card { | |
| background: rgba(255, 255, 255, 0.8); | |
| backdrop-filter: blur(10px); | |
| border: 1px solid rgba(255, 255, 255, 0.2); | |
| } | |
| .project-card, .skill-card { | |
| transition: all 0.3s ease; | |
| transform-style: preserve-3d; | |
| opacity: 0; | |
| transform: translateY(20px); | |
| } | |
| .project-card.visible, .skill-card.visible { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| .project-card:hover { | |
| transform: translateY(-10px) scale(1.02) ; | |
| box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); | |
| } | |
| .skill-pill { | |
| transition: all 0.3s ease; | |
| } | |
| .skill-pill:hover { | |
| transform: scale(1.05); | |
| box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); | |
| } | |
| .nav-link { | |
| position: relative; | |
| } | |
| .nav-link::after { | |
| content: ''; | |
| position: absolute; | |
| width: 0; | |
| height: 2px; | |
| bottom: -2px; | |
| left: 0; | |
| background: linear-gradient(90deg, var(--primary), var(--accent)); | |
| transition: width 0.3s ease; | |
| } | |
| .nav-link:hover::after { | |
| width: 100%; | |
| } | |
| .hero-image { | |
| animation: float 6s ease-in-out infinite; | |
| } | |
| @keyframes float { | |
| 0% { transform: translateY(0px); } | |
| 50% { transform: translateY(-20px); } | |
| 100% { transform: translateY(0px); } | |
| } | |
| .section-title { | |
| position: relative; | |
| display: inline-block; | |
| } | |
| .section-title::after { | |
| content: ''; | |
| position: absolute; | |
| width: 60%; | |
| height: 4px; | |
| bottom: -8px; | |
| left: 0; | |
| background: linear-gradient(90deg, var(--primary), var(--accent)); | |
| border-radius: 2px; | |
| } | |
| .project-tag { | |
| font-size: 0.75rem; | |
| padding: 0.25rem 0.5rem; | |
| border-radius: 0.25rem; | |
| font-weight: 600; | |
| } | |
| .mobile-menu { | |
| transform: translateX(100%); | |
| transition: transform 0.3s ease; | |
| } | |
| .mobile-menu.open { | |
| transform: translateX(0); | |
| } | |
| /* New animations */ | |
| @keyframes pulse { | |
| 0% { transform: scale(1); } | |
| 50% { transform: scale(1.05); } | |
| 100% { transform: scale(1); } | |
| } | |
| .pulse { | |
| animation: pulse 2s infinite; | |
| } | |
| @keyframes slideInLeft { | |
| from { transform: translateX(-50px); opacity: 0; } | |
| to { transform: translateX(0); opacity: 1; } | |
| } | |
| .slide-in-left { | |
| animation: slideInLeft 0.8s ease-out forwards; | |
| } | |
| @keyframes slideInRight { | |
| from { transform: translateX(50px); opacity: 0; } | |
| to { transform: translateX(0); opacity: 1; } | |
| } | |
| .slide-in-right { | |
| animation: slideInRight 0.8s ease-out forwards; | |
| } | |
| .skill-icon { | |
| transition: all 0.3s ease; | |
| } | |
| .skill-icon:hover { | |
| transform: rotate(15deg) scale(1.2); | |
| } | |
| .tech-stack-item { | |
| transition: all 0.3s ease; | |
| } | |
| .tech-stack-item:hover { | |
| transform: translateY(-5px); | |
| box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); | |
| } | |
| .progress-bar { | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .progress-bar::after { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| height: 100%; | |
| width: 0; | |
| background: linear-gradient(90deg, var(--primary), var(--accent)); | |
| animation: progressFill 1.5s ease-out forwards; | |
| } | |
| @keyframes progressFill { | |
| from { width: 0; } | |
| to { width: var(--progress-width); } | |
| } | |
| </style> | |
| </head> | |
| <body class="antialiased"> | |
| <!-- Navigation --> | |
| <nav class="fixed w-full z-50 glass-card py-4 px-6 md:px-12"> | |
| <div class="container mx-auto flex justify-between items-center"> | |
| <a href="#" class="text-2xl font-bold gradient-text">Rupinder.</a> | |
| <div class="hidden md:flex space-x-8"> | |
| <a href="#home" class="nav-link font-medium">Home</a> | |
| <a href="#about" class="nav-link font-medium">About</a> | |
| <a href="#skills" class="nav-link font-medium">Skills</a> | |
| <a href="#projects" class="nav-link font-medium">Projects</a> | |
| <a href="#contact" class="nav-link font-medium">Contact</a> | |
| </div> | |
| <button id="menu-toggle" class="md:hidden text-xl"> | |
| <i class="fas fa-bars"></i> | |
| </button> | |
| </div> | |
| </nav> | |
| <!-- Mobile Menu --> | |
| <div id="mobile-menu" class="mobile-menu fixed inset-0 bg-white z-40 pt-20 px-6 md:hidden"> | |
| <div class="flex flex-col space-y-6"> | |
| <a href="#home" class="text-xl font-medium py-2 border-b border-gray-100">Home</a> | |
| <a href="#about" class="text-xl font-medium py-2 border-b border-gray-100">About</a> | |
| <a href="#skills" class="text-xl font-medium py-2 border-b border-gray-100">Skills</a> | |
| <a href="#projects" class="text-xl font-medium py-2 border-b border-gray-100">Projects</a> | |
| <a href="#contact" class="text-xl font-medium py-2 border-b border-gray-100">Contact</a> | |
| </div> | |
| <button id="menu-close" class="absolute top-6 right-6 text-2xl"> | |
| <i class="fas fa-times"></i> | |
| </button> | |
| </div> | |
| <!-- Hero Section --> | |
| <section id="home" class="min-h-screen flex items-center pt-20 pb-16 px-6 md:px-12"> | |
| <div class="container mx-auto grid md:grid-cols-2 gap-12 items-center"> | |
| <div class="order-2 md:order-1 slide-in-left"> | |
| <h1 class="text-4xl md:text-6xl font-bold mb-4">Hi, I'm <span class="gradient-text">Rupinder Kaur</span></h1> | |
| <h2 class="text-2xl md:text-3xl font-semibold mb-6 text-slate-600">Frontend Developer</h2> | |
| <p class="text-lg text-slate-500 mb-8 max-w-lg"> | |
| I build exceptional digital experiences with modern web technologies. | |
| Passionate about creating intuitive, responsive, and visually appealing interfaces. | |
| </p> | |
| <div class="flex flex-wrap gap-4"> | |
| <a href="#contact" class="gradient-bg text-white px-6 py-3 rounded-lg font-medium hover:shadow-lg transition pulse"> | |
| Get In Touch | |
| </a> | |
| <a href="#projects" class="border border-slate-300 px-6 py-3 rounded-lg font-medium hover:bg-slate-50 transition"> | |
| View My Work | |
| </a> | |
| </div> | |
| <div class="mt-8 flex space-x-4"> | |
| <a href="#" class="text-xl text-slate-600 hover:text-indigo-500 transition"> | |
| <i class="fab fa-linkedin"></i> | |
| </a> | |
| <a href="#" class="text-xl text-slate-600 hover:text-indigo-500 transition"> | |
| <i class="fab fa-github"></i> | |
| </a> | |
| <a href="#" class="text-xl text-slate-600 hover:text-indigo-500 transition"> | |
| <i class="fab fa-twitter"></i> | |
| </a> | |
| </div> | |
| </div> | |
| <div class="order-1 md:order-2 flex justify-center slide-in-right"> | |
| <div class="hero-image relative w-64 h-64 md:w-80 md:h-80 rounded-full gradient-bg flex items-center justify-center"> | |
| <div class="absolute inset-0 rounded-full bg-white/10 backdrop-blur-sm"></div> | |
| <i class="fas fa-laptop-code text-6xl md:text-8xl text-white opacity-90"></i> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- About Section --> | |
| <section id="about" class="py-16 px-6 md:px-12 bg-white"> | |
| <div class="container mx-auto"> | |
| <h2 class="text-3xl md:text-4xl font-bold mb-12 section-title">About Me</h2> | |
| <div class="grid md:grid-cols-2 gap-12 items-center"> | |
| <div> | |
| <p class="text-lg text-slate-600 mb-6"> | |
| I'm a passionate web developer with expertise in modern frontend technologies. | |
| With a strong foundation in computer science and years of hands-on experience, | |
| I create digital solutions that are both beautiful and functional. | |
| </p> | |
| <p class="text-lg text-slate-600 mb-6"> | |
| My journey in web development started during my master's program, and since then | |
| I've been constantly learning and adapting to new technologies to build better | |
| user experiences. | |
| </p> | |
| <div class="grid grid-cols-2 gap-4"> | |
| <div class="bg-slate-50 p-4 rounded-lg"> | |
| <h3 class="font-bold text-indigo-600 mb-2">Education</h3> | |
| <p class="text-sm text-slate-600">Master in IT</p> | |
| <p class="text-xs text-slate-500">Guru Nanak Dev University</p> | |
| </div> | |
| <div class="bg-slate-50 p-4 rounded-lg"> | |
| <h3 class="font-bold text-indigo-600 mb-2">Experience</h3> | |
| <p class="text-sm text-slate-600">Frontend Developer</p> | |
| <p class="text-xs text-slate-500">Since 2015</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="bg-slate-50 rounded-xl p-8"> | |
| <h3 class="text-xl font-bold mb-6 text-center">My Tech Stack</h3> | |
| <div class="grid grid-cols-3 gap-4"> | |
| <div class="flex flex-col items-center tech-stack-item"> | |
| <div class="w-16 h-16 bg-white rounded-full shadow-md flex items-center justify-center mb-2 skill-icon"> | |
| <i class="fab fa-html5 text-3xl text-orange-500"></i> | |
| </div> | |
| <span class="text-sm font-medium">HTML5</span> | |
| </div> | |
| <div class="flex flex-col items-center tech-stack-item"> | |
| <div class="w-16 h-16 bg-white rounded-full shadow-md flex items-center justify-center mb-2 skill-icon"> | |
| <i class="fab fa-css3-alt text-3xl text-blue-500"></i> | |
| </div> | |
| <span class="text-sm font-medium">CSS3</span> | |
| </div> | |
| <div class="flex flex-col items-center tech-stack-item"> | |
| <div class="w-16 h-16 bg-white rounded-full shadow-md flex items-center justify-center mb-2 skill-icon"> | |
| <i class="fab fa-js text-3xl text-yellow-500"></i> | |
| </div> | |
| <span class="text-sm font-medium">JavaScript</span> | |
| </div> | |
| <div class="flex flex-col items-center tech-stack-item"> | |
| <div class="w-16 h-16 bg-white rounded-full shadow-md flex items-center justify-center mb-2 skill-icon"> | |
| <i class="fab fa-react text-3xl text-blue-400"></i> | |
| </div> | |
| <span class="text-sm font-medium">React</span> | |
| </div> | |
| <div class="flex flex-col items-center tech-stack-item"> | |
| <div class="w-16 h-16 bg-white rounded-full shadow-md flex items-center justify-center mb-2 skill-icon"> | |
| <i class="fab fa-git-alt text-3xl text-red-500"></i> | |
| </div> | |
| <span class="text-sm font-medium">Git</span> | |
| </div> | |
| <div class="flex flex-col items-center tech-stack-item"> | |
| <div class="w-16 h-16 bg-white rounded-full shadow-md flex items-center justify-center mb-2 skill-icon"> | |
| <i class="fas fa-code text-3xl text-purple-500"></i> | |
| </div> | |
| <span class="text-sm font-medium">VS Code</span> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Skills Section --> | |
| <section id="skills" class="py-16 px-6 md:px-12 bg-slate-50"> | |
| <div class="container mx-auto"> | |
| <h2 class="text-3xl md:text-4xl font-bold mb-12 section-title">My Skills</h2> | |
| <div class="grid md:grid-cols-2 gap-8"> | |
| <!-- Technical Skills --> | |
| <div class="bg-white p-8 rounded-xl shadow-sm skill-card"> | |
| <h3 class="text-xl font-bold mb-6 flex items-center"> | |
| <i class="fas fa-code text-indigo-500 mr-3"></i> | |
| <span>Technical Skills</span> | |
| </h3> | |
| <!-- Languages & Technologies --> | |
| <div class="mb-8"> | |
| <h4 class="font-semibold mb-4 text-slate-700 flex items-center"> | |
| <i class="fas fa-laptop-code text-sm text-emerald-500 mr-2"></i> | |
| Languages & Technologies | |
| </h4> | |
| <div class="flex flex-wrap gap-2"> | |
| <span class="skill-pill bg-emerald-100 text-emerald-800 px-4 py-2 rounded-full">HTML5</span> | |
| <span class="skill-pill bg-emerald-100 text-emerald-800 px-4 py-2 rounded-full">CSS3</span> | |
| <span class="skill-pill bg-emerald-100 text-emerald-800 px-4 py-2 rounded-full">JavaScript</span> | |
| <span class="skill-pill bg-emerald-100 text-emerald-800 px-4 py-2 rounded-full">React.js</span> | |
| </div> | |
| </div> | |
| <!-- Frameworks & Libraries --> | |
| <div class="mb-8"> | |
| <h4 class="font-semibold mb-4 text-slate-700 flex items-center"> | |
| <i class="fas fa-cubes text-sm text-blue-500 mr-2"></i> | |
| Frameworks & Libraries | |
| </h4> | |
| <div class="flex flex-wrap gap-2"> | |
| <span class="skill-pill bg-blue-100 text-blue-800 px-4 py-2 rounded-full">React Router</span> | |
| <span class="skill-pill bg-blue-100 text-blue-800 px-4 py-2 rounded-full">Redux</span> | |
| <span class="skill-pill bg-blue-100 text-blue-800 px-4 py-2 rounded-full">Tailwind CSS</span> | |
| </div> | |
| </div> | |
| <!-- Tools --> | |
| <div class="mb-8"> | |
| <h4 class="font-semibold mb-4 text-slate-700 flex items-center"> | |
| <i class="fas fa-tools text-sm text-purple-500 mr-2"></i> | |
| Tools | |
| </h4> | |
| <div class="flex flex-wrap gap-2"> | |
| <span class="skill-pill bg-purple-100 text-purple-800 px-4 py-2 rounded-full">Git</span> | |
| <span class="skill-pill bg-purple-100 text-purple-800 px-4 py-2 rounded-full">npm</span> | |
| <span class="skill-pill bg-purple-100 text-purple-800 px-4 py-2 rounded-full">VS Code</span> | |
| </div> | |
| </div> | |
| <!-- Version Control --> | |
| <div class="mb-8"> | |
| <h4 class="font-semibold mb-4 text-slate-700 flex items-center"> | |
| <i class="fas fa-code-branch text-sm text-amber-500 mr-2"></i> | |
| Version Control | |
| </h4> | |
| <div class="flex flex-wrap gap-2"> | |
| <span class="skill-pill bg-amber-100 text-amber-800 px-4 py-2 rounded-full">GitHub</span> | |
| </div> | |
| </div> | |
| <!-- Responsive Design --> | |
| <div> | |
| <h4 class="font-semibold mb-4 text-slate-700 flex items-center"> | |
| <i class="fas fa-mobile-alt text-sm text-rose-500 mr-2"></i> | |
| Responsive Design | |
| </h4> | |
| <div class="flex flex-wrap gap-2"> | |
| <span class="skill-pill bg-rose-100 text-rose-800 px-4 py-2 rounded-full">Flexbox</span> | |
| <span class="skill-pill bg-rose-100 text-rose-800 px-4 py-2 rounded-full">CSS Grid</span> | |
| <span class="skill-pill bg-rose-100 text-rose-800 px-4 py-2 rounded-full">Media Queries</span> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Professional Skills --> | |
| <div class="bg-white p-8 rounded-xl shadow-sm skill-card"> | |
| <h3 class="text-xl font-bold mb-6 flex items-center"> | |
| <i class="fas fa-user-tie text-indigo-500 mr-3"></i> | |
| <span>Professional Skills</span> | |
| </h3> | |
| <!-- Additional Skills --> | |
| <div class="mb-8"> | |
| <h4 class="font-semibold mb-4 text-slate-700 flex items-center"> | |
| <i class="fas fa-lightbulb text-sm text-indigo-500 mr-2"></i> | |
| Additional Skills | |
| </h4> | |
| <div class="flex flex-wrap gap-2"> | |
| <span class="skill-pill bg-indigo-100 text-indigo-800 px-4 py-2 rounded-full">Problem-solving</span> | |
| <span class="skill-pill bg-indigo-100 text-indigo-800 px-4 py-2 rounded-full">Debugging</span> | |
| <span class="skill-pill bg-indigo-100 text-indigo-800 px-4 py-2 rounded-full">Cross-browser compatibility</span> | |
| <span class="skill-pill bg-indigo-100 text-indigo-800 px-4 py-2 rounded-full">Teamwork</span> | |
| <span class="skill-pill bg-indigo-100 text-indigo-800 px-4 py-2 rounded-full">Creativity</span> | |
| <span class="skill-pill bg-indigo-100 text-indigo-800 px-4 py-2 rounded-full">Communication</span> | |
| <span class="skill-pill bg-indigo-100 text-indigo-800 px-4 py-2 rounded-full">Time Management</span> | |
| <span class="skill-pill bg-indigo-100 text-indigo-800 px-4 py-2 rounded-full">Adaptability</span> | |
| </div> | |
| </div> | |
| <!-- Skill Proficiency --> | |
| <div class="mb-8"> | |
| <h4 class="font-semibold mb-4 text-slate-700">Skill Proficiency</h4> | |
| <div class="space-y-4"> | |
| <div> | |
| <div class="flex justify-between mb-1"> | |
| <span class="font-medium">HTML/CSS</span> | |
| <span class="text-slate-500">95%</span> | |
| </div> | |
| <div class="w-full bg-slate-200 rounded-full h-2 progress-bar" style="--progress-width: 95%"> | |
| <div class="h-2 rounded-full"></div> | |
| </div> | |
| </div> | |
| <div> | |
| <div class="flex justify-between mb-1"> | |
| <span class="font-medium">JavaScript</span> | |
| <span class="text-slate-500">90%</span> | |
| </div> | |
| <div class="w-full bg-slate-200 rounded-full h-2 progress-bar" style="--progress-width: 90%"> | |
| <div class="h-2 rounded-full"></div> | |
| </div> | |
| </div> | |
| <div> | |
| <div class="flex justify-between mb-1"> | |
| <span class="font-medium">React.js</span> | |
| <span class="text-slate-500">85%</span> | |
| </div> | |
| <div class="w-full bg-slate-200 rounded-full h-2 progress-bar" style="--progress-width: 85%"> | |
| <div class="h-2 rounded-full"></div> | |
| </div> | |
| </div> | |
| <div> | |
| <div class="flex justify-between mb-1"> | |
| <span class="font-medium">Git/GitHub</span> | |
| <span class="text-slate-500">80%</span> | |
| </div> | |
| <div class="w-full bg-slate-200 rounded-full h-2 progress-bar" style="--progress-width: 80%"> | |
| <div class="h-2 rounded-full"></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Certifications --> | |
| <div> | |
| <h3 class="text-xl font-bold mb-6 flex items-center"> | |
| <i class="fas fa-certificate text-indigo-500 mr-3"></i> | |
| <span>Certifications</span> | |
| </h3> | |
| <div class="bg-indigo-50 p-4 rounded-lg"> | |
| <h4 class="font-bold text-indigo-700">JavaScript and React.js Certification</h4> | |
| <p class="text-sm text-slate-600">SimbaQuartz IT Company - June 2024</p> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Projects Section --> | |
| <section id="projects" class="py-16 px-6 md:px-12 bg-white"> | |
| <div class="container mx-auto"> | |
| <h2 class="text-3xl md:text-4xl font-bold mb-12 section-title">Featured Projects</h2> | |
| <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8"> | |
| <!-- Chat App --> | |
| <div class="project-card bg-white rounded-xl shadow-md overflow-hidden border border-slate-100"> | |
| <div class="relative h-48 overflow-hidden"> | |
| <img src="https://images.unsplash.com/photo-1633356122544-f134324a6cee?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" | |
| alt="Chat App" class="w-full h-full object-cover"> | |
| <div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent"></div> | |
| <div class="absolute bottom-4 left-4"> | |
| <span class="project-tag bg-indigo-500 text-white">React.js</span> | |
| <span class="project-tag bg-purple-500 text-white ml-1">Firebase</span> | |
| </div> | |
| </div> | |
| <div class="p-6"> | |
| <h3 class="text-xl font-bold mb-2">Real-time Chat App</h3> | |
| <p class="text-slate-600 mb-4"> | |
| Built a real-time chat application with user registration, login, online user management, and one-to-one messaging. | |
| </p> | |
| <ul class="text-sm text-slate-500 mb-4 space-y-1"> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mr-2 mt-1"></i> | |
| <span>User authentication system</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mr-2 mt-1"></i> | |
| <span>Real-time messaging</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mr-2 mt-1"></i> | |
| <span>Online status indicators</span> | |
| </li> | |
| </ul> | |
| <div class="flex justify-between items-center"> | |
| <a href="https://free-api-chat.vercel.app" target="_blank" class="text-indigo-600 hover:text-indigo-800 font-medium flex items-center"> | |
| View Project <i class="fas fa-external-link-alt ml-2"></i> | |
| </a> | |
| <a href="#" class="text-slate-400 hover:text-indigo-600"> | |
| <i class="fab fa-github"></i> | |
| </a> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Rider App --> | |
| <div class="project-card bg-white rounded-xl shadow-md overflow-hidden border border-slate-100"> | |
| <div class="relative h-48 overflow-hidden"> | |
| <img src="https://images.unsplash.com/photo-1565299624946-b28f40a0ae38?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" | |
| alt="Rider App" class="w-full h-full object-cover"> | |
| <div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent"></div> | |
| <div class="absolute bottom-4 left-4"> | |
| <span class="project-tag bg-indigo-500 text-white">React.js</span> | |
| <span class="project-tag bg-green-500 text-white ml-1">Context API</span> | |
| </div> | |
| </div> | |
| <div class="p-6"> | |
| <h3 class="text-xl font-bold mb-2">Food Delivery App</h3> | |
| <p class="text-slate-600 mb-4"> | |
| Designed an app with React.js for ordering food and drinks, with a dynamic list showing selected items and quantities. | |
| </p> | |
| <ul class="text-sm text-slate-500 mb-4 space-y-1"> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mr-2 mt-1"></i> | |
| <span>Interactive menu system</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mr-2 mt-1"></i> | |
| <span>Dynamic cart functionality</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mr-2 mt-1"></i> | |
| <span>State management with Context API</span> | |
| </li> | |
| </ul> | |
| <div class="flex justify-between items-center"> | |
| <a href="https://rider-app-ebf3.vercel.app" target="_blank" class="text-indigo-600 hover:text-indigo-800 font-medium flex items-center"> | |
| View Project <i class="fas fa-external-link-alt ml-2"></i> | |
| </a> | |
| <a href="#" class="text-slate-400 hover:text-indigo-600"> | |
| <i class="fab fa-github"></i> | |
| </a> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Weather App --> | |
| <div class="project-card bg-white rounded-xl shadow-md overflow-hidden border border-slate-100"> | |
| <div class="relative h-48 overflow-hidden"> | |
| <img src="https://images.unsplash.com/photo-1601134467661-268d69453fae?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" | |
| alt="Weather App" class="w-full h-full object-cover"> | |
| <div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent"></div> | |
| <div class="absolute bottom-4 left-4"> | |
| <span class="project-tag bg-blue-500 text-white">JavaScript</span> | |
| <span class="project-tag bg-yellow-500 text-white ml-1">API Integration</span> | |
| </div> | |
| </div> | |
| <div class="p-6"> | |
| <h3 class="text-xl font-bold mb-2">Weather Application</h3> | |
| <p class="text-slate-600 mb-4"> | |
| Developed a weather application using HTML, CSS, and JavaScript integrated with a third-party weather API. | |
| </p> | |
| <ul class="text-sm text-slate-500 mb-4 space-y-1"> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mr-2 mt-1"></i> | |
| <span>Real-time weather data</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mr-2 mt-1"></i> | |
| <span>Location-based forecasts</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mr-2 mt-1"></i> | |
| <span>Responsive design</span> | |
| </li> | |
| </ul> | |
| <div class="flex justify-between items-center"> | |
| <a href="https://weather-app-e62t.vercel.app" target="_blank" class="text-indigo-600 hover:text-indigo-800 font-medium flex items-center"> | |
| View Project <i class="fas fa-external-link-alt ml-2"></i> | |
| </a> | |
| <a href="#" class="text-slate-400 hover:text-indigo-600"> | |
| <i class="fab fa-github"></i> | |
| </a> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Quiz App --> | |
| <div class="project-card bg-white rounded-xl shadow-md overflow-hidden border border-slate-100"> | |
| <div class="relative h-48 overflow-hidden"> | |
| <img src="https://images.unsplash.com/photo-1501504905252-473c47e087f8?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1374&q=80" | |
| alt="Quiz App" class="w-full h-full object-cover"> | |
| <div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent"></div> | |
| <div class="absolute bottom-4 left-4"> | |
| <span class="project-tag bg-blue-500 text-white">JavaScript</span> | |
| <span class="project-tag bg-red-500 text-white ml-1">DOM Manipulation</span> | |
| </div> | |
| </div> | |
| <div class="p-6"> | |
| <h3 class="text-xl font-bold mb-2">Quiz Application</h3> | |
| <p class="text-slate-600 mb-4"> | |
| Created a multiple-choice quiz application using JavaScript with score tracking and instant feedback. | |
| </p> | |
| <ul class="text-sm text-slate-500 mb-4 space-y-1"> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mr-2 mt-1"></i> | |
| <span>Multiple question types</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mr-2 mt-1"></i> | |
| <span>Score tracking</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mr-2 mt-1"></i> | |
| <span>Final result display</span> | |
| </li> | |
| </ul> | |
| <div class="flex justify-between items-center"> | |
| <a href="https://quizz-app-rosy.vercel.app" target="_blank" class="text-indigo-600 hover:text-indigo-800 font-medium flex items-center"> | |
| View Project <i class="fas fa-external-link-alt ml-2"></i> | |
| </a> | |
| <a href="#" class="text-slate-400 hover:text-indigo-600"> | |
| <i class="fab fa-github"></i> | |
| </a> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Random Color App --> | |
| <div class="project-card bg-white rounded-xl shadow-md overflow-hidden border border-slate-100"> | |
| <div class="relative h-48 overflow-hidden"> | |
| <img src="https://images.unsplash.com/photo-1579547945413-497e1b99dac0?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" | |
| alt="Random Color App" class="w-full h-full object-cover"> | |
| <div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent"></div> | |
| <div class="absolute bottom-4 left-4"> | |
| <span class="project-tag bg-blue-500 text-white">JavaScript</span> | |
| <span class="project-tag bg-pink-500 text-white ml-1">DOM Manipulation</span> | |
| </div> | |
| </div> | |
| <div class="p-6"> | |
| <h3 class="text-xl font-bold mb-2">Random Color Generator</h3> | |
| <p class="text-slate-600 mb-4"> | |
| Developed a dynamic web application to generate random background and text colors with real-time updates. | |
| </p> | |
| <ul class="text-sm text-slate-500 mb-4 space-y-1"> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mr-2 mt-1"></i> | |
| <span>Random color generation</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mr-2 mt-1"></i> | |
| <span>Real-time DOM updates</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mr-2 mt-1"></i> | |
| <span>Clean, responsive interface</span> | |
| </li> | |
| </ul> | |
| <div class="flex justify-between items-center"> | |
| <a href="https://random-color-sandy.vercel.app" target="_blank" class="text-indigo-600 hover:text-indigo-800 font-medium flex items-center"> | |
| View Project <i class="fas fa-external-link-alt ml-2"></i> | |
| </a> | |
| <a href="#" class="text-slate-400 hover:text-indigo-600"> | |
| <i class="fab fa-github"></i> | |
| </a> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Image Slider --> | |
| <div class="project-card bg-white rounded-xl shadow-md overflow-hidden border border-slate-100"> | |
| <div class="relative h-48 overflow-hidden"> | |
| <img src="https://images.unsplash.com/photo-1516035069371-29a1b244cc32?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1528&q=80" | |
| alt="Image Slider" class="w-full h-full object-cover"> | |
| <div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent"></div> | |
| <div class="absolute bottom-4 left-4"> | |
| <span class="project-tag bg-blue-500 text-white">JavaScript</span> | |
| <span class="project-tag bg-orange-500 text-white ml-1">Responsive</span> | |
| </div> | |
| </div> | |
| <div class="p-6"> | |
| <h3 class="text-xl font-bold mb-2">Image Slider</h3> | |
| <p class="text-slate-600 mb-4"> | |
| Developed a responsive image slider with smooth transitions and navigation controls. | |
| </p> | |
| <ul class="text-sm text-slate-500 mb-4 space-y-1"> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mr-2 mt-1"></i> | |
| <span>Smooth transitions</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mr-2 mt-1"></i> | |
| <span>Navigation controls</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-green-500 mr-2 mt-1"></i> | |
| <span>Fully responsive</span> | |
| </li> | |
| </ul> | |
| <div class="flex justify-between items-center"> | |
| <a href="https://image-slider-eta.vercel.app" target="_blank" class="text-indigo-600 hover:text-indigo-800 font-medium flex items-center"> | |
| View Project <i class="fas fa-external-link-alt ml-2"></i> | |
| </a> | |
| <a href="#" class="text-slate-400 hover:text-indigo-600"> | |
| <i class="fab fa-github"></i> | |
| </a> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Contact Section --> | |
| <section id="contact" class="py-16 px-6 md:px-12 secondary-bg text-white"> | |
| <div class="container mx-auto"> | |
| <h2 class="text-3xl md:text-4xl font-bold mb-12 section-title text-white">Get In Touch</h2> | |
| <div class="grid md:grid-cols-2 gap-12"> | |
| <div> | |
| <h3 class="text-2xl font-bold mb-6">Let's work together!</h3> | |
| <p class="text-lg mb-8 opacity-90"> | |
| I'm currently looking for new opportunities. Whether you have a project in mind or just want to say hello, | |
| I'll do my best to respond as soon as possible. | |
| </p> | |
| <div class="space-y-4"> | |
| <div class="flex items-center"> | |
| <i class="fas fa-envelope text-xl mr-4 opacity-80"></i> | |
| <a href="mailto:rupinderrandhey90@gmail.com" class="hover:underline">rupinderrandhey90@gmail.com</a> | |
| </div> | |
| <div class="flex items-center"> | |
| <i class="fas fa-phone text-xl mr-4 opacity-80"></i> | |
| <a href="tel:9815742397" class="hover:underline">+91 9815742397</a> | |
| </div> | |
| <div class="flex items-center"> | |
| <i class="fas fa-map-marker-alt text-xl mr-4 opacity-80"></i> | |
| <span>Batala, Gurdaspur, Punjab</span> | |
| </div> | |
| </div> | |
| <div class="mt-8 flex space-x-4"> | |
| <a href="#" class="text-2xl hover:opacity-80 transition"> | |
| <i class="fab fa-linkedin"></i> | |
| </a> | |
| <a href="#" class="text-2xl hover:opacity-80 transition"> | |
| <i class="fab fa-github"></i> | |
| </a> | |
| <a href="#" class="text-2xl hover:opacity-80 transition"> | |
| <i class="fab fa-twitter"></i> | |
| </a> | |
| </div> | |
| </div> | |
| <div class="bg-white/10 backdrop-blur-sm rounded-xl p-8 border border-white/20"> | |
| <form> | |
| <div class="mb-6"> | |
| <label for="name" class="block mb-2 font-medium">Your Name</label> | |
| <input type="text" id="name" class="w-full px-4 py-3 bg-white/10 border border-white/20 rounded-lg focus:outline-none focus:ring-2 focus:ring-white"> | |
| </div> | |
| <div class="mb-6"> | |
| <label for="email" class="block mb-2 font-medium">Email Address</label> | |
| <input type="email" id="email" class="w-full px-4 py-3 bg-white/10 border border-white/20 rounded-lg focus:outline-none focus:ring-2 focus:ring-white"> | |
| </div> | |
| <div class="mb-6"> | |
| <label for="message" class="block mb-2 font-medium">Your Message</label> | |
| <textarea id="message" rows="4" class="w-full px-4 py-3 bg-white/10 border border-white/20 rounded-lg focus:outline-none focus:ring-2 focus:ring-white"></textarea> | |
| </div> | |
| <button type="submit" class="w-full bg-white text-emerald-600 px-6 py-3 rounded-lg font-bold hover:bg-opacity-90 transition"> | |
| Send Message | |
| </button> | |
| </form> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Footer --> | |
| <footer class="py-8 px-6 bg-slate-900 text-white"> | |
| <div class="container mx-auto"> | |
| <div class="flex flex-col md:flex-row justify-between items-center"> | |
| <div class="mb-4 md:mb-0"> | |
| <a href="#" class="text-2xl font-bold gradient-text">Rupinder.</a> | |
| <p class="text-sm text-slate-400 mt-1">Web Developer & UI Enthusiast</p> | |
| </div> | |
| <div class="flex space-x-6"> | |
| <a href="#home" class="text-slate-400 hover:text-white transition">Home</a> | |
| <a href="#about" class="text-slate-400 hover:text-white transition">About</a> | |
| <a href="#skills" class="text-slate-400 hover:text-white transition">Skills</a> | |
| <a href="#projects" class="text-slate-400 hover:text-white transition">Projects</a> | |
| <a href="#contact" class="text-slate-400 hover:text-white transition">Contact</a> | |
| </div> | |
| </div> | |
| <hr class="border-slate-800 my-6"> | |
| <div class="flex flex-col md:flex-row justify-between items-center text-sm text-slate-400"> | |
| <p>© 2024 Rupinder Kaur. All rights reserved.</p> | |
| <div class="mt-4 md:mt-0"> | |
| <a href="#" class="hover:text-white transition">Privacy Policy</a> | |
| <span class="mx-2">•</span> | |
| <a href="#" class="hover:text-white transition">Terms of Service</a> | |
| </div> | |
| </div> | |
| </div> | |
| </footer> | |
| <script> | |
| // Mobile menu toggle | |
| const menuToggle = document.getElementById('menu-toggle'); | |
| const menuClose = document.getElementById('menu-close'); | |
| const mobileMenu = document.getElementById('mobile-menu'); | |
| menuToggle.addEventListener('click', () => { | |
| mobileMenu.classList.add('open'); | |
| }); | |
| menuClose.addEventListener('click', () => { | |
| mobileMenu.classList.remove('open'); | |
| }); | |
| // Close menu when clicking on a link | |
| document.querySelectorAll('#mobile-menu a').forEach(link => { | |
| link.addEventListener('click', () => { | |
| mobileMenu.classList.remove('open'); | |
| }); | |
| }); | |
| // Smooth scrolling for navigation links | |
| document.querySelectorAll('a[href^="#"]').forEach(anchor => { | |
| anchor.addEventListener('click', function (e) { | |
| e.preventDefault(); | |
| document.querySelector(this.getAttribute('href')).scrollIntoView({ | |
| behavior: 'smooth' | |
| }); | |
| }); | |
| }); | |
| // Animation for project cards and skill cards on scroll | |
| const observerOptions = { | |
| threshold: 0.1 | |
| }; | |
| const observer = new IntersectionObserver((entries) => { | |
| entries.forEach(entry => { | |
| if (entry.isIntersecting) { | |
| entry.target.classList.add('visible'); | |
| } | |
| }); | |
| }, observerOptions); | |
| document.querySelectorAll('.project-card, .skill-card').forEach(card => { | |
| card.style.transition = 'all 0.6s ease'; | |
| observer.observe(card); | |
| }); | |
| // Add hover effect to tech stack items | |
| document.querySelectorAll('.tech-stack-item').forEach(item => { | |
| item.addEventListener('mouseenter', () => { | |
| item.style.transform = 'translateY(-5px)'; | |
| item.style.boxShadow = '0 10px 15px -3px rgba(0, 0, 0, 0.1)'; | |
| }); | |
| item.addEventListener('mouseleave', () => { | |
| item.style.transform = ''; | |
| item.style.boxShadow = ''; | |
| }); | |
| }); | |
| // Add animation to skill icons | |
| document.querySelectorAll('.skill-icon').forEach(icon => { | |
| icon.addEventListener('mouseenter', () => { | |
| icon.style.transform = 'rotate(15deg) scale(1.2)'; | |
| }); | |
| icon.addEventListener('mouseleave', () => { | |
| icon.style.transform = ''; | |
| }); | |
| }); | |
| </script> | |
| <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=jaskaransingh/rupinder" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> | |
| </html> |