Skip to content

VinceBiggz/vince-portfolio

Repository files navigation

Vincent Wachira - Senior IT Strategist & Cloud Engineer Portfolio

Portfolio Preview

🚀 Live Demo

View Live Portfolio

📋 Overview

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.

Key Features

🎨 Design & UX

  • 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

📊 Content Sections

  • 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

🔧 Technical Features

  • 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

🛠 Tech Stack

Frontend

  • 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

Development Tools

  • ESLint - Code linting with flat config
  • Prettier - Code formatting
  • Lucide React - Icon library
  • Formspree - Form handling and submissions

Performance & Optimization

  • 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

📁 Project Structure

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

🚀 Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/VinceBiggz/vince-portfolio.git
    cd vince-portfolio
  2. Install dependencies

    npm install
  3. Start development server

    npm run dev
  4. Open in browser Navigate to http://localhost:5173/vince-portfolio/

📜 Available Scripts

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

🚀 Performance Optimizations

Code Splitting & Lazy Loading

  • 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

Image Optimization

  • 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

Performance Monitoring

  • 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

Build Optimization

  • 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

💬 Client Testimonials

The portfolio features 12 comprehensive testimonials from industry leaders, colleagues, and clients:

Executive Leadership

  • 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

Technical Leadership

  • 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

HR & People Management

  • Priya Ramaraj (HR Manager, Wasoko) - Exceptional leadership and change management
  • Jackline Njeri (HR Manager, Odex Chemicals Ltd) - Technical skills and compliance

Team Leadership & Support

  • 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

External Evaluation

  • Maurice Eilec (Technology Leader, 4SquareIT) - Competitive excellence and future impact

Interactive Features

  • 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

📝 Blog Section Features

Interactive Blog Experience

  • 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

Content Management

  • 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

🎯 Key Projects Showcased

1. Cloud-Native Issue Tracker System

  • Status: In Development
  • Tech Stack: AWS Lambda, DynamoDB, API Gateway, React, GitHub Actions
  • Description: Fully containerized, serverless issue tracking platform with Slack integration

2. Zero-Touch Device Deployment & MDM Pipeline

  • Status: Planned
  • Tech Stack: JumpCloud MDM, Ansible, Terraform, Python, Docker
  • Description: Automated provisioning pipeline for laptops and mobile devices

3. Enterprise KPI & Analytics Dashboard

  • Status: Planned
  • Tech Stack: Metabase, AWS RDS, Jira, Freshdesk integrations
  • Description: Centralized KPI reporting with role-based views

4. InfoSec Compliance Framework Toolkit

  • Status: Planned
  • Tech Stack: Django, PostgreSQL, Bootstrap
  • Description: ISO 27001-inspired compliance management system

5. Serverless Web Application Deployment

  • Status: Planned
  • Tech Stack: AWS CloudFormation, S3, CloudFront, Route 53
  • Description: Reference implementation for secure, scalable web applications

6. ML-Powered IT Operations Assistant

  • Status: Planned
  • Tech Stack: Python, FastAPI, scikit-learn, Kubernetes
  • Description: Microservice for predicting ticket resolution times

⚙️ Configuration

Formspree Integration

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
});

GitHub Pages Deployment

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.

Analytics Configuration

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

Performance Monitoring

The usePerformance hook provides comprehensive performance tracking:

  • Core Web Vitals monitoring
  • Component render timing
  • Memory usage tracking
  • User interaction analytics
  • Scroll performance metrics

📱 Responsive Design

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.

🔒 Security Features

  • 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

🚀 Performance Metrics

  • 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

🤝 Contributing

  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

📄 License

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

👨‍💻 Author

Vincent Wachira

🙏 Acknowledgments

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

About

Vincent Wachira's Portfolio – Cloud | Cybersecurity | AI | Automation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages