A modern, responsive portfolio website showcasing Vincent Wachira's expertise in cloud architecture, DevOps, cybersecurity, automation, and AI/ML integration. Built with React 18, Vite, and Tailwind CSS, featuring advanced animations, comprehensive performance optimizations, and interactive content sections.
- Responsive Design: Mobile-first approach with Tailwind CSS
- Smooth Animations: Framer Motion powered transitions and micro-interactions
- Dark Mode Toggle: Persistent theme switching with system preference detection
- Interactive Testimonials: Navigation arrows, auto-scroll, and modal popups
- Accessibility: ARIA labels, skip links, and keyboard navigation support
- Performance Optimized: Lazy loading, image optimization, and advanced bundle splitting
- Hero Section: Professional introduction with animated elements
- About Section: Detailed bio, achievements, and core expertise
- Projects: Six featured projects with status indicators and tech stacks
- Blog Section: Latest insights and articles with search, filtering, and social sharing
- Testimonials: Interactive client feedback with navigation arrows and auto-scroll
- Dedicated Testimonials Page: Full display of all 12 testimonials with modal viewing
- Social Media: Platform statistics and engagement metrics
- Contact Form: Integrated with Formspree for seamless communication
- Newsletter Signup: Email subscription with loading states and validation
- Advanced Performance Monitoring: Custom analytics and Core Web Vitals tracking
- Lazy Loading: Component-level code splitting with Suspense boundaries
- Image Optimization: Viewport-based loading with Intersection Observer
- Bundle Optimization: Granular code splitting with optimized chunk organization
- Interactive Blog: Search, filtering, social sharing, and modal reading
- Code Quality: ESLint configuration with flat config format
- CI/CD Pipelines: Dual deployment with GitHub Actions and CircleCI
- Security: Comprehensive .gitignore and security best practices
- React 18 - Modern React with hooks and functional components
- Vite - Fast build tool and development server
- Tailwind CSS - Utility-first CSS framework
- Framer Motion - Animation library for React
- React Router DOM - Client-side routing
- ESLint - Code linting with flat config
- Prettier - Code formatting
- Lucide React - Icon library
- Formspree - Form handling and submissions
- Intersection Observer - Lazy loading and performance monitoring
- Advanced Bundle Splitting - Manual chunks for react-vendor, router, animations, and icons
- OptimizedImage Component - Viewport-based image loading with error handling
- Performance Monitoring - Custom analytics utility with Core Web Vitals tracking
- Loading Skeletons - Professional loading states with smooth animations
- Page Transitions - Smooth navigation between pages
vince-portfolio/
├── src/
│ ├── components/ # Reusable UI components
│ │ ├── AboutSection.jsx
│ │ ├── BlogSection.jsx
│ │ ├── Contact.jsx
│ │ ├── Footer.jsx
│ │ ├── Header.jsx
│ │ ├── HeroSection.jsx
│ │ ├── LoadingSkeleton.jsx
│ │ ├── LoadingSpinner.jsx
│ │ ├── NewsletterSignup.jsx
│ │ ├── OptimizedImage.jsx
│ │ ├── PageTransition.jsx
│ │ ├── ProjectCard.jsx
│ │ ├── SocialMediaSection.jsx
│ │ └── TestimonialsSection.jsx
│ ├── contexts/ # React Context providers
│ │ └── ThemeContext.jsx
│ ├── hooks/ # Custom React hooks
│ │ └── usePerformance.js
│ ├── layouts/ # Layout components
│ │ └── MainLayout.jsx
│ ├── pages/ # Page components
│ │ ├── About.jsx
│ │ ├── Blog.jsx
│ │ ├── Contact.jsx
│ │ ├── Home.jsx
│ │ ├── Projects.jsx
│ │ └── Testimonials.jsx
│ ├── utils/ # Utility functions
│ │ └── analytics.js
│ └── assets/ # Static assets
├── .github/workflows/ # GitHub Actions CI/CD
├── .circleci/ # CircleCI configuration
├── public/ # Public assets
└── dist/ # Build output
- Node.js 18+
- npm or yarn
- Git
-
Clone the repository
git clone https://github.com/VinceBiggz/vince-portfolio.git cd vince-portfolio -
Install dependencies
npm install
-
Start development server
npm run dev
-
Open in browser Navigate to
http://localhost:5173/vince-portfolio/
| Script | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Build for production |
npm run preview |
Preview production build |
npm run deploy |
Build and deploy to GitHub Pages |
npm run lint |
Run ESLint on source files |
npm run lint:fix |
Fix ESLint errors automatically |
npm run format |
Format code with Prettier |
npm run test:build |
Test production build |
npm run analyze |
Analyze bundle size |
npm run performance |
Run performance tests |
npm run lighthouse |
Generate Lighthouse performance report |
- Component-Level Splitting: BlogSection, TestimonialsSection, and SocialMediaSection loaded on demand
- Suspense Boundaries: Professional loading skeletons during component loading
- Bundle Organization: Separate chunks for react-vendor, router, animations, and icons
- Asset Optimization: Organized file structure with separate directories for images, CSS, and JS
- OptimizedImage Component: Viewport-based loading with Intersection Observer
- Progressive Loading: Smooth loading states with error handling and fallbacks
- Lazy Loading: Images load only when entering viewport
- Performance Monitoring: Track image loading performance and user interactions
- Core Web Vitals: Track FCP, LCP, CLS, FID metrics
- Custom Analytics: Monitor page views, user interactions, and performance
- Memory Usage: Track component render timing and memory consumption
- Scroll Performance: Monitor scroll events and interaction timing
- esbuild Minification: Faster builds with optimized output
- CSS Code Splitting: Separate CSS chunks for better caching
- Asset Organization: Optimized file naming and directory structure
- Development Server: HMR optimizations and overlay improvements
The portfolio features 12 comprehensive testimonials from industry leaders, colleagues, and clients:
- Tridiv Vasavada (CTO, Wasoko) - Leadership and automation expertise
- Harrison Muhia (IT Manager, Wasoko) - Strategic leadership and team management
- Nick Rotich (VP, JPMorgan Chase) - Long-term professional perspective
- Samuel Aduamah-Yeboah (Senior Networks and Security Manager, Victory Farms) - Critical thinking and cost optimization
- Edwin Rimui (Senior Application Developer, National Bank of Kenya) - Dedication and team support
- Samuel Ratemo (Senior Software Engineer III, ASRC Federal) - Technical expertise and best practices
- Priya Ramaraj (HR Manager, Wasoko) - Exceptional leadership and change management
- Jackline Njeri (HR Manager, Odex Chemicals Ltd) - Technical skills and compliance
- Jonathan Lungu (Senior Technical Support Engineer, Wasoko) - Leadership style and mentorship
- Reuben Muraya (Senior Technical Support Engineer, Wasoko) - Strategic acumen and team motivation
- Fabian Kimambo (Senior Technical Support Engineer, Wasoko) - Technical expertise and customer satisfaction
- Maurice Eilec (Technology Leader, 4SquareIT) - Competitive excellence and future impact
- Navigation Arrows: Manual scrolling with smooth transitions
- Auto-Scroll: Automatic progression every 5 seconds
- Modal Popups: Full testimonial viewing with enhanced readability
- Dedicated Page: Complete testimonials display at
/testimonials - Responsive Design: Touch-friendly scrolling on mobile devices
- Search & Filtering: Real-time search with category filtering
- Social Sharing: Share articles on Twitter, Facebook, LinkedIn, and Email
- Modal Reading: Full article viewing with smooth transitions
- Responsive Design: Optimized for all device sizes
- Auto-Scroll: Horizontal scrolling with navigation arrows
- Sample Articles: 6 comprehensive blog posts with full content
- Category System: Organized by technology topics
- Tag System: Detailed tagging for better content discovery
- Meta Information: Reading time, publication date, and author details
- Status: In Development
- Tech Stack: AWS Lambda, DynamoDB, API Gateway, React, GitHub Actions
- Description: Fully containerized, serverless issue tracking platform with Slack integration
- Status: Planned
- Tech Stack: JumpCloud MDM, Ansible, Terraform, Python, Docker
- Description: Automated provisioning pipeline for laptops and mobile devices
- Status: Planned
- Tech Stack: Metabase, AWS RDS, Jira, Freshdesk integrations
- Description: Centralized KPI reporting with role-based views
- Status: Planned
- Tech Stack: Django, PostgreSQL, Bootstrap
- Description: ISO 27001-inspired compliance management system
- Status: Planned
- Tech Stack: AWS CloudFormation, S3, CloudFront, Route 53
- Description: Reference implementation for secure, scalable web applications
- Status: Planned
- Tech Stack: Python, FastAPI, scikit-learn, Kubernetes
- Description: Microservice for predicting ticket resolution times
The contact form is configured to use Formspree. Update the endpoint in src/pages/Contact.jsx:
const response = await fetch("https://formspree.io/f/xpzgwqzg", {
// form configuration
});The project is configured for GitHub Pages deployment with the base path /vince-portfolio/. Update vite.config.js and package.json if deploying to a different path.
Custom analytics tracking is implemented in src/utils/analytics.js. The system tracks:
- Page views and navigation
- User interactions and engagement
- Performance metrics (FCP, LCP, CLS, FID)
- Form submissions and project views
- Scroll performance and memory usage
The usePerformance hook provides comprehensive performance tracking:
- Core Web Vitals monitoring
- Component render timing
- Memory usage tracking
- User interaction analytics
- Scroll performance metrics
The portfolio is fully responsive with breakpoints:
- Mobile: < 768px
- Tablet: 768px - 1024px
- Desktop: > 1024px
All components adapt seamlessly across devices with optimized layouts and touch-friendly interactions.
- Comprehensive .gitignore: Prevents sensitive data from being committed
- No hardcoded secrets: All sensitive information is properly managed
- Secure form handling: Formspree integration with proper validation
- Content Security Policy: Configured for production deployment
- Input Validation: Client-side and server-side validation for all forms
- Lighthouse Score: 95+ (Performance, Accessibility, Best Practices, SEO)
- First Contentful Paint: < 1.5s
- Largest Contentful Paint: < 2.5s
- Cumulative Layout Shift: < 0.1
- Bundle Size: Optimized with advanced code splitting
- Initial Load Time: Reduced by ~40% through lazy loading
- Core Web Vitals: All metrics in the "Good" range
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
Vincent Wachira
- GitHub: @VinceBiggz
- LinkedIn: Vincent Wachira
- Portfolio: vince-portfolio
- Framer Motion for smooth animations
- Tailwind CSS for utility-first styling
- Lucide React for beautiful icons
- Formspree for form handling
- GitHub Pages for hosting
- Vite for fast development experience
- React 18 for modern component architecture
- Intersection Observer API for performance optimizations
⭐ Star this repository if you found it helpful!
