personal-website-test / index.html
Henry1223's picture
Add 2 files
16c0272 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Alex Carter | Personal 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>
/* Custom CSS */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
body {
font-family: 'Poppins', sans-serif;
scroll-behavior: smooth;
}
.hero-gradient {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.skill-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}
.project-card {
transition: all 0.3s ease;
}
.project-card:hover {
transform: translateY(-5px);
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}
.nav-link {
position: relative;
}
.nav-link::after {
content: '';
position: absolute;
width: 0;
height: 2px;
bottom: 0;
left: 0;
background-color: #667eea;
transition: width 0.3s ease;
}
.nav-link:hover::after {
width: 100%;
}
.active::after {
width: 100%;
}
/* Animation */
@keyframes float {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-10px);
}
}
.floating {
animation: float 3s ease-in-out infinite;
}
</style>
</head>
<body class="bg-gray-50">
<!-- Navigation -->
<nav class="fixed w-full bg-white shadow-sm z-50">
<div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex justify-between h-16">
<div class="flex items-center">
<a href="#" class="text-xl font-bold text-indigo-600">Alex Carter</a>
</div>
<div class="hidden md:flex items-center space-x-8">
<a href="#home" class="nav-link text-gray-700 hover:text-indigo-600 active">Home</a>
<a href="#about" class="nav-link text-gray-700 hover:text-indigo-600">About</a>
<a href="#skills" class="nav-link text-gray-700 hover:text-indigo-600">Skills</a>
<a href="#projects" class="nav-link text-gray-700 hover:text-indigo-600">Projects</a>
<a href="#contact" class="nav-link text-gray-700 hover:text-indigo-600">Contact</a>
</div>
<div class="md:hidden flex items-center">
<button id="menu-btn" class="text-gray-700 focus:outline-none">
<i class="fas fa-bars text-xl"></i>
</button>
</div>
</div>
</div>
<!-- Mobile menu -->
<div id="mobile-menu" class="hidden md:hidden bg-white py-2 px-4 shadow-lg">
<a href="#home" class="block py-2 text-gray-700 hover:text-indigo-600">Home</a>
<a href="#about" class="block py-2 text-gray-700 hover:text-indigo-600">About</a>
<a href="#skills" class="block py-2 text-gray-700 hover:text-indigo-600">Skills</a>
<a href="#projects" class="block py-2 text-gray-700 hover:text-indigo-600">Projects</a>
<a href="#contact" class="block py-2 text-gray-700 hover:text-indigo-600">Contact</a>
</div>
</nav>
<!-- Hero Section -->
<section id="home" class="hero-gradient pt-24 pb-16 md:pt-32 md:pb-24 text-white">
<div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex flex-col md:flex-row items-center">
<div class="md:w-1/2 mb-10 md:mb-0">
<h1 class="text-4xl md:text-5xl font-bold mb-4">Hi, I'm Alex Carter</h1>
<h2 class="text-2xl md:text-3xl font-semibold mb-6">Full Stack Developer</h2>
<p class="text-lg mb-8">I build exceptional digital experiences that make people's lives easier.</p>
<div class="flex space-x-4">
<a href="#contact" class="bg-white text-indigo-600 px-6 py-3 rounded-lg font-medium hover:bg-gray-100 transition duration-300">Get In Touch</a>
<a href="#projects" class="border-2 border-white text-white px-6 py-3 rounded-lg font-medium hover:bg-white hover:text-indigo-600 transition duration-300">View My Work</a>
</div>
</div>
<div class="md:w-1/2 flex justify-center">
<img src="https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=774&q=80" alt="Profile" class="rounded-full w-64 h-64 md:w-80 md:h-80 object-cover border-4 border-white floating shadow-xl">
</div>
</div>
</div>
</section>
<!-- About Section -->
<section id="about" class="py-16 bg-white">
<div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
<h2 class="text-3xl font-bold text-center mb-12 text-gray-800">About Me</h2>
<div class="flex flex-col md:flex-row items-center">
<div class="md:w-1/3 mb-8 md:mb-0 flex justify-center">
<img src="https://images.unsplash.com/photo-1571171637578-41bc2dd41cd2?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="About" class="rounded-lg w-full max-w-md shadow-lg">
</div>
<div class="md:w-2/3 md:pl-12">
<h3 class="text-2xl font-semibold mb-4 text-gray-800">Who I Am</h3>
<p class="text-gray-600 mb-6">I'm a passionate full-stack developer with 5 years of experience creating web applications. I specialize in JavaScript technologies across the whole stack (React.js, Node.js, Express, MongoDB).</p>
<p class="text-gray-600 mb-6">My journey in tech started when I built my first website at 15. Since then, I've worked with startups and established companies to deliver high-quality digital products.</p>
<p class="text-gray-600 mb-8">When I'm not coding, you can find me hiking, reading sci-fi novels, or experimenting with new cooking recipes.</p>
<div class="flex flex-wrap gap-4">
<div class="bg-indigo-50 px-4 py-2 rounded-full">
<span class="text-indigo-600 font-medium">Web Development</span>
</div>
<div class="bg-indigo-50 px-4 py-2 rounded-full">
<span class="text-indigo-600 font-medium">UI/UX Design</span>
</div>
<div class="bg-indigo-50 px-4 py-2 rounded-full">
<span class="text-indigo-600 font-medium">Mobile Apps</span>
</div>
<div class="bg-indigo-50 px-4 py-2 rounded-full">
<span class="text-indigo-600 font-medium">Cloud Computing</span>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Skills Section -->
<section id="skills" class="py-16 bg-gray-50">
<div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
<h2 class="text-3xl font-bold text-center mb-12 text-gray-800">My Skills</h2>
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8">
<!-- Skill Card 1 -->
<div class="skill-card bg-white p-6 rounded-xl shadow-md transition duration-300">
<div class="text-indigo-600 mb-4">
<i class="fab fa-js text-4xl"></i>
</div>
<h3 class="text-xl font-semibold mb-2 text-gray-800">JavaScript</h3>
<p class="text-gray-600 mb-4">Advanced knowledge of modern JavaScript (ES6+) and frameworks like React and Node.js.</p>
<div class="w-full bg-gray-200 rounded-full h-2.5">
<div class="bg-indigo-600 h-2.5 rounded-full" style="width: 90%"></div>
</div>
</div>
<!-- Skill Card 2 -->
<div class="skill-card bg-white p-6 rounded-xl shadow-md transition duration-300">
<div class="text-indigo-600 mb-4">
<i class="fab fa-react text-4xl"></i>
</div>
<h3 class="text-xl font-semibold mb-2 text-gray-800">React.js</h3>
<p class="text-gray-600 mb-4">Building interactive user interfaces with React hooks, context API, and Redux.</p>
<div class="w-full bg-gray-200 rounded-full h-2.5">
<div class="bg-indigo-600 h-2.5 rounded-full" style="width: 85%"></div>
</div>
</div>
<!-- Skill Card 3 -->
<div class="skill-card bg-white p-6 rounded-xl shadow-md transition duration-300">
<div class="text-indigo-600 mb-4">
<i class="fas fa-server text-4xl"></i>
</div>
<h3 class="text-xl font-semibold mb-2 text-gray-800">Backend Development</h3>
<p class="text-gray-600 mb-4">Node.js, Express, MongoDB, PostgreSQL, and RESTful API design.</p>
<div class="w-full bg-gray-200 rounded-full h-2.5">
<div class="bg-indigo-600 h-2.5 rounded-full" style="width: 80%"></div>
</div>
</div>
<!-- Skill Card 4 -->
<div class="skill-card bg-white p-6 rounded-xl shadow-md transition duration-300">
<div class="text-indigo-600 mb-4">
<i class="fas fa-mobile-alt text-4xl"></i>
</div>
<h3 class="text-xl font-semibold mb-2 text-gray-800">Responsive Design</h3>
<p class="text-gray-600 mb-4">Creating websites that work perfectly on all devices using modern CSS techniques.</p>
<div class="w-full bg-gray-200 rounded-full h-2.5">
<div class="bg-indigo-600 h-2.5 rounded-full" style="width: 95%"></div>
</div>
</div>
<!-- Skill Card 5 -->
<div class="skill-card bg-white p-6 rounded-xl shadow-md transition duration-300">
<div class="text-indigo-600 mb-4">
<i class="fab fa-git-alt text-4xl"></i>
</div>
<h3 class="text-xl font-semibold mb-2 text-gray-800">Version Control</h3>
<p class="text-gray-600 mb-4">Proficient with Git and GitHub for collaborative development workflows.</p>
<div class="w-full bg-gray-200 rounded-full h-2.5">
<div class="bg-indigo-600 h-2.5 rounded-full" style="width: 85%"></div>
</div>
</div>
<!-- Skill Card 6 -->
<div class="skill-card bg-white p-6 rounded-xl shadow-md transition duration-300">
<div class="text-indigo-600 mb-4">
<i class="fas fa-cloud text-4xl"></i>
</div>
<h3 class="text-xl font-semibold mb-2 text-gray-800">Cloud Services</h3>
<p class="text-gray-600 mb-4">Experience with AWS, Firebase, and Heroku for deployment and hosting.</p>
<div class="w-full bg-gray-200 rounded-full h-2.5">
<div class="bg-indigo-600 h-2.5 rounded-full" style="width: 75%"></div>
</div>
</div>
</div>
</div>
</section>
<!-- Projects Section -->
<section id="projects" class="py-16 bg-white">
<div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
<h2 class="text-3xl font-bold text-center mb-12 text-gray-800">My Projects</h2>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
<!-- Project 1 -->
<div class="project-card bg-white rounded-xl overflow-hidden shadow-lg border border-gray-100">
<img src="https://images.unsplash.com/photo-1551288049-bebda4e38f71?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Project 1" class="w-full h-48 object-cover">
<div class="p-6">
<h3 class="text-xl font-bold mb-2 text-gray-800">E-commerce Platform</h3>
<p class="text-gray-600 mb-4">A full-featured online store with cart functionality, user authentication, and payment processing.</p>
<div class="flex flex-wrap gap-2 mb-4">
<span class="bg-indigo-100 text-indigo-800 text-xs px-3 py-1 rounded-full">React</span>
<span class="bg-indigo-100 text-indigo-800 text-xs px-3 py-1 rounded-full">Node.js</span>
<span class="bg-indigo-100 text-indigo-800 text-xs px-3 py-1 rounded-full">MongoDB</span>
</div>
<div class="flex space-x-3">
<a href="#" class="text-indigo-600 hover:text-indigo-800 font-medium">Live Demo</a>
<a href="#" class="text-gray-600 hover:text-gray-800 font-medium">Code</a>
</div>
</div>
</div>
<!-- Project 2 -->
<div class="project-card bg-white rounded-xl overflow-hidden shadow-lg border border-gray-100">
<img src="https://images.unsplash.com/photo-1467232004584-a241de8bcf5d?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1469&q=80" alt="Project 2" class="w-full h-48 object-cover">
<div class="p-6">
<h3 class="text-xl font-bold mb-2 text-gray-800">Task Management App</h3>
<p class="text-gray-600 mb-4">A productivity application for organizing tasks with drag-and-drop functionality and team collaboration.</p>
<div class="flex flex-wrap gap-2 mb-4">
<span class="bg-indigo-100 text-indigo-800 text-xs px-3 py-1 rounded-full">Vue.js</span>
<span class="bg-indigo-100 text-indigo-800 text-xs px-3 py-1 rounded-full">Firebase</span>
<span class="bg-indigo-100 text-indigo-800 text-xs px-3 py-1 rounded-full">TailwindCSS</span>
</div>
<div class="flex space-x-3">
<a href="#" class="text-indigo-600 hover:text-indigo-800 font-medium">Live Demo</a>
<a href="#" class="text-gray-600 hover:text-gray-800 font-medium">Code</a>
</div>
</div>
</div>
<!-- Project 3 -->
<div class="project-card bg-white rounded-xl overflow-hidden shadow-lg border border-gray-100">
<img src="https://images.unsplash.com/photo-1555066931-4365d14bab8c?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Project 3" class="w-full h-48 object-cover">
<div class="p-6">
<h3 class="text-xl font-bold mb-2 text-gray-800">Code Editor</h3>
<p class="text-gray-600 mb-4">An online code editor with syntax highlighting, auto-completion, and real-time collaboration.</p>
<div class="flex flex-wrap gap-2 mb-4">
<span class="bg-indigo-100 text-indigo-800 text-xs px-3 py-1 rounded-full">TypeScript</span>
<span class="bg-indigo-100 text-indigo-800 text-xs px-3 py-1 rounded-full">WebSockets</span>
<span class="bg-indigo-100 text-indigo-800 text-xs px-3 py-1 rounded-full">Docker</span>
</div>
<div class="flex space-x-3">
<a href="#" class="text-indigo-600 hover:text-indigo-800 font-medium">Live Demo</a>
<a href="#" class="text-gray-600 hover:text-gray-800 font-medium">Code</a>
</div>
</div>
</div>
</div>
<div class="text-center mt-12">
<a href="#" class="inline-block bg-indigo-600 text-white px-6 py-3 rounded-lg font-medium hover:bg-indigo-700 transition duration-300">View All Projects</a>
</div>
</div>
</section>
<!-- Contact Section -->
<section id="contact" class="py-16 bg-gray-50">
<div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
<h2 class="text-3xl font-bold text-center mb-12 text-gray-800">Get In Touch</h2>
<div class="flex flex-col md:flex-row">
<div class="md:w-1/2 mb-10 md:mb-0 md:pr-8">
<h3 class="text-2xl font-semibold mb-4 text-gray-800">Contact Information</h3>
<p class="text-gray-600 mb-6">Feel free to reach out if you're looking for a developer, have a question, or just want to connect.</p>
<div class="space-y-4">
<div class="flex items-start">
<div class="text-indigo-600 mr-4 mt-1">
<i class="fas fa-envelope text-xl"></i>
</div>
<div>
<h4 class="font-medium text-gray-800">Email</h4>
<p class="text-gray-600">alex@example.com</p>
</div>
</div>
<div class="flex items-start">
<div class="text-indigo-600 mr-4 mt-1">
<i class="fas fa-phone-alt text-xl"></i>
</div>
<div>
<h4 class="font-medium text-gray-800">Phone</h4>
<p class="text-gray-600">+1 (555) 123-4567</p>
</div>
</div>
<div class="flex items-start">
<div class="text-indigo-600 mr-4 mt-1">
<i class="fas fa-map-marker-alt text-xl"></i>
</div>
<div>
<h4 class="font-medium text-gray-800">Location</h4>
<p class="text-gray-600">San Francisco, CA</p>
</div>
</div>
</div>
<div class="mt-8">
<h4 class="font-medium text-gray-800 mb-4">Follow Me</h4>
<div class="flex space-x-4">
<a href="#" class="text-gray-600 hover:text-indigo-600 text-xl">
<i class="fab fa-github"></i>
</a>
<a href="#" class="text-gray-600 hover:text-indigo-600 text-xl">
<i class="fab fa-linkedin-in"></i>
</a>
<a href="#" class="text-gray-600 hover:text-indigo-600 text-xl">
<i class="fab fa-twitter"></i>
</a>
<a href="#" class="text-gray-600 hover:text-indigo-600 text-xl">
<i class="fab fa-instagram"></i>
</a>
</div>
</div>
</div>
<div class="md:w-1/2">
<form class="bg-white p-6 rounded-xl shadow-md">
<div class="mb-4">
<label for="name" class="block text-gray-700 font-medium mb-2">Name</label>
<input type="text" id="name" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500">
</div>
<div class="mb-4">
<label for="email" class="block text-gray-700 font-medium mb-2">Email</label>
<input type="email" id="email" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500">
</div>
<div class="mb-4">
<label for="subject" class="block text-gray-700 font-medium mb-2">Subject</label>
<input type="text" id="subject" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500">
</div>
<div class="mb-6">
<label for="message" class="block text-gray-700 font-medium mb-2">Message</label>
<textarea id="message" rows="4" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500"></textarea>
</div>
<button type="submit" class="w-full bg-indigo-600 text-white py-3 rounded-lg font-medium hover:bg-indigo-700 transition duration-300">Send Message</button>
</form>
</div>
</div>
</div>
</section>
<!-- Footer -->
<footer class="bg-gray-800 text-white py-8">
<div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex flex-col md:flex-row justify-between items-center">
<div class="mb-4 md:mb-0">
<a href="#" class="text-xl font-bold">Alex Carter</a>
<p class="text-gray-400 mt-1">Full Stack Developer</p>
</div>
<div class="flex space-x-6">
<a href="#" class="text-gray-400 hover:text-white transition duration-300">
<i class="fab fa-github text-xl"></i>
</a>
<a href="#" class="text-gray-400 hover:text-white transition duration-300">
<i class="fab fa-linkedin-in text-xl"></i>
</a>
<a href="#" class="text-gray-400 hover:text-white transition duration-300">
<i class="fab fa-twitter text-xl"></i>
</a>
<a href="#" class="text-gray-400 hover:text-white transition duration-300">
<i class="fab fa-instagram text-xl"></i>
</a>
</div>
</div>
<div class="border-t border-gray-700 mt-8 pt-8 text-center text-gray-400">
<p>&copy; 2023 Alex Carter. All rights reserved.</p>
</div>
</div>
</footer>
<script>
// Mobile menu toggle
const menuBtn = document.getElementById('menu-btn');
const mobileMenu = document.getElementById('mobile-menu');
menuBtn.addEventListener('click', () => {
mobileMenu.classList.toggle('hidden');
});
// Smooth scrolling for navigation links
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
// Close mobile menu if open
if (!mobileMenu.classList.contains('hidden')) {
mobileMenu.classList.add('hidden');
}
// Update active nav link
document.querySelectorAll('.nav-link').forEach(link => {
link.classList.remove('active');
});
this.classList.add('active');
// Scroll to section
const targetId = this.getAttribute('href');
const targetElement = document.querySelector(targetId);
if (targetElement) {
window.scrollTo({
top: targetElement.offsetTop - 70,
behavior: 'smooth'
});
}
});
});
// Update active nav link on scroll
window.addEventListener('scroll', () => {
const scrollPosition = window.scrollY;
document.querySelectorAll('section').forEach(section => {
const sectionTop = section.offsetTop - 100;
const sectionHeight = section.offsetHeight;
const sectionId = section.getAttribute('id');
if (scrollPosition >= sectionTop && scrollPosition < sectionTop + sectionHeight) {
document.querySelectorAll('.nav-link').forEach(link => {
link.classList.remove('active');
if (link.getAttribute('href') === `#${sectionId}`) {
link.classList.add('active');
}
});
}
});
});
// Form submission
const contactForm = document.querySelector('form');
if (contactForm) {
contactForm.addEventListener('submit', (e) => {
e.preventDefault();
alert('Thank you for your message! I will get back to you soon.');
contactForm.reset();
});
}
</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=Henry1223/personal-website-test" style="color: #fff;text-decoration: underline;" target="_blank" >🧬 Remix</a></p></body>
</html>