Skip to content

A modern, responsive portfolio website built with Next.js 15, TypeScript, and Tailwind CSS. This project showcases my work, skills, and blog posts with a beautiful, animated interface.

Notifications You must be signed in to change notification settings

KuldeepJha5176/Kuldeep-portfolio

Repository files navigation

πŸš€ Kuldeep Jha - Personal Portfolio

A modern, responsive portfolio website built with Next.js 15, TypeScript, and Tailwind CSS. This project showcases my work, skills, and blog posts with a beautiful, animated interface.

Portfolio Preview

✨ Features

🎨 Modern Design & UX

  • Dark/Light Mode Toggle - Seamless theme switching with system preference detection
  • Smooth Animations - Powered by Framer Motion for engaging user interactions
  • Responsive Design - Optimized for all devices with mobile-first approach
  • View Transitions - Next.js 15 view transitions for smooth page navigation
  • Glass Morphism Effects - Beautiful backdrop blur and transparency effects

πŸ“± Interactive Components

  • Animated Navigation - Dynamic navbar with scroll effects and mobile menu
  • Project Showcase - Interactive project cards with hover effects
  • Skills Section - Animated skill bars and technology icons
  • Testimonials - Carousel-style testimonials with smooth transitions
  • Contact Form - Functional contact form with email integration
  • Blog System - MDX-powered blog with syntax highlighting

πŸ›  Technical Excellence

  • TypeScript - Full type safety throughout the application
  • Next.js 15 - Latest features including App Router and Server Components
  • Tailwind CSS 4 - Modern utility-first styling with custom animations
  • MDX Support - Rich content authoring with React components
  • Email Integration - Contact form powered by Resend API
  • SEO Optimized - Meta tags, structured data, and performance optimization

πŸ— Project Structure

pportfolio/
β”œβ”€β”€ app/                    # Next.js App Router
β”‚   β”œβ”€β”€ about/             # About page
β”‚   β”œβ”€β”€ api/               # API routes (contact form)
β”‚   β”œβ”€β”€ blog/              # Blog pages with dynamic routing
β”‚   β”œβ”€β”€ contact/           # Contact page
β”‚   β”œβ”€β”€ projects/          # Projects showcase page
β”‚   β”œβ”€β”€ globals.css        # Global styles
β”‚   β”œβ”€β”€ layout.tsx         # Root layout with providers
β”‚   └── page.tsx           # Homepage
β”œβ”€β”€ components/            # Reusable React components
β”‚   β”œβ”€β”€ navbar/            # Navigation components
β”‚   β”œβ”€β”€ ui/                # UI components (draggable cards)
β”‚   └── *.tsx              # Feature components
β”œβ”€β”€ constants/             # Project data and configuration
β”œβ”€β”€ data/                  # MDX blog posts
β”œβ”€β”€ lib/                   # Utility functions
β”œβ”€β”€ public/                # Static assets
└── utils/                 # MDX processing utilities

πŸš€ Getting Started

Prerequisites

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

Installation

  1. Clone the repository

    git clone https://github.com/KuldeepJha5176/Kuldeep-portfolio.git
    cd pportfolio
  2. Install dependencies

    npm install
    # or
    yarn install
    # or
    pnpm install
    # or
    bun install
  3. Set up environment variables Create a .env.local file in the root directory:

    RESEND_API_KEY=your_resend_api_key
    RESEND_FROM=your_verified_email@domain.com
    RESEND_TO=your_email@domain.com
  4. Run the development server

    npm run dev
    # or
    yarn dev
    # or
    pnpm dev
    # or
    bun dev
  5. Open your browser Navigate to http://localhost:3000 to see the result.

πŸ“ Available Scripts

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

🎯 Key Features Breakdown

🏠 Homepage

  • Hero section with animated introduction
  • Featured projects showcase
  • Latest blog posts preview
  • Skills and technologies display
  • Client testimonials

πŸ‘¨β€πŸ’» About Page

  • Personal introduction and story
  • Professional timeline
  • Travel collage with interactive elements
  • Skills and expertise overview

πŸ’Ό Projects Page

  • Complete project portfolio
  • Interactive project cards
  • Live demo links
  • Technology stack for each project

πŸ“š Blog System

  • MDX-powered content management
  • Syntax highlighting for code blocks
  • Responsive typography
  • SEO-optimized blog posts
  • Categories and tags support

πŸ“§ Contact Page

  • Functional contact form
  • Email integration via Resend
  • Form validation
  • Success/error notifications

πŸ›  Tech Stack

Frontend

  • Next.js 15 - React framework with App Router
  • TypeScript - Type-safe development
  • Tailwind CSS 4 - Utility-first CSS framework
  • Framer Motion - Animation library
  • React Icons - Icon library
  • Lucide React - Modern icon set

Content Management

  • MDX - Markdown with React components
  • next-mdx-remote - MDX processing
  • gray-matter - Frontmatter parsing

Styling & UI

  • Tailwind CSS - Utility-first styling
  • class-variance-authority - Component variants
  • clsx - Conditional className utility
  • tailwind-merge - Tailwind class merging

Email & Notifications

  • Resend - Email delivery service
  • Sonner - Toast notifications

Development Tools

  • ESLint - Code linting
  • Prettier - Code formatting
  • TypeScript - Type checking

πŸ“± Responsive Design

The portfolio is fully responsive and optimized for:

  • Desktop - Full-featured experience with hover effects
  • Tablet - Adaptive layout with touch-friendly interactions
  • Mobile - Mobile-first design with optimized navigation

🎨 Customization

Colors & Themes

The project uses CSS custom properties for easy theming:

:root {
  --color-primary: #3b82f6;
  --color-secondary: #64748b;
  --color-neutral-50: #f8fafc;
  --color-neutral-950: #020617;
}

Adding New Projects

Edit constants/project.ts to add new projects:

export const projects: Project[] = [
  {
    title: "Your Project",
    description: "Project description",
    href: "https://your-project.com",
    src: "/project-image.jpg",
  },
];

Adding Blog Posts

Create new .mdx files in the data/ directory:

---
title: "Your Blog Post"
description: "Blog post description"
date: "2024-01-01"
image: "/blog-image.jpg"
---

Your blog content here...

πŸš€ Deployment

Vercel (Recommended)

  1. Push your code to GitHub
  2. Connect your repository to Vercel
  3. Add environment variables in Vercel dashboard
  4. Deploy automatically on every push

Other Platforms

The project can be deployed to any platform that supports Next.js:

  • Netlify
  • Railway
  • DigitalOcean App Platform
  • AWS Amplify

πŸ“„ License

This project is open source and available under the MIT License.

πŸ“ž Contact


⭐ Star this repository if you found it helpful!

About

A modern, responsive portfolio website built with Next.js 15, TypeScript, and Tailwind CSS. This project showcases my work, skills, and blog posts with a beautiful, animated interface.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages