A modern, responsive portfolio website built with React, featuring smooth scrolling animations, glassmorphism design, and interactive components.
- Modern Design: Glassmorphism UI with gradient text effects and smooth animations
- Responsive Layout: Optimized for all device sizes
- Smooth Scrolling: Custom scroll stack component with Lenis for buttery smooth scrolling
- Interactive Elements: Hover effects and animated transitions
- PDF Integration: Embedded resume viewer with download functionality
- Performance Optimized: Efficient rendering and animation management
- React - Frontend framework
- React Router - Client-side routing
- Lenis - Smooth scrolling library
- CSS3 - Modern styling with glassmorphism effects
- JavaScript (ES6+) - Modern JavaScript features
src/
├── components/
│ ├── GradientText.jsx # Animated gradient text component
│ ├── ScrollStack.jsx # Custom scroll stack with animations
│ └── NavBar.jsx # Navigation component
├── pages/
│ ├── Home.jsx # Landing page
│ ├── AboutMe.jsx # About section
│ ├── Projects.jsx # Projects showcase
│ ├── Resume.jsx # Resume viewer
│ └── Contact.jsx # Contact information
└── CSS/
├── NavBar.css
├── Contact.css
├── AboutMe.css
├── Projects.css
├── ScrollStack.css
└── GradientText.css
- Node.js (v14 or higher)
- npm or yarn
- Clone the repository:
git clone https://github.com/Ruhanmalik/your-portfolio-repo.git
cd your-portfolio-repo- Install dependencies:
npm install
# or
yarn install- Start the development server:
npm start
# or
yarn start- Open http://localhost:3000 to view it in the browser.
Make sure to add these files to your public folder:
pfp.jpeg- Profile picture for About Me sectionRuhan_Malik_Resume.pdf- Resume PDF fileWNReader.png- Web Novel Reader project screenshotepub.PNG- EPUB converter project screenshot
A custom component that creates a stacking scroll effect with configurable parameters:
- Item distance and scaling
- Stack positioning
- Animation duration
- Blur and rotation effects
An animated gradient text component with customizable:
- Color schemes
- Animation speed
- Border effects
- Styling options
Responsive navigation bar with glassmorphism styling and smooth transitions.
- Home: Welcome landing with gradient text and introduction
- About Me: Personal introduction with profile picture
- Projects: Showcases key projects with detailed descriptions
- Resume: Embedded PDF viewer with download option
- Contact: Contact information with social media links
The portfolio is fully responsive and optimized for:
- Desktop (1200px+)
- Tablet (768px - 1199px)
- Mobile (320px - 767px)
- Glassmorphism: Modern glass-like effects with backdrop blur
- Gradient Animations: Smooth color transitions and text effects
- Smooth Scrolling: Enhanced user experience with Lenis
- Interactive Hover States: Engaging micro-interactions
- Performance Optimized: Efficient animations using transform3d and will-change
Update the color scheme by modifying the CSS custom properties and gradient configurations in the components.
- Update personal information in each component
- Replace project descriptions and images
- Modify contact links and resume file
Adjust animation parameters in the ScrollStack component:
itemDistance: Space between stacked itemsitemScale: Scaling factor for stacked itemsstackPosition: Where items start stackinganimationSpeed: Speed of gradient animations
This project is open source and available under the MIT License.
- Email: aruhanmalik@gmail.com
- LinkedIn: linkedin.com/in/ruhan-malik/
- GitHub: github.com/Ruhanmalik
The site can be deployed to various platforms:
npm run build
# Deploy the build folder to Netlifynpm run build
# Deploy using Vercel CLI or GitHub integrationnpm install --save-dev gh-pages
# Add deployment scripts to package.json
npm run deployBuilt with ❤️ by Ruhan Malik