A premium, high-performance personal portfolio website built with Next.js 16, TypeScript, and Tailwind CSS. This project features smooth animations, a custom cursor, and a polished user interface to showcase projects and skills effectively.
- Modern Tech Stack: Built with the latest Next.js 16 App Router and React 19.
- Smooth Animations: Powered by Framer Motion for seamless transitions and scroll effects.
- Smooth Scrolling: Integrated Lenis for a premium scroll experience.
- Custom UI Elements: unique custom cursor and interactive components.
- Responsive Design: Fully responsive layouts using Tailwind CSS.
- Project Showcase: specific sections for displaying projects with hover effects.
- Contact Form: Integrated contact section.
- Framework: Next.js 16
- Language: TypeScript
- Styling: Tailwind CSS
- Animations: Framer Motion
- Icons: Lucide React
- Smooth Scroll: Lenis
- Effects: Canvas Confetti
├── app/ # Next.js App Router pages and layouts
├── components/ # Reusable UI components
│ ├── Hero.tsx # Landing section
│ ├── About.tsx # About me section
│ ├── Skills.tsx # Technical skills grid
│ ├── Projects.tsx # Project showcase cards
│ ├── Contact.tsx # Contact form and footer
│ ├── Navbar.tsx # Navigation bar
│ ├── CustomCursor.tsx # Interactive cursor component
│ └── SmoothScroll.tsx # Lenis scroll wrapper
├── public/ # Static assets (images, fonts)
└── lib/ # Utility functionsFollow these steps to set up the project locally.
Make sure you have Node.js installed on your machine.
-
Clone the repository:
git clone https://github.com/yourusername/portfolio.git cd portfolio -
Install dependencies:
npm install # or yarn install # or pnpm install
-
Run the development server:
npm run dev
-
Open locally: Open http://localhost:3000 in your browser to see the result.
- Content: Update the content in individual components under
components/(e.g.,About.tsx,Projects.tsx). - Styling: Modify
tailwind.config.tsorapp/globals.cssto change the theme and global styles.
Distributed under the MIT License. See LICENSE for more information.