A stunning, modern personal portfolio website showcasing advanced web development capabilities with cutting-edge animations, responsive design, and exceptional user experience.
- π Aurora Background - Beautiful animated gradient blobs in light mode, twinkling stars in dark mode
- π« Split Text Animation - Character-by-character entrance effect for hero heading
- β‘ Click Spark Effects - Interactive particle effects on every click
- π’ Count Up Animations - Numbers animate from 0 to target values on scroll
- π― Spotlight Cursor Effects - Dynamic glow that follows cursor on project cards
- π Theme System - Smooth dark/light mode transitions with OLED black support
- π± Fully Responsive - Optimized for mobile, tablet, and desktop
- β‘ Performance Optimized - Lazy loading, code splitting, and efficient animations
- π Interactive Elements - 3D tilt cards, hover effects, and micro-interactions
- π GitHub Integration - Live contribution graph with interactive tooltips
- π§ Contact System - Working contact form with EmailJS integration
- π SEO Optimized - Meta tags, sitemap, and robots.txt
- π― Accessibility - ARIA labels, semantic HTML, keyboard navigation
- Mobile-First Approach - Designed for small screens, scaled up beautifully
- Touch-Friendly - Optimized touch targets and gestures
- Adaptive Layouts - Smart repositioning for different screen sizes
- Performance - Optimized images and animations for mobile networks
- React 18 - Modern hooks-based architecture
- TypeScript - Type-safe development
- Vite - Lightning-fast build tool
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - Beautiful, accessible component library
- Framer Motion - Production-ready motion library
- next-themes - Perfect dark mode implementation
- Framer Motion - Smooth, performant animations
- Canvas API - Custom background animations
- CSS Animations - Hardware-accelerated effects
- React GitHub Calendar - Interactive contribution graph
- ESLint - Code quality and consistency
- Vitest - Modern testing framework
- PostCSS - CSS processing and optimization
- GitHub Pages - Static hosting
- EmailJS - Contact form functionality
- GitHub API - Real-time data fetching
π¦ src/
βββ π¨ components/ # Reusable UI components
β βββ π ui/ # shadcn/ui base components
β βββ π Hero.tsx # Hero section with animations
β βββ π€ About.tsx # About section with GitHub graph
β βββ πΌ Skills.tsx # Skills showcase with categories
β βββ π Projects.tsx # Project cards with effects
β βββ πΌ Experience.tsx # Work experience timeline
β βββ π Education.tsx # Education & certifications
β βββ π§ Contact.tsx # Contact form with validation
β βββ π StarsBackground.tsx # Dual-mode background
β βββ β¨ SplitText.tsx # Text animation component
β βββ β‘ ClickSpark.tsx # Click effect component
β βββ π’ CountUp.tsx # Number animation
β βββ π― ThemeToggle.tsx # Theme switcher
βββ π data/ # Static data and content
β βββ π projects.ts # Project metadata
β βββ π skills.ts # Skills categories
β βββ π socials.tsx # Social links
β βββ π projectEntries.tsx # Detailed project data
βββ πͺ hooks/ # Custom React hooks
β βββ π± use-mobile.ts # Mobile detection
β βββ π― use-theme.ts # Theme utilities
βββ π§ lib/ # Utility functions
β βββ π motion.ts # Animation presets
β βββ π§ utils.ts # Helper functions
βββ π pages/ # Route components
β βββ π Index.tsx # Home page
β βββ π Resume.tsx # Resume page
β βββ π ProjectDetail.tsx # Project details
β βββ π« NotFound.tsx # 404 page
βββ π¨ index.css # Global styles & theme variables
βββ βοΈ main.tsx # App entry point
βββ π± vite-env.d.ts # Vite type definitions
# Build and deploy to GitHub Pages
npm run deploy- Development Build -
npm run build:dev - Production Build -
npm run build - Preview Locally -
npm run preview - Deploy to Pages -
npm run deploy
The deployment process:
- Builds the project with Vite
- Optimizes assets and code splitting
- Pushes to
Yogesh-VG0.github.iorepository - Automatically updates the live site
- Lighthouse Score: 95+ (Performance, Accessibility, Best Practices, SEO)
- Bundle Size: < 500KB (gzipped)
- First Contentful Paint: < 1.5s
- Largest Contentful Paint: < 2.5s
- Code Splitting - Lazy loaded components and routes
- Image Optimization - WebP format, lazy loading, proper sizing
- CSS Optimization - Purge unused styles, minification
- Tree Shaking - Remove unused JavaScript
- Caching Strategy - Static asset caching with service worker
- Critical CSS - Inline critical styles, defer non-critical
- Touch Targets - Minimum 44px touch areas
- Viewport Meta - Proper mobile viewport configuration
- Responsive Images - Srcset and sizes attributes
- Reduced Motion - Respect user's motion preferences
| Browser | Version | Support |
|---|---|---|
| Chrome | 90+ | β Full |
| Firefox | 88+ | β Full |
| Safari | 14+ | β Full |
| Edge | 90+ | β Full |
| iOS | 14+ | β Full |
| Android | 10+ | β Full |
- Create Account - Sign up at EmailJS
- Email Service - Configure your email provider (Gmail, Outlook, etc.)
- Create Template - Design your email template
- Update Credentials in
src/components/Contact.tsx:
const EMAILJS_SERVICE_ID = "your_service_id";
const EMAILJS_TEMPLATE_ID = "your_template_id";
const EMAILJS_PUBLIC_KEY = "your_public_key";Colors and themes are defined in src/index.css:
:root {
--background: 220 20% 97%; /* Light mode background */
--foreground: 222 40% 8%; /* Light mode text */
--primary: 217 91% 55%; /* Primary brand color */
}
.dark {
--background: 0 0% 0%; /* Dark mode background */
--foreground: 210 20% 93%; /* Dark mode text */
--primary: 217 91% 60%; /* Dark mode primary */
}Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Follow the existing code style and conventions
- Use TypeScript for all new code
- Add appropriate comments for complex logic
- Test on multiple screen sizes
- Ensure accessibility standards are met
Build Errors
# Clear cache and reinstall
rm -rf node_modules package-lock.json
npm installAnimation Performance
- Check browser's performance tab
- Reduce animation complexity on lower-end devices
- Use
will-changeproperty sparingly
Mobile Issues
- Test in Chrome DevTools device mode
- Check touch target sizes
- Verify viewport meta tag
This project is licensed under the MIT License - see the LICENSE file for details.
If you find this portfolio helpful or inspiring:
- β Star the repository
- π Fork and customize it
- π’ Share it with others
- π¬ Provide feedback for improvements
Made with β€οΈ and β by Yogesh Vadivel
Built with modern web technologies to showcase the art of frontend development