Skip to content

Yogesh-VG0/Yogesh-Portfolio_Source

Repository files navigation

πŸš€ Yogesh Vadivel - Portfolio

Portfolio Banner React TypeScript Tailwind CSS

Live Site GitHub stars License

A stunning, modern personal portfolio website showcasing advanced web development capabilities with cutting-edge animations, responsive design, and exceptional user experience.

✨ Key Features

🎨 Visual Excellence

  • 🌟 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

πŸ› οΈ Technical Features

  • πŸ“± 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

πŸ“± Responsive Design

  • 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

πŸ› οΈ Tech Stack

🎯 Frontend Framework

  • React 18 - Modern hooks-based architecture
  • TypeScript - Type-safe development
  • Vite - Lightning-fast build tool

🎨 Styling & UI

  • Tailwind CSS - Utility-first CSS framework
  • shadcn/ui - Beautiful, accessible component library
  • Framer Motion - Production-ready motion library
  • next-themes - Perfect dark mode implementation

⚑ Animations & Effects

  • Framer Motion - Smooth, performant animations
  • Canvas API - Custom background animations
  • CSS Animations - Hardware-accelerated effects
  • React GitHub Calendar - Interactive contribution graph

πŸ”§ Development Tools

  • ESLint - Code quality and consistency
  • Vitest - Modern testing framework
  • PostCSS - CSS processing and optimization
  • GitHub Pages - Static hosting

πŸ“§ Services

  • EmailJS - Contact form functionality
  • GitHub API - Real-time data fetching

πŸ“ Project Architecture

πŸ“¦ 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

🌐 Deployment

πŸš€ Quick Deploy

# Build and deploy to GitHub Pages
npm run deploy

πŸ“¦ Build Process

  1. Development Build - npm run build:dev
  2. Production Build - npm run build
  3. Preview Locally - npm run preview
  4. Deploy to Pages - npm run deploy

The deployment process:

  • Builds the project with Vite
  • Optimizes assets and code splitting
  • Pushes to Yogesh-VG0.github.io repository
  • Automatically updates the live site

⚑ Performance & Optimization

🎯 Performance Metrics

  • Lighthouse Score: 95+ (Performance, Accessibility, Best Practices, SEO)
  • Bundle Size: < 500KB (gzipped)
  • First Contentful Paint: < 1.5s
  • Largest Contentful Paint: < 2.5s

οΏ½ Optimizations

  • 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

πŸ“± Mobile Optimizations

  • 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 Support

Browser Version Support
Chrome 90+ βœ… Full
Firefox 88+ βœ… Full
Safari 14+ βœ… Full
Edge 90+ βœ… Full
iOS 14+ βœ… Full
Android 10+ βœ… Full

πŸ“§ Contact & Configuration

πŸ”„ EmailJS Setup

  1. Create Account - Sign up at EmailJS
  2. Email Service - Configure your email provider (Gmail, Outlook, etc.)
  3. Create Template - Design your email template
  4. 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";

🎨 Theme Customization

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 */
}

🀝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

πŸ“‹ Development Guidelines

  • 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

πŸ› Troubleshooting

πŸ”§ Common Issues

Build Errors

# Clear cache and reinstall
rm -rf node_modules package-lock.json
npm install

Animation Performance

  • Check browser's performance tab
  • Reduce animation complexity on lower-end devices
  • Use will-change property sparingly

Mobile Issues

  • Test in Chrome DevTools device mode
  • Check touch target sizes
  • Verify viewport meta tag

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

🌟 Show Your Support

If you find this portfolio helpful or inspiring:

  • ⭐ Star the repository
  • πŸ”„ Fork and customize it
  • πŸ“’ Share it with others
  • πŸ’¬ Provide feedback for improvements

πŸ“¬ Get in Touch

Email LinkedIn GitHub Portfolio


Made with ❀️ and β˜• by Yogesh Vadivel

Built with modern web technologies to showcase the art of frontend development

About

Personal portfolio website showcasing full-stack projects with AI/ML, real-time data, and modern web technologies

Topics

Resources

Stars

Watchers

Forks

Contributors