A beautiful, responsive, and fully functional personal portfolio website built with HTML, CSS, and JavaScript. Features dark/light mode, smooth animations, and a working contact form.
- Modern, Clean Design - Sleek and professional interface
- Dark/Light Mode - Toggle between themes with persistent preference
- Fully Responsive - Works perfectly on desktop, tablet, and mobile devices
- Smooth Animations - Engaging transitions and hover effects
- Glass Morphism - Modern card designs with glassmorphic effects
- Hero Section - Eye-catching introduction with call-to-action buttons
- Work/Projects - Showcase your projects with images and descriptions
- About - Tell your story and highlight your expertise
- Skills - Display your technical skills in an organized grid
- Contact - Working contact form with email integration
- Email Integration - Contact form sends emails via EmailJS
- Resume Download - Direct link to download your resume as PDF
- Social Media Links - Connect to GitHub, LinkedIn, Twitter, etc.
- Smooth Scrolling - Seamless navigation between sections
- Active Navigation - Highlights current section in navigation bar
- Mobile Menu - Hamburger menu for mobile devices
- HTML5 - Semantic markup
- CSS3 - Modern styling with CSS Grid, Flexbox, and animations
- JavaScript (ES6+) - Interactive functionality
- EmailJS - Email service integration
- Font Awesome - Icon library
- Google Fonts (Inter) - Typography
-
Clone or download this repository
git clone <your-repo-url> cd portfolio
-
No build process required! Just open
index.htmlin your browser -
For local development, you can use a simple HTTP server:
# Python 3 python -m http.server 8000 # Node.js (with http-server) npx http-server # PHP php -S localhost:8000
-
Open
http://localhost:8000in your browser
Edit index.html to update:
- Your name and title
- Project descriptions and images
- Skills and expertise
- Contact information
- Social media links
- Profile Image: Place
profile.jpgin theimages/folder - Project Images: Add
project1.jpg,project2.jpg, etc. in theimages/folder - See
images/README.txtfor detailed instructions
Follow the guide in EMAILJS_SETUP.md to:
- Create an EmailJS account
- Configure email service
- Update credentials in
script.js
Edit CSS variables in styles.css (lines 1-15):
:root {
--bg: #0b1021;
--panel: #0f162f;
--text: #e7ecf5;
--accent: #6f7cf6;
--accent-2: #22d3ee;
/* ... */
}portfolio/
β
βββ index.html # Main HTML file
βββ styles.css # All styles and animations
βββ script.js # JavaScript functionality
βββ resume.html # Resume template (printable as PDF)
β
βββ images/ # Image assets
β βββ profile.jpg # Your profile picture
β βββ project1.jpg # Project screenshots
β βββ project2.jpg
β βββ README.txt # Image setup instructions
β
βββ README.md # This file
βββ EMAILJS_SETUP.md # Email setup guide
The portfolio uses CSS custom properties for easy theming. Modify the :root and [data-theme="light"] selectors in styles.css.
- Copy a project card in the
work__gridsection - Update the content (title, description, tags)
- Add your project image to the
images/folder - Update the
background-imagestyle or use an<img>tag
Each section is clearly marked in index.html. Simply edit the content within each <section> tag.
The contact form uses EmailJS to send emails. Setup is required:
- Sign up at EmailJS.com
- Create an email service
- Create an email template
- Update credentials in
script.js
See EMAILJS_SETUP.md for detailed instructions.
- Push your code to GitHub
- Go to repository Settings β Pages
- Select main branch
- Your site will be live at
username.github.io/repository-name
- Drag and drop your project folder to Netlify
- Or connect your GitHub repository
- Site is live instantly!
- Install Vercel CLI:
npm i -g vercel - Run
vercelin your project directory - Follow the prompts
- Firebase Hosting
- Surge.sh
- Any static hosting service
- β Chrome (latest)
- β Firefox (latest)
- β Safari (latest)
- β Edge (latest)
- β Mobile browsers
- Check EmailJS credentials in
script.js - Verify EmailJS account is active
- Check browser console for errors
- Ensure images are in the
images/folder - Check file names match exactly (case-sensitive)
- Verify image file extensions
- Check browser localStorage is enabled
- Clear browser cache and try again
This project is open source and available under the MIT License.
- Fonts: Google Fonts - Inter
- Icons: Font Awesome
- Email Service: EmailJS
If you have questions or need help:
- Check the setup guides in the repository
- Review the code comments
- Open an issue on GitHub
Potential features to add:
- Blog section
- Testimonials section
- Analytics integration
- Multi-language support
- Advanced animations
- Portfolio filtering/search
Made with β€οΈ for showcasing your work