A modern, responsive, and feature-rich personal portfolio website built with Next.js 15, TypeScript, and Tailwind CSS. Features include dark/light mode, and a comprehensive showcase of professional experience, skills, and projects.
π Live Website: https://patwary.vercel.app
π GitHub Repo: github.com/mdhasanpatwary/portfolio-app
- β Next.js 15 with App Router and Turbopack
- β TypeScript for type safety and better development experience
- β Tailwind CSS v4 for modern, responsive styling
- π Dark/Light Mode with smooth transitions
- π± Fully Responsive design for all devices
- β‘ Optimized Performance with Next.js optimizations
- π― Banner - Hero section with call-to-action
- π¨βπΌ About - Professional background and skills
- π οΈ Skills - Technical expertise showcase
- π Projects - Portfolio of work with filtering
- πΌ Experience - Work history and achievements
- π Education - Academic background
- π¬ Testimonials - Client feedback and reviews
- π¨ Hobbies - Personal interests and activities
- π Contact - Contact form with EmailJS integration
- π Blog - Dev.to integration for articles
- π‘ CSS Tips - Technical blog section
- π SEO Optimized - Meta tags, structured data, sitemap
- π― Error Boundaries - Graceful error handling
- π Context API - State management for theme and blog
- π Markdown Support - React Markdown for content
- π¨ Swiper.js - Smooth carousel animations
- π Toast Notifications - User feedback system
| Category | Technology | Version |
|---|---|---|
| Framework | Next.js | 15.3.2 |
| Language | TypeScript | 5.x |
| Styling | Tailwind CSS | 4.x |
| UI Components | React Icons, Headless UI | Latest |
| Animations | Swiper.js | 11.2.8 |
| Content | React Markdown, Marked | Latest |
| Forms | EmailJS | 4.4.1 |
| State Management | React Context API | Built-in |
| Deployment | Vercel | Platform |
portfolio-app/
βββ app/ # Next.js App Router
β βββ about/ # About page
β βββ blog/ # Blog pages with dynamic routing
β βββ contact/ # Contact page
β βββ css-tips/ # CSS tips page
β βββ projects/ # Projects page
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout with providers
β βββ page.tsx # Homepage
βββ components/ # React components
β βββ about/ # About section components
β βββ banner/ # Hero section components
β βββ blog/ # Blog components
β βββ contact/ # Contact form components
β βββ cssTips/ # CSS tips components
β βββ education/ # Education section
β βββ experience/ # Experience section
β βββ footer/ # Footer component
β βββ funfact/ # Fun facts section
β βββ global/ # Shared components
β βββ header/ # Navigation header
β βββ hobby/ # Hobbies section
β βββ projects/ # Project showcase
β βββ services/ # Services section
β βββ skills/ # Skills showcase
β βββ testimonial/ # Testimonials section
βββ context/ # React Context providers
β βββ BlogContext.tsx # Blog data management
β βββ ThemeContext.tsx # Theme state management
βββ data/ # Static JSON data
β βββ about.json # About section data
β βββ banner.json # Hero section data
β βββ blog.json # Blog posts data
β βββ contact.json # Contact form data
β βββ css-tips.json # CSS tips content
β βββ education.json # Education history
β βββ experiences.json # Work experience
β βββ footer.json # Footer data
β βββ funFacts.json # Fun facts data
β βββ header.json # Navigation data
β βββ hobbies.json # Hobbies data
β βββ projects.json # Projects portfolio
β βββ services.json # Services offered
β βββ skills.json # Skills data
β βββ testimonials.json # Client testimonials
βββ hooks/ # Custom React hooks
β βββ useProjectModal.tsx # Project modal hook
βββ public/ # Static assets
β βββ favicon/ # Favicon icons
β βββ testimonials/ # Testimonial images
β βββ profile.webp # Profile images
β βββ resume.pdf # Downloadable resume
βββ types/ # TypeScript type definitions
β βββ data.ts # Data type interfaces
βββ utils/ # Utility functions
β βββ index.ts # Helper functions
β βββ status.tsx # Status components
βββ next.config.ts # Next.js configuration
- Node.js 18+
- Yarn or npm
# Clone the repository
git clone https://github.com/mdhasanpatwary/portfolio-app.git
cd portfolio-app
# Install dependencies
yarn install
# or
npm install
# Start development server
yarn dev
# or
npm run devOpen http://localhost:3000 to view it in the browser.
# Build the application
yarn build
# or
npm run build
# Start production server
yarn start
# or
npm startAll content is stored in JSON files in the data/ directory. Update these files to customize:
data/about.json- Personal information and skillsdata/projects.json- Portfolio projectsdata/experiences.json- Work experiencedata/skills.json- Technical skillsdata/testimonials.json- Client feedback
- Uses Tailwind CSS v4 for styling
- Custom CSS in
app/globals.css - Theme colors defined in Tailwind config
- Responsive design with mobile-first approach
Create a .env.local file for local development:
# Optional: EmailJS configuration for contact form
NEXT_PUBLIC_EMAILJS_PUBLIC_KEY=your_public_key
NEXT_PUBLIC_EMAILJS_SERVICE_ID=your_service_id
NEXT_PUBLIC_EMAILJS_TEMPLATE_ID=your_template_idThe project is optimized for Vercel deployment:
- Connect your GitHub repository to Vercel
- Vercel will automatically detect Next.js
- Build and deploy automatically on push
-
β Next.js 15 with Turbopack for faster builds
-
β Image optimization with Next.js Image component
-
β Code splitting and lazy loading
-
β SEO optimization with meta tags and structured data
- π’ Performance: 95+
- π’ Accessibility: 95+
- π’ Best Practices: 95+
- π’ SEO: 95+
Contributions are welcome! Please feel free to submit a Pull Request.
π For detailed contribution guidelines, please read our CONTRIBUTING.md file.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- β Follow consistent code structure and naming conventions
- β Test your changes before pushing
- π« Do not change author info or license details
- π« Avoid adding unnecessary libraries or dependencies
This project is licensed under the MIT License - see the LICENSE file for details.
MD Hasan Patwary
Frontend Developer | HTML, CSS, JavaScript, jQuery, React, Vue, Next.js, Docker, AWS
π§ patwary.dev@gmail.com
π Portfolio β’ LinkedIn β’ GitHub
-
β Core Features - Complete
-
β Responsive Design - Complete
-
β Performance Optimization - Complete
-
β SEO Optimization - Complete
-
β Deployment - Live on Vercel
Last Updated: August 2025
Version: 1.0.0