A modern, production-ready portfolio website built with Next.js 16, TypeScript, and Tailwind CSS. Features beautiful animations, glow effects, and a fully responsive design.
- Single-Page Design: Smooth scrolling between sections
- Beautiful Animations: Scroll-triggered animations and hover effects
- Glow Effects: Tasteful gradient glows and shadows
- Fully Responsive: Mobile-first design that works on all devices
- TypeScript: Type-safe code with shared interfaces
- Modern Stack: Next.js 16 App Router, React 19, Tailwind CSS 4
- Production Ready: Optimized for performance and SEO
portfolio/
├── src/
│ ├── app/
│ │ ├── globals.css # Global styles with custom scrollbar
│ │ ├── layout.tsx # Root layout with metadata
│ │ └── page.tsx # Main page component
│ ├── components/
│ │ ├── AnimatedSection.tsx # Scroll-triggered animation wrapper
│ │ ├── SectionHeader.tsx # Reusable section headers
│ │ ├── SkillBadge.tsx # Skill display component
│ │ ├── WorkItemCard.tsx # Experience/Project cards
│ │ └── sections/
│ │ ├── About.tsx # About section
│ │ ├── Contact.tsx # Contact section with social links
│ │ ├── Experience.tsx # Work experience section
│ │ ├── Hero.tsx # Hero section with animations
│ │ ├── Projects.tsx # Projects showcase
│ │ └── Skills.tsx # Skills categorized display
│ ├── data/
│ │ └── portfolio-data.ts # All portfolio content (edit this!)
│ └── types/
│ └── portfolio.ts # TypeScript interfaces
├── tailwind.config.ts # Tailwind configuration
└── package.json
The WorkItem interface is used for both experiences and projects:
- Title, organization, date
- Description and highlights
- Technologies array
- Optional links (GitHub, live demo)
- Hero: Animated intro with gradient text and floating orbs
- About: Personal bio with glow effects
- Experience: Work history with expandable details
- Projects: Showcase of open-source and personal projects
- Skills: Categorized technology badges
- Contact: Email and social media links
- Scroll-triggered fade-in animations
- Hover glow effects on cards
- Floating background orbs
- Smooth gradient animations
- Custom scrollbar styling
- Node.js 18+
- npm, yarn, or pnpm
- Install dependencies:
npm install- Run the development server:
npm run dev- Open http://localhost:3000 in your browser
Edit src/data/portfolio-data.ts to customize:
- Personal information (name, title, bio)
- Work experiences
- Projects
- Skills
- Contact information and social links
export const portfolioData: PortfolioData = {
hero: {
name: "Your Name",
title: "Your Title",
subtitle: "Your Subtitle",
tagline: "Your Tagline",
},
// ... rest of your data
};Update gradient colors in components or tailwind.config.ts:
- Primary gradient:
from-blue-400 via-purple-500 to-pink-500 - Hover effects: Purple (
purple-500) - Change to match your brand
- Create a new component in
src/components/sections/ - Import and add to
src/app/page.tsx - Update data types in
src/types/portfolio.tsif needed
- Push your code to GitHub
- Import your repository on Vercel
- Vercel will auto-detect Next.js and deploy
npm run build
npm run start- Framework: Next.js 16 (App Router)
- Language: TypeScript 5
- Styling: Tailwind CSS 4
- UI: React 19
- Animations: CSS transitions + Intersection Observer API
- Optimized animations with CSS transforms
- Lazy loading with Intersection Observer
- Server-side rendering with Next.js
- Minimal JavaScript bundle size
- Optimized fonts with
next/font
This project is open source and available under the MIT License.
Built with ❤️ using Next.js and Tailwind CSS