Skip to content

siddhantw/my-portfolio

Repository files navigation

Siddhant Wadhwani - Portfolio Website

A modern, responsive portfolio website for Siddhant Wadhwani, Engineering Manager - SDET at Newfold Digital. Built with Next.js 15, TypeScript, and Tailwind CSS, featuring smooth animations, dark mode support, and comprehensive SEO optimization.

πŸš€ About

This portfolio showcases the professional journey of Siddhant Wadhwani, a quality engineering leader with 10+ years of experience. The website highlights his expertise in test automation, engineering leadership, global speaking engagements, and professional achievements including being a BrowserStack Champion and LinkedIn Top Voice.

✨ Features

  • Modern Design: Clean, professional interface with smooth animations using Framer Motion
  • Responsive Layout: Optimized for all devices and screen sizes
  • Dark Mode Support: System-aware theme switching with next-themes
  • SEO Optimized: Comprehensive meta tags, Open Graph, Twitter Cards, and structured data
  • Performance Focused: Optimized images, bundle splitting, and fast loading times
  • Accessibility: WCAG compliant with proper semantic HTML and ARIA attributes
  • Multi-page Navigation: Dedicated sections for About, Skills, Portfolio, Services, Speaking, Testimonials, Certifications, and Contact

Key Sections

  • Home: Hero section with professional summary and quick stats
  • About: Detailed professional background and achievements
  • Skills: Technical expertise and competencies
  • Portfolio: Showcase of projects and contributions
  • Services: Professional services offered (mentorship, consulting, speaking)
  • Speaking: Global tech talks and conference presentations
  • Testimonials: Client and colleague recommendations
  • Certifications: Professional certifications and achievements
  • Contact: Multiple ways to get in touch

πŸ› οΈ Tech Stack

Frontend Framework

  • Next.js 15 - React framework with App Router
  • React 19 - Modern React with latest features
  • TypeScript 5 - Type-safe JavaScript

Styling & UI

  • Tailwind CSS 4 - Utility-first CSS framework
  • Framer Motion 12 - Animation library for smooth interactions
  • Lucide React - Beautiful, customizable icons
  • React Icons - Popular icon library
  • class-variance-authority - Type-safe component variants
  • clsx & tailwind-merge - Conditional class handling

Core Features

  • next-themes - Dark/light mode with system preference
  • react-intersection-observer - Scroll-triggered animations
  • Sharp - Optimized image processing

Development Tools

  • ESLint - Code linting with Next.js config
  • PostCSS - CSS processing
  • Autoprefixer - CSS vendor prefixes

Performance & SEO

  • next-sitemap - Automatic sitemap generation
  • @next/bundle-analyzer - Bundle size analysis
  • @next/third-parties - Third-party script optimization

πŸš€ Getting Started

Prerequisites

  • Node.js 18+
  • npm, yarn, pnpm, or bun

Installation

  1. Clone the repository
git clone https://github.com/siddhantwadhwani/my-portfolio.git
cd my-portfolio
  1. Install dependencies
npm install
# or
yarn install
# or
pnpm install
  1. Start the development server
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
  1. Open your browser Visit http://localhost:3000 to see the application.

πŸ“ Available Scripts

  • npm run dev - Start development server with Turbopack
  • npm run build - Build for production
  • npm run start - Start production server
  • npm run lint - Run ESLint

πŸ—οΈ Project Structure

src/
β”œβ”€β”€ app/                    # Next.js App Router pages
β”‚   β”œβ”€β”€ about/             # About page
β”‚   β”œβ”€β”€ certifications/    # Certifications page
β”‚   β”œβ”€β”€ contact/           # Contact page
β”‚   β”œβ”€β”€ portfolio/         # Portfolio page
β”‚   β”œβ”€β”€ services/          # Services page
β”‚   β”œβ”€β”€ skills/            # Skills page
β”‚   β”œβ”€β”€ speaking/          # Speaking page
β”‚   β”œβ”€β”€ testimonials/      # Testimonials page
β”‚   β”œβ”€β”€ globals.css        # Global styles
β”‚   β”œβ”€β”€ layout.tsx         # Root layout with metadata
β”‚   β”œβ”€β”€ page.tsx           # Home page
β”‚   └── sitemap.ts         # Sitemap generation
β”œβ”€β”€ components/            # Reusable components
β”‚   β”œβ”€β”€ ui/               # UI components and animations
β”‚   β”œβ”€β”€ footer.tsx        # Site footer
β”‚   β”œβ”€β”€ navigation.tsx    # Main navigation
β”‚   └── theme-provider.tsx # Theme context provider
β”œβ”€β”€ lib/                  # Utility functions
β”‚   └── utils.ts          # Helper utilities
└── types/                # TypeScript type definitions
    └── index.ts          # Global type definitions

public/                   # Static assets
β”œβ”€β”€ images/              # Image assets
β”œβ”€β”€ projects/            # Project-related assets
β”œβ”€β”€ testimonials/        # Testimonial assets
β”œβ”€β”€ profile-photo.jpg    # Main profile photo
β”œβ”€β”€ og-image.jpg         # Open Graph image
β”œβ”€β”€ manifest.json        # PWA manifest
└── robots.txt           # Search engine directives

🎨 Customization

Theme Configuration

The project uses a custom theme system with CSS variables for easy customization. Modify globals.css for color schemes and design tokens.

Content Updates

  • Update personal information in src/app/layout.tsx metadata
  • Modify hero content in src/app/page.tsx
  • Add/edit sections by creating new pages in the app directory

Styling

  • Tailwind CSS configuration in postcss.config.mjs
  • Custom animations defined in src/components/ui/animations.tsx
  • Component variants using class-variance-authority

πŸ”§ Configuration

Environment Variables

Create a .env.local file for any required environment variables:

# Add your environment variables here
NEXT_PUBLIC_SITE_URL=https://siddhantwadhwani.com

SEO & Metadata

Comprehensive SEO configuration is set up in layout.tsx including:

  • Open Graph tags
  • Twitter Card metadata
  • Structured data (JSON-LD)
  • Meta descriptions and keywords

πŸ“± Progressive Web App

The site includes PWA capabilities with:

  • Web App Manifest (manifest.json)
  • Service Worker (when enabled)
  • Offline support
  • Install prompts

πŸš€ Deployment

Vercel (Recommended)

The easiest way to deploy is using Vercel:

  1. Push your code to GitHub
  2. Import your repository in Vercel
  3. Deploy with zero configuration

Other Platforms

The project can be deployed on any platform that supports Node.js:

  • Netlify
  • Railway
  • DigitalOcean App Platform
  • AWS Amplify

πŸ“ˆ Performance

The website is optimized for performance with:

  • Image optimization using Next.js Image component
  • Bundle splitting and code optimization
  • Lazy loading for components and images
  • Efficient caching strategies
  • Minimal JavaScript bundle size

πŸ”— Links

πŸ“§ Contact

πŸ“„ License

This project is for personal portfolio use. Feel free to use it as inspiration for your own portfolio, but please don't directly copy the content.


Built with ❀️ by Siddhant Wadhwani

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published