Skip to content

abhinav-phi/personal-website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

66 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Abhinav's Personal Portfolio Website

React Vite Tailwind CSS Framer Motion JavaScript

🎯 A Modern, High-Performance Personal Portfolio

Showcasing technical expertise through cutting-edge web technologies and optimized user experience

Live Demo GitHub


πŸ“‹ Table of Contents


🎯 Overview

This portfolio represents the intersection of modern web development and exceptional user experience. Built with performance-first principles, it showcases my journey as a Full-Stack Developer through an interactive, visually stunning interface that performs flawlessly across all devices.

🌟 What Makes This Portfolio Special

  • ⚑ Lightning Fast: Optimized for 95+ Lighthouse performance scores
  • 🎨 Visually Stunning: Modern animations and micro-interactions
  • πŸ“± Mobile-First: Seamless experience across all device sizes
  • β™Ώ Accessible: Built with accessibility best practices
  • πŸ”§ Production-Ready: Clean, maintainable, and scalable code

🌐 Live Demo

πŸ”— Visit Portfolio


✨ Key Features

🎭 Interactive UI/UX

  • Smooth Animations: Framer Motion powered transitions and micro-interactions
  • Dark/Light Mode: Seamless theme switching with system preference detection
  • Magnetic Elements: Interactive hover effects and magnetic buttons
  • Parallax Scrolling: Engaging scroll-based animations
  • Loading Experience: Beautiful animated loading screen

πŸ“± Responsive Excellence

  • Mobile-First Design: Optimized for touch interactions
  • Adaptive Layouts: Fluid grid systems that work on any screen size
  • Performance Optimized: Reduced motion for better mobile performance
  • Touch-Friendly: Optimized button sizes and interaction areas

🎯 Professional Sections

  • 🏠 About: Personal introduction with animated elements
  • πŸ’Ό Skills: Interactive skill showcase with proficiency indicators
  • πŸš€ Projects: Detailed project portfolio with live demos
  • πŸŽ“ Education: Academic background and achievements
  • πŸ† Achievements: Certifications and professional recognitions
  • πŸ“ž Contact: Multiple contact methods and social links

⚑ Performance Features

  • Code Splitting: Optimized bundle sizes for faster loading
  • Lazy Loading: Components and images load on demand
  • Memoization: React.memo and useMemo for optimal re-renders
  • Optimized Assets: Compressed images and efficient asset loading

πŸ› οΈ Tech Stack

Frontend Framework

  • React 18 - Latest React with concurrent features
  • Vite - Lightning-fast build tool and dev server
  • JavaScript ES6+ - Modern JavaScript features

Styling & Design

  • Tailwind CSS - Utility-first CSS framework
  • PostCSS - CSS processing and optimization
  • Custom CSS - Performance-optimized custom styles

Animations & Interactions

  • Framer Motion - Production-ready motion library
  • Lottie React - High-quality animations
  • GSAP - Professional-grade animations
  • Custom Hooks - Reusable animation logic

Development Tools

  • ESLint - Code quality and consistency
  • Git & GitHub - Version control and collaboration
  • VS Code - Development environment
  • Chrome DevTools - Performance optimization

Deployment & Hosting

  • Vercel - Serverless deployment platform
  • GitHub Actions - CI/CD pipeline
  • Domain Management - Custom domain configuration

πŸš€ Quick Start

Prerequisites

Ensure you have the following installed:

  • Node.js (v16.0.0 or higher)
  • npm or yarn
  • Git

Installation

# Clone the repository
git clone https://github.com/abhinav-phi/personal-website.git

# Navigate to project directory
cd personal-website

# Install dependencies
npm install

# Start development server
npm run dev

Development Server

# Start dev server (usually runs on http://localhost:5173)
npm run dev

# Build for production
npm run build

# Preview production build
npm run preview

# Lint code
npm run lint

πŸ“ Project Structure

personal-website/
β”œβ”€β”€ πŸ“ public/
β”‚   β”œβ”€β”€ πŸ“ assets/
β”‚   β”‚   β”œβ”€β”€ πŸ“ awards/          # Achievement images
β”‚   β”‚   β”œβ”€β”€ πŸ“ certificates/    # Certification images
β”‚   β”‚   β”œβ”€β”€ πŸ“ logo/           # Brand assets
β”‚   β”‚   β”œβ”€β”€ πŸ“ projects/       # Project screenshots
β”‚   β”‚   └── πŸ“ skills/         # Technology icons
β”‚   └── πŸ“„ index.html
β”œβ”€β”€ πŸ“ src/
β”‚   β”œβ”€β”€ πŸ“ components/
β”‚   β”‚   β”œβ”€β”€ πŸ“ animations/     # Reusable animation components
β”‚   β”‚   β”‚   β”œβ”€β”€ InteractiveElements.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ ScrollAnimations.jsx
β”‚   β”‚   β”‚   └── TextReveal.jsx
β”‚   β”‚   β”œβ”€β”€ πŸ“ ui/            # UI components
β”‚   β”‚   β”‚   β”œβ”€β”€ button.jsx
β”‚   β”‚   β”‚   └── ModernCard.jsx
β”‚   β”‚   β”œβ”€β”€ About.jsx         # About section
β”‚   β”‚   β”œβ”€β”€ Achievements.jsx  # Achievements showcase
β”‚   β”‚   β”œβ”€β”€ Contact.jsx       # Contact information
β”‚   β”‚   β”œβ”€β”€ Education.jsx     # Educational background
β”‚   β”‚   β”œβ”€β”€ Navbar.jsx        # Navigation component
β”‚   β”‚   β”œβ”€β”€ Projects.jsx      # Project portfolio
β”‚   β”‚   β”œβ”€β”€ Skills.jsx        # Skills showcase
β”‚   β”‚   └── SplitText.jsx     # Text animation component
β”‚   β”œβ”€β”€ πŸ“ lib/
β”‚   β”‚   └── utils.js          # Utility functions
β”‚   β”œβ”€β”€ πŸ“ lottie/           # Animation files
β”‚   β”œβ”€β”€ App.jsx              # Main application component
β”‚   β”œβ”€β”€ index.css            # Global styles
β”‚   └── main.jsx             # Application entry point
β”œβ”€β”€ πŸ“„ package.json
β”œβ”€β”€ πŸ“„ tailwind.config.js
β”œβ”€β”€ πŸ“„ vite.config.js
└── πŸ“„ README.md

🎨 Design Philosophy

Modern Aesthetic

  • Minimalist Design: Clean layouts with purposeful white space
  • Gradient Accents: Subtle gradients for visual depth
  • Consistent Typography: Poppins font family for readability
  • Color Harmony: Carefully selected color palette

User Experience

  • Intuitive Navigation: Clear, accessible navigation patterns
  • Progressive Disclosure: Information revealed contextually
  • Feedback Systems: Visual feedback for all interactions
  • Loading States: Smooth transitions between states

Performance First

  • Mobile Optimization: Reduced animations on mobile devices
  • Efficient Rendering: Optimized component re-renders
  • Asset Optimization: Compressed and optimized media files
  • Code Splitting: Lazy-loaded components and routes

πŸ“± Responsive Design

Device Type Breakpoint Optimizations
πŸ“± Mobile < 768px Touch-optimized navigation, stacked layouts, reduced animations
πŸ“Ÿ Tablet 768px - 1024px Grid-based layouts, adjusted spacing, hybrid interactions
πŸ’» Desktop > 1024px Full feature set, advanced hover effects, multi-column layouts
πŸ–₯️ Large Screens > 1440px Enhanced spacing, larger typography, expanded layouts

Mobile-Specific Optimizations

  • Touch Targets: Minimum 44px touch targets
  • Reduced Motion: Respects user's motion preferences
  • Optimized Images: WebP format with fallbacks
  • Efficient Animations: Hardware-accelerated transforms

⚑ Performance

Lighthouse Scores

Metric Score Optimization
Performance 95+ Code splitting, lazy loading, optimized assets
Accessibility 95+ Semantic HTML, ARIA labels, keyboard navigation
Best Practices 95+ Modern web standards, security headers
SEO 95+ Meta tags, structured data, semantic markup

Performance Optimizations

Frontend Optimizations

  • React.memo(): Prevents unnecessary re-renders
  • useMemo(): Memoizes expensive calculations
  • useCallback(): Optimizes event handlers
  • Code Splitting: Dynamic imports for route-based splitting

Asset Optimizations

  • Image Optimization: WebP format with fallbacks
  • Font Loading: Optimized Google Fonts loading
  • CSS Optimization: Purged unused Tailwind classes
  • Bundle Analysis: Optimized chunk sizes

Runtime Optimizations

  • Virtual Scrolling: For large lists (if applicable)
  • Debounced Inputs: Optimized search and filter inputs
  • Intersection Observer: Efficient scroll-based animations
  • RequestAnimationFrame: Smooth animation loops

πŸ”§ Development

Available Scripts

# Development
npm run dev          # Start development server with HMR
npm run build        # Build for production
npm run preview      # Preview production build locally
npm run lint         # Run ESLint for code quality

# Deployment
npm run deploy       # Deploy to production (if configured)

Development Workflow

  1. Feature Development

    git checkout -b feature/new-feature
    npm run dev
    # Develop your feature
    npm run lint
    git commit -m "feat: add new feature"
  2. Testing & Quality Assurance

    npm run build      # Test production build
    npm run preview    # Test production locally
    npm run lint       # Check code quality
  3. Deployment

    git push origin feature/new-feature
    # Create pull request
    # Merge to main triggers automatic deployment

Code Quality Standards

  • ESLint Configuration: Enforces consistent code style
  • Prettier Integration: Automatic code formatting
  • Component Structure: Consistent component organization
  • Performance Monitoring: Regular performance audits

πŸš€ Deployment

Vercel Deployment (Recommended)

  1. Connect Repository

    • Link your GitHub repository to Vercel
    • Configure build settings:
      • Build Command: npm run build
      • Output Directory: dist
      • Install Command: npm install
  2. Environment Variables

    # Add any required environment variables in Vercel dashboard
    VITE_API_URL=your_api_url
  3. Custom Domain (Optional)

    • Configure custom domain in Vercel dashboard
    • Update DNS settings as required

Alternative Deployment Options

Netlify

# Build settings
Build command: npm run build
Publish directory: dist

GitHub Pages

npm install --save-dev gh-pages
# Add deploy script to package.json
npm run deploy

Performance Monitoring

  • Vercel Analytics: Built-in performance monitoring
  • Lighthouse CI: Automated performance testing
  • Error Tracking: Production error monitoring

🀝 Contributing

I welcome contributions, suggestions, and feedback! Here's how you can contribute:

Contribution Guidelines

  1. Fork the Repository

    git fork https://github.com/abhinav-phi/personal-website.git
  2. Create Feature Branch

    git checkout -b feature/amazing-feature
  3. Make Changes

    • Follow existing code style and conventions
    • Add comments for complex logic
    • Test your changes thoroughly
  4. Commit Changes

    git commit -m "feat: add amazing feature"
  5. Push and Create PR

    git push origin feature/amazing-feature
    # Create pull request with detailed description

Types of Contributions Welcome

  • πŸ› Bug Fixes: Report and fix bugs
  • ✨ Feature Enhancements: Suggest and implement new features
  • πŸ“š Documentation: Improve documentation and README
  • 🎨 Design Improvements: UI/UX enhancements
  • ⚑ Performance: Optimization suggestions
  • β™Ώ Accessibility: Accessibility improvements

Development Setup for Contributors

# Clone your fork
git clone https://github.com/YOUR_USERNAME/personal-website.git
cd personal-website

# Add upstream remote
git remote add upstream https://github.com/abhinav-phi/personal-website.git

# Install dependencies
npm install

# Start development server
npm run dev

πŸ“ž Contact

Let's Connect and Build Something Amazing Together! πŸš€

Abhinav β€” Full-Stack Developer & Tech Enthusiast

Portfolio LinkedIn GitHub Email

🀝 Professional Opportunities

  • πŸ’Ό Open to Internship Opportunities
  • πŸš€ Available for Freelance Projects
  • 🀝 Interested in Collaboration
  • πŸ“š Always Learning New Technologies

πŸ“§ Get In Touch


🌟 If you found this project interesting, please consider starring the repository!

GitHub stars GitHub forks GitHub watchers

Made with ❀️ and β˜• by Abhinav

Crafted with modern web technologies and a passion for exceptional user experiences


πŸ“Š Repository Stats

GitHub repo size GitHub last commit GitHub commit activity


πŸ“„ License

This project is open source and available under the MIT License.

MIT License

Copyright (c) 2024 Abhinav

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

⭐ Star this repository if it helped you!

Thank you for visiting my portfolio repository. Happy coding! πŸš€

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages