An innovative, interactive portfolio crafted with cutting-edge React 18 technology, featuring smooth Framer Motion animations and elegant Tailwind CSS styling. This showcase presents my professional journey through dynamic project galleries, animated skill visualizations, and an intelligent AI career assistant. Built with enterprise-level architecture, accessibility-first design, and optimized performance for an exceptional user experience across all devices.
| Category | Desktop | Mobile |
|---|---|---|
| Performance | 100 | 89 |
| Accessibility | 100 | 100 |
| Best Practices | 96 | 96 |
| SEO | 100 | 100 |
- Core Web Vitals: Excellent scores for CLS, LCP, and FCP
- Desktop: Perfect 100 performance with ultra-fast loading
- Mobile: Smooth experience with industry-leading optimization
- Accessibility: Perfect 100 scores with WCAG AA compliance
- Modern Standards: Exceeds accessibility and SEO requirements
- Hero Section: Grid layout with animated CTAs, floating geometric shapes, and skills showcase
- Interactive Navigation: Active section indicators with smooth scroll animations
- 4-Theme System: Default, Neon, Minimal, and Corporate themes with system preference detection
- Advanced Micro-interactions: Hover effects, loading states, keyboard shortcuts, and toast notifications
- Unified Typography: Consistent heading styles across all themes with gradient effects
- Component Organization: Logical folder structure (
layout/,sections/,ui/) - Clean Code: TypeScript-ready with consistent patterns and best practices
- Performance Optimized: Code splitting, lazy loading, and optimized bundle size
- Scalable Structure: Enterprise-ready organization with error boundaries and accessibility utilities
- Design System: Unified typography, accessibility, and theme-aware components
- AI Assistant: Interactive Hugging Face-powered chatbot with career information and project insights
- Experience Timeline: Modern card-based layout with expandable details
- Project Gallery: Revolutionary 3-component system with clean cards, tabbed modals, and adaptive live previews
- Skills Visualization: Interactive charts with proficiency levels and project counts
- Professional References: Elegant carousel with testimonials and LinkedIn integration
- Contact Forms: Professional contact system with project type categorization
- AI-Powered Career Assistant: Integrated Hugging Face Spaces chatbot for interactive career Q&A
- Smart Integration: Dual access via dedicated section and project card
- Theme-Aware Design: Complete integration with all 4 theme variations
- Enhanced UX: Modern animations, feature grids, and micro-interactions
- Secure Embedding: iframe with proper sandbox attributes and fallback UI
- Revolutionary Project System: 3-component architecture solving UX problems while maintaining performance
- ProjectCard: Eliminated 3D flip conflicts, clean hover effects, tech stack previews, 4-theme support
- ProjectModal: Mobile-first tabbed interface with responsive sizing (
max-w-sm sm:max-w-4xl) - LiveDemoPreview: Adaptive controls (desktop overlay vs mobile panel), real-time responsive detection
- GitHub Activity: Real-time activity feed with API integration
- Performance Metrics: Integrated Lighthouse scores with animated displays
- Mobile Excellence: Touch-optimized controls, responsive layouts, adaptive text sizing
- Accessibility: WCAG AA compliance with keyboard navigation and screen reader support
- Toast Notifications: Theme-aware notification system with multiple types
- Error Boundaries: Graceful error handling with user-friendly fallbacks
- React 18 - Modern React with hooks and concurrent features
- Vite - Fast build tool and development server
- Tailwind CSS - Utility-first CSS framework
- Framer Motion - Production-ready motion library
- React Icons - Comprehensive icon library
- GitHub REST API - Live activity integration
- Google Drive API - CV download functionality
- ESLint & Prettier - Code quality and formatting
- Vite Plugin React - Fast refresh and optimized builds
- PostCSS - CSS processing and optimization
git clone https://github.com/liuyuelintop/react-portfolio.git
cd react-portfolioYou can use npm or pnpm to install dependencies.
Using npm:
npm installUsing pnpm (Recommended for faster installation):
pnpm installCreate a .env file in the root directory:
VITE_GOOGLE_FOLDER_ID=your_google_drive_folder_id
VITE_GOOGLE_API_KEY=your_google_api_key
VITE_GITHUB_USERNAME=your_github_usernameUsing npm:
npm run devUsing pnpm:
pnpm run devVisit http://localhost:5173 to see your portfolio.
Using npm:
npm run build
npm run preview # Preview production build locallyUsing pnpm:
pnpm run build
pnpm run preview # Preview production build locallysrc/
βββ components/
β βββ layout/ # Navigation & layout components
β β βββ Navbar/ # Active navigation with scroll detection
β β βββ FloatingNavigation/
β βββ sections/ # Main content sections
β β βββ Hero/ # Landing section with grid layout
β β βββ Chatbot/ # AI Assistant section integration
β β βββ CareerChatbot/ # Interactive AI chatbot component
β β βββ Experience/ # Professional timeline
β β βββ Skills/ # Interactive skills visualization
β β βββ Projects/ # Project gallery with live previews
β β βββ References/ # Professional testimonials
β β βββ Contact/ # Contact forms and information
β β βββ PersonalBranding/
β β βββ GitHubActivity/
β βββ ui/ # Reusable UI components
β βββ animations/ # Animation utilities
β βββ common/ # Shared components (Button, Toast, ErrorBoundary, etc.)
β βββ forms/ # Form components
βββ constants/ # Application data and configuration
βββ contexts/ # React contexts (theme, etc.)
βββ hooks/ # Custom React hooks
βββ utils/ # Utility functions (accessibility, typography, etc.)
βββ assets/ # Static assets and images
// Unified component imports
import { Hero, Projects, Experience } from '../components';
// Organized constants
import { HERO_CONTENT, PROJECTS, SKILLS_DATA } from '../constants';
// Custom hooks
import { useTypingAnimation, useScrollAnimation } from '../hooks';- Hero animations and typing effects
- 3D project cards with interactive previews
- Theme system with localStorage persistence
- Live demo previews with smart project detection
- GitHub activity integration
- Professional contact forms
- Scroll-triggered animations
- Complete Experience section redesign
- Enhanced Project and Reference sections
- Modern Navbar with active indicators
- Hero section grid layout overhaul
- Comprehensive component restructuring
- Logical folder organization
- Import path optimization
- Documentation and cleanup
- Enhanced accessibility with WCAG AA compliance
- Advanced micro-interactions and toast notifications
- Error boundaries and graceful failure handling
- Unified typography system across all themes
- Keyboard navigation with shortcuts (Alt+H/A/P/E/S/C)
- Theme-aware focus management and loading states
- Hugging Face Spaces chatbot integration with secure iframe embedding
- Dual access via dedicated section and project card
- Theme-aware design with modern animations and micro-interactions
- Enhanced UX with feature grids, shine effects, and staggered animations
- Mobile-first responsive design with touch optimization
- Keyboard shortcut (Alt+A) and floating navigation integration
- Code Splitting: React.lazy() for route-level splitting
- Tree Shaking: Optimized imports and unused code elimination
- Asset Optimization: WebP images and lazy loading
- Bundle Analysis: Minimal dependencies and optimized chunks
- Memoization: React.memo and useMemo for expensive operations
- Efficient Animations: Framer Motion with transform optimizations
- Scroll Performance: Intersection Observer for scroll-based animations
- State Management: Optimized context usage and local state
- Create component in
src/components/sections/YourSection/ - Add data constants in
src/constants/yourSection.js - Import and add to
src/App.jsx - Update navigation in
SECTION_LINKS
- Personal Info: Update
src/constants/constants.js - Projects: Modify
src/constants/projects.js - Experience: Edit
src/constants/experiences.js - Skills: Update
src/constants/skills.js
- Colors: Modify theme definitions in
src/contexts/ThemeContext.jsx - Styling: Update Tailwind configuration in
tailwind.config.js - Animations: Customize motion variants in component animation files
This project uses npm or pnpm for script execution.
Using npm:
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint
npm run lint:fix # Fix ESLint issuesUsing pnpm:
pnpm run dev # Start development server
pnpm run build # Build for production
pnpm run preview # Preview production build
pnpm run lint # Run ESLint
pnpm run lint:fix # Fix ESLint issues- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Follow the existing component structure and patterns
- Ensure all imports use the organized folder structure
- Test your changes with
npm run build - Commit with clear messages:
git commit -m "feat: add your feature" - Push and create a Pull Request
- Follow the established folder organization
- Use TypeScript-compatible patterns
- Maintain component documentation
- Ensure responsive design
- Test across different themes
Comprehensive development documentation is available in the docs/claude-development/ folder:
- Project Structure Guide - Complete architecture overview
- Development Logs - Detailed daily progress and phase implementations
- Claude Integration - AI-assisted development setup
MIT License - Feel free to use this project for your own portfolio!
Yuelin Liu - Full Stack Developer & AI Engineer
If this project helped you create an amazing portfolio, please:
- β Star this repository
- π΄ Fork it for your own use
- π’ Share it with others
- π Report any issues
Built with β€οΈ using React, Tailwind CSS, and Claude Code assistance
