A modern, responsive portfolio website built with Next.js, TypeScript, and Tailwind CSS. This project showcases my skills, projects, and experience as a frontend developer.
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- Icons: Lucide React
- Deployment: Vercel
- Analytics: Vercel Analytics & Speed Insights
mayur_portfolio/
βββ src/
β βββ app/
β β βββ layout.tsx # Global layout wrapper
β β βββ globals.css # Global styles & Tailwind imports
β β βββ page.tsx # Home page
β β βββ about/
β β β βββ page.tsx # About page
β β βββ projects/
β β β βββ page.tsx # Projects showcase page
β β βββ contact/
β β β βββ page.tsx # Contact page
β β βββ provider/
β β βββ NoSSRProvider.tsx
β βββ components/
β β βββ Header.tsx # Navigation header
β β βββ Footer.tsx # Footer with social links
β β βββ Menubar.tsx # Navigation menu component
β β βββ SocialsMenu.tsx # Social media links
β β βββ ScrollingUpButton.tsx # Scroll navigation buttons
β β βββ MyProjects.tsx # Projects grid component
β β βββ Experience.tsx # Experience section
β β βββ MyStory.tsx # Personal story section
β β βββ Skils.tsx # Skills showcase
β β βββ ProjectBanner.tsx # Project banner component
β β βββ Myplace.tsx # Location/mission component
β βββ data/
β β βββ projectData.ts # Project data array
β βββ lib/
β βββ utils.ts # Utility functions
βββ public/
β βββ assets/
β β βββ meta/ # Meta images for social sharing
β β βββ projects/ # Project preview images
β βββ icon/ # SVG icons
β βββ MayurResume.pdf # Downloadable resume
β βββ profile.jpg # Profile image
βββ package.json
βββ tailwind.config.ts
βββ tsconfig.json
βββ README.md
- Header: Sticky navigation with responsive mobile menu
- Footer: Social links, navigation, and contact CTA
- Scroll Buttons: Floating scroll-to-top and scroll-down buttons
- Analytics: Vercel Analytics and Speed Insights integration
- Header (
Header.tsx):- Logo with brand styling
- Responsive navigation menu
- Mobile hamburger menu with smooth transitions
- Contact button with icon
- Menubar (
Menubar.tsx): Reusable navigation component used in header and footer - SocialsMenu (
SocialsMenu.tsx): Social media icons (Instagram, LinkedIn, GitHub)
- Hero Section: Animated background, profile image, and introduction
- Key Features:
- Gradient text effects
- Floating decorative elements
- Call-to-action buttons
- Responsive image with hover effects
- Sections: Experience, Project Banner, Skills, My Story
- Mission Statement: Personal values and goals
- About Cards: Four key characteristics (Passionate, Goal-Oriented, User-Focused, Quality Driven)
- Sections: Myplace, MyStory, Experience
- Header Section: Project statistics and introduction
- Projects Grid: Showcase of featured projects
- Professional Note: Explanation of portfolio limitations due to client confidentiality
- Features:
- Project cards with hover effects
- Live demo and source code links
- Technology tags
- Project status indicators
- Contact Information: Email, phone, location, availability
- Interactive Elements: Clickable contact methods
- Call-to-Action: Project initiation and resume download
- Features: Responsive layout with contact highlights
- Scroll Up Button: Appears after scrolling, smooth scroll to top
- Scroll Down Button: Initial prompt to explore content
- Features: Animated scroll indicators, smooth transitions
- Project Cards: Grid layout with hover effects
- Features:
- Image hover zoom effects
- Overlay with action buttons
- Technology stack tags
- Live demo and GitHub links
- Project status indicators
- Decorative hover elements
- Mobile-first approach
- Breakpoint-specific layouts (sm, md, lg, xl)
- Flexible grid systems
- Touch-friendly interactions
- Next.js Image optimization
- Lazy loading for images
- Efficient component rendering
- Vercel edge caching
- Semantic HTML structure
- Proper heading hierarchy
- Alt text for images
- Keyboard navigation support
- Focus management
- Dynamic metadata for each page
- OpenGraph and Twitter card support
- Structured data for search engines
- Optimized meta descriptions and keywords
- Node.js 18+
- npm, yarn, or pnpm
-
Clone the repository
git clone https://github.com/yourusername/mayur_portfolio.git cd mayur_portfolio -
Install dependencies
npm install # or yarn install # or pnpm install
-
Run the development server
npm run dev # or yarn dev # or pnpm dev
-
Open your browser Navigate to http://localhost:3000
Edit src/data/projectData.ts:
{
title: "Project Name",
description: "Project description",
image: "/assets/projects/project-image.jpg",
technologies: ["React", "TypeScript", "Tailwind"],
liveUrl: "https://project-demo.com",
githubUrl: "https://github.com/username/project",
status: "Live"
}- Profile Image: Replace
public/profile.jpg - Resume: Replace
public/MayurResume.pdf - Contact Info: Update in
src/app/contact/page.tsx - Social Links: Edit
src/components/SocialsMenu.tsx
- Colors: Update Tailwind config in
tailwind.config.ts - Components: Edit individual component files in
src/components/ - Global Styles: Modify
src/app/globals.css
- Create new directory in
src/app/ - Add
page.tsxwith metadata export - Update navigation in
src/components/Menubar.tsx
- Primary: Purple (#8B5CF6, #7C3AED)
- Secondary: Gray (#4B5563, #6B7280)
- Background: White (#FFFFFF), Light Gray (#F9FAFB)
- Text: Dark Gray (#1F2937), Medium Gray (#4B5563)
- Headings: Bold, large scale (text-4xl to text-8xl)
- Body: Regular weight, readable line height
- Font Family: System fonts (Inter, system-ui)
- Container: Responsive padding (px-4 md:px-8 lg:px-28)
- Sections: Consistent vertical spacing (py-16, py-20, py-28)
- Components: Flexible gap systems
- Mobile: < 768px
- Tablet: 768px - 1024px
- Desktop: > 1024px
- Large Desktop: > 1280px
npm run build- Connect your GitHub repository to Vercel
- Configure build settings
- Deploy automatically on push to main branch
Create .env.local for local development:
NEXT_PUBLIC_SITE_URL=http://localhost:3000- Lighthouse Score: 95+ (Performance, Accessibility, Best Practices, SEO)
- Core Web Vitals: Optimized for all metrics
- Bundle Size: Optimized with Next.js built-in optimizations
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is open source and available under the MIT License.
- Email: mayurnakum07@gmail.com
- LinkedIn: Mayur Nakum
- GitHub: mayurnakum07
- Instagram: @mr_mayur_nakum
Made with π by Mayur Nakum