A beautiful, responsive portfolio website built with React, featuring smooth animations, modern design, and a clean interface to showcase your skills, projects, and experience.
- Modern Design: Clean, professional aesthetic with smooth animations and transitions
- Fully Responsive: Looks great on desktop, tablet, and mobile devices
- Tab Navigation: Easy navigation between Profile, Photos, Interests, Skills, Projects, and Connect sections
- Animated UI: Engaging micro-interactions and entrance animations
- Customizable: Easy to update with your own information, colors, and branding
- Performance Optimized: Built with Vite for fast loading and development
- Beautiful gradient backgrounds and glassmorphism effects
- Custom avatar with animated gradient border
- Smooth tab transitions with hover effects
- Staggered animations for cards and elements
- Professional typography using Outfit and JetBrains Mono fonts
- Color scheme featuring blue and purple gradients
- React 18 - Modern React with hooks
- Vite - Lightning fast build tool
- Lucide React - Beautiful, consistent icons
- CSS-in-JS - Styled components with dynamic styling
-
Extract the files to your desired location
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
The site will open at
http://localhost:3000 -
Build for production:
npm run build
Output will be in the
distfolder
Open src/Portfolio.jsx and update:
Your Name and Title (around line 55-60):
<h1 className="hero-title">Your Name</h1>
<p className="hero-subtitle">Full-Stack Software Engineer</p>
<p className="hero-description">
Your personal bio here...
</p>Avatar Initials (around line 50):
<span className="avatar-text">YP</span> // Change to your initialsThe skills object (around line 10) contains all your technical skills organized by category. Update with your own skills:
const skills = {
"Languages": ["Your", "Languages", "Here"],
"Frameworks": ["Your", "Frameworks"],
// ... add or modify categories
};The projects array (around line 25) contains your project showcase. Update each project:
{
id: 1,
title: "Your Project Name",
description: "Project description",
tech: ["Tech1", "Tech2", "Tech3"],
learnings: ["What you learned", "Key takeaway"],
diagram: "🎯" // Any emoji
}Around line 450, update your social media and contact information:
<a href="https://linkedin.com/in/yourprofile" ...>
<a href="https://github.com/yourusername" ...>
<a href="mailto:your.email@example.com" ...>The photos section currently shows placeholders. You can either:
- Keep it as a placeholder gallery
- Remove the Photos tab if not needed
- Replace with actual images by modifying the
renderPhotosfunction
Find the gradient colors in the styles (around line 110+) and update:
background: linear-gradient(135deg, #3b82f6, #8b5cf6);Main colors used:
- Primary Blue:
#3b82f6 - Purple:
#8b5cf6 - Dark Background:
#0a0e27 - Text:
#e4e4e7
Modify the renderInterests function (around line 95) with your actual interests and hobbies.
portfolio-website/
├── index.html # HTML entry point
├── package.json # Dependencies and scripts
├── vite.config.js # Vite configuration
├── src/
│ ├── main.jsx # React entry point
│ └── Portfolio.jsx # Main portfolio component
└── README.md # This file
- Run
npm run build - Drag the
distfolder to Netlify Drop
- Install Vercel CLI:
npm i -g vercel - Run:
vercel - Follow the prompts
- Install:
npm install -D gh-pages - Add to package.json scripts:
"predeploy": "npm run build", "deploy": "gh-pages -d dist"
- Run:
npm run deploy
- Fonts: The project uses Google Fonts (Outfit and JetBrains Mono). No additional setup needed.
- Icons: All icons come from lucide-react. Browse available icons at lucide.dev
- Animations: Adjust animation speeds in the CSS by modifying
transitionandanimationproperties - Responsive: Test on different screen sizes. The design is mobile-first and responsive.
If you want to extend this portfolio:
This project is open source and available for personal and commercial use.
If you need assistance customizing your portfolio:
- Check the code comments in
Portfolio.jsx - Each section is clearly marked with comments
- Experiment with the code - it's designed to be easy to modify!
Built with ❤️ using React and Vite