A modern, interactive portfolio website built with Next.js, TypeScript, and Tailwind CSS. The site features smooth animations, responsive design, and an elegant user interface to showcase projects and professional experience.
- Modern UI/UX: Clean and professional design with smooth animations using Framer Motion
- Responsive Design: Fully responsive across all device sizes
- Interactive Elements: Custom cursor effects with Blobity
- Contact Form: Integrated EmailJS for handling contact form submissions
- Performance Optimized: Vercel Analytics and Speed Insights integration
- Type Safety: Built with TypeScript for better code reliability
- Smooth Animations: Section transitions and text animations
- Dark Theme: Elegant dark theme with custom color palette
- Framework: Next.js 14
- Language: TypeScript
- Styling: Tailwind CSS
- Animations: Framer Motion
- Form Handling: React Hook Form
- Email Integration: EmailJS
- UI Components: Custom components with Tailwind
- Deployment: Vercel
- Icons: Iconify
├── app/
│ ├── components/
│ │ ├── about-section/
│ │ ├── contact+footer/
│ │ ├── header-section/
│ │ ├── hero-section/
│ │ ├── work-section/
│ │ └── ui/
│ ├── contexts/
│ ├── utils/
│ ├── page.tsx
│ └── layout.tsx
├── public/
└── styles/
- Clone the repository:
git clone https://github.com/yourusername/portfolio.git- Install dependencies:
npm install
# or
yarn install- Create a
.env.localfile in the root directory and add your environment variables:
NEXT_PUBLIC_SERVICE_ID=your_emailjs_service_id
NEXT_PUBLIC_TEMPLATE_ID=your_emailjs_template_id
NEXT_PUBLIC_PUBLIC_KEY=your_emailjs_public_key- Run the development server:
npm run dev
# or
yarn dev- Open http://localhost:3000 with your browser to see the result.
The following environment variables are required:
NEXT_PUBLIC_SERVICE_ID: EmailJS Service IDNEXT_PUBLIC_TEMPLATE_ID: EmailJS Template IDNEXT_PUBLIC_PUBLIC_KEY: EmailJS Public Key
- Colors: Update the color scheme in
tailwind.config.ts - Content: Modify the content in respective components
- Projects: Update the projects list in
Works.tsx - Experience: Update work experience in
Timeline.tsx
The portfolio is fully responsive with breakpoints for:
- Mobile: < 640px
- Tablet: 640px - 1024px
- Desktop: > 1024px
npm run dev: Start development servernpm run build: Build for productionnpm run start: Start production servernpm run lint: Run ESLint
Nayan Bamnote
- LinkedIn: @nayan-bamnote
- GitHub: @nayanbamnote
- Instagram: @bamnotenayan
- Thanks to all contributors who helped in building this portfolio
- Inspiration from modern portfolio designs
- Open source community for amazing tools and libraries