A modern, responsive portfolio website showcasing my work as a Full Stack Developer and Digital Experience Designer.
This is my personal portfolio website featuring smooth animations, modern design, and an interactive user experience. Built with vanilla JavaScript featuring Shery.js effects, native scroll, and a horizontal project gallery with swipe navigation.
- Smooth Animations - CSS-based animations with native scroll
- Shery.js Effects - Custom mouse follower, magnetic buttons, and liquid distortion effects (on desktop)
- Horizontal Scroll Gallery - Desktop: scroll-based horizontal navigation, Mobile: touch swipe carousel
- Dark/Light Theme Toggle - Switch between themes with persistent preference
- Typewriter Effect - Fun facts rotator with CLI-style typing animation
- Responsive Design - Mobile-first design with hamburger menu
- Dynamic Content - Easy to update via
data.jsconfiguration - Skill Progress Bars - Animated progress bars with visual feedback
- Frontend: HTML5, CSS3, JavaScript (ES6+)
- Animations: CSS3, Shery.js
- Icons: Font Awesome
- Fonts: Google Fonts (Inter, Syne)
- Deployment: Vercel
βββ index.html # Main HTML file
βββ styles.css # Styling with CSS variables & themes
βββ script.js # Animations & interactivity
βββ data.js # Portfolio content configuration
βββ vercel.json # Vercel deployment config
βββ assets/
β βββ images/ # Images and logos
βββ libs/
βββ lenis.min.js # Smooth scroll library (currently disabled)
-
Clone the repository
git clone https://github.com/AshishOP/GitPortfolio.git cd GitPortfolio -
Customize your portfolio
- Edit
data.jsto update your personal information, skills, projects, and education - Replace images in
assets/images/with your own - Update social links and contact information
- Edit
-
Run locally
- Use a local server (required for Shery.js effects):
# Using Python python -m http.server 8000 # Using Node.js npx http-server
- Open
http://localhost:8000in your browser
- Use a local server (required for Shery.js effects):
-
Deploy
- Push to GitHub and connect to Vercel for automatic deployments
Edit data.js to update your information:
const portfolioData = {
name: "Your Name",
roles: ["Role 1", "Role 2", "Role 3"],
bio: "Your bio here...",
// Contact
email: "your.email@example.com",
// Social Links
social: {
github: "https://github.com/yourusername",
linkedin: "https://linkedin.com/in/yourprofile",
instagram: "https://instagram.com/yourhandle"
},
skillProgress: [
{ name: "Python", percentage: 55 },
{ name: "HTML & CSS", percentage: 65 },
{ name: "JavaScript", percentage: 60 },
{ name: "TypeScript", percentage: 35 },
// Add more skills...
];projects: [
{
name: "Project Name",
description: "Project description",
image: "assets/images/project-image.png",
role: "Full Stack Developer",
number: "01",
stack: ["React", "Node.js", "PostgreSQL"],
link: "https://project-demo.com"
// For unreleased projects, add: comingSoon: true
}
];education: [
{
school: "University Name",
degree: "Bachelor of Science in Computer Science",
duration: "2023 β 2026",
description: "Description of your studies",
highlights: [
{
icon: "code",
title: "Highlight Title",
description: "Highlight description here"
}
],
logo: "assets/images/logo.webp"
}
];Edit CSS variables in styles.css:
:root {
--black: #050505;
--white: #ffffff;
--gray: #888888;
--font-main: 'Inter', sans-serif;
--font-display: 'Syne', sans-serif;
}For light theme customization, modify the [data-theme="light"] section.
- β¨ Hero section with roles and CLI-style typewriter effect
- πΌ Philosophy/About section
- π οΈ Skills with animated progress bars
- π Education with highlights
- π Featured projects (desktop: horizontal scroll, mobile: swipe carousel)
- π¬ Contact footer
- Shery.js effects require running from a local server (not
file://protocol) - Liquid distortion only works on desktop (screen width > 768px)
- Lenis smooth scroll is currently disabled for better compatibility
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Keep the code clean and readable
- Test your changes on both desktop and mobile
- Update documentation if needed
- Follow the existing code style
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
What this means:
- β You can use this code for personal and commercial projects
- β You can modify and distribute it
- β You must include the original license and copyright notice
- β You must disclose your source code when distributing
- β Any modifications must also be licensed under GPL-3.0
Ashish Shukla
- GitHub: @AshishOP
- LinkedIn: @ashish-shukla
- Instagram: @icy4sh
- Website: icy4sh.studio
Give a βοΈ if this project helped you! Feel free to fork and make it your own.
This project is open source and available under GPL-3.0. You're welcome to fork it and customize it for your own portfolio:
- Click the Fork button at the top right of this repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/GitPortfolio.git - Customize data.js with your information
- Replace images in the
assets/images/folder with your own - Deploy to your favorite hosting platform (Vercel, Netlify, GitHub Pages)
- Remember to credit the original source and maintain the GPL-3.0 license
Happy coding! π