A modern, responsive portfolio website built with React.js featuring dark/light theme toggle, smooth animations, and mobile-first design.
- Dark/Light Mode Toggle - Beautiful animated theme switcher
- Persistent Preferences - Remembers user's theme choice
- Smooth Transitions - Elegant color transitions between themes
- Accessibility - Proper ARIA labels and keyboard navigation
- Mobile-First Approach - Optimized for all screen sizes
- Touch-Friendly - 44px minimum touch targets
- Flexible Grid - Adapts from 3 columns to 1 column
- Cross-Device Compatibility - Works on desktop, tablet, and mobile
- Hover Animations - Cards lift and glow on hover
- Entrance Animations - Staggered fade-in effects
- Image Zoom - Subtle image scaling on hover
- Button Effects - Shimmer and lift animations
- Smooth Transitions - 60fps animations with cubic-bezier easing
- Optimized Images - Proper sizing and lazy loading
- CSS Variables - Efficient theme switching
- Minimal Dependencies - Lightweight and fast
- SEO Optimized - Proper meta tags and structure
- React.js - Frontend framework
- CSS3 - Styling and animations
- JavaScript ES6+ - Modern JavaScript features
- CSS Grid & Flexbox - Responsive layouts
- CSS Custom Properties - Theme management
- LocalStorage - Theme persistence
- Node.js (version 14 or higher)
- npm or yarn package manager
-
Clone the repository
git clone https://github.com/kumarabhishek188/My-Portfolio.git cd My-Portfolio -
Install dependencies
npm install
-
Start the development server
npm start
-
Open your browser Navigate to
http://localhost:3000
npm run buildPortfolio-main/
βββ public/
β βββ index.html
βββ src/
β βββ components/
β β βββ about/
β β βββ contact/
β β βββ experience/
β β βββ footer/
β β βββ header/
β β βββ nav/
β β βββ portfolio/
β β βββ services/
β β βββ testimonials/
β β βββ theme/
β β βββ ThemeToggle.jsx
β β βββ themeToggle.css
β βββ context/
β β βββ ThemeContext.jsx
β βββ assets/
β β βββ portfolio images
β β βββ bg-texture.png
β βββ App.jsx
β βββ index.js
β βββ index.css
βββ package.json
βββ README.md
- ThemeContext.jsx - Manages theme state and localStorage
- ThemeToggle.jsx - Animated toggle button component
- themeToggle.css - Toggle button styling and animations
- Portfolio.jsx - Main portfolio component with project grid
- portfolio.css - Responsive grid layout and animations
- Mobile-first CSS - Progressive enhancement approach
- Flexible breakpoints - 1024px, 768px, 600px, 400px
- Touch optimization - Mobile-friendly interactions
--color-bg: #1f1f38
--color-bg-variant: #2c2c6c
--color-primary: #4db5ff
--color-text: #fff--color-bg: #f0f4f8
--color-bg-variant: #ffffff
--color-primary: #2563eb
--color-text: #0f172a| Device | Breakpoint | Layout |
|---|---|---|
| Desktop | >1024px | 3-column grid |
| Tablet | 768px-1024px | 2-column grid |
| Mobile | 600px-768px | 2-column grid |
| Small Mobile | 400px-600px | 1-column grid |
| Extra Small | <400px | 1-column grid |
- Card Lift - 10px upward movement
- Image Zoom - 1.05x scale on hover
- Text Slide - 5px horizontal movement
- Button Glow - Subtle shadow effects
- Fade In Up - Staggered entrance effects
- Delayed Loading - 0.1s intervals between items
- Smooth Easing - cubic-bezier(0.175, 0.885, 0.32, 1.275)
- CSS Variables - Efficient theme switching
- Transform Animations - GPU-accelerated animations
- Optimized Images - Proper sizing and formats
- Minimal Re-renders - Efficient React state management
- Dark/Light theme toggle
- Responsive design (mobile-first)
- Smooth animations and transitions
- Touch-friendly mobile interface
- Theme persistence (localStorage)
- Accessibility features
- SEO optimization
- Cross-browser compatibility
- Performance optimization
- Modern CSS techniques
- Project filtering by technology
- Search functionality
- Project details modal
- Contact form integration
- Blog section
- Multi-language support
- PWA features
- Analytics integration
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
Abhishek Kumar
- GitHub: @kumarabhishek188
- Portfolio: Live Demo
- React.js community
- CSS Grid and Flexbox resources
- Modern web development best practices
- Open source contributors
β Star this repository if you found it helpful!
π Live Demo: https://abhishek-portfolio2025.netlify.app/