A modern, responsive, and customizable portfolio template built with Next.js, Tailwind CSS, and TypeScript. This template is designed to help developers showcase their work and skills with a clean, professional design.
- ⚡ Built with Next.js 14 (App Router)
- 🎨 Styled with Tailwind CSS 4
- 📱 Fully responsive design
- 🌓 Dark/Light mode support
- 📝 Blog-ready with MDX support
- 🔍 SEO optimized
- 📊 Analytics ready
- 🛠 Easy customization
- Node.js 18.0.0 or later
- npm (v7+) or yarn (v1.22+)
- Git
-
Fork this repository
- Click the "Fork" button at the top-right of this page
-
Clone your forked repository
git clone https://github.com/YOUR-USERNAME/portfolio.git cd portfolio -
Install dependencies
npm install # or yarn -
Start the development server
npm run dev # or yarn dev -
Open http://localhost:3000 in your browser
-
Start customizing!
- Update your personal information in the components
- Add your projects to
src/data/projects.ts - Customize colors in
tailwind.config.js
Update your personal details in these files:
src/app/layout.tsx- Site metadata and SEO settingssrc/components/Hero.tsx- Your name, title, and introductionsrc/components/Footer.tsx- Copyright and social linkspackage.json- Project metadata and author information
Edit src/data/projects.ts to add your projects:
export const projects = [
{
title: 'Project Name',
description: 'Brief description of your project',
tags: ['React', 'Next.js', 'TypeScript'],
imageUrl: '/images/projects/example.jpg',
githubUrl: 'https://github.com/yourusername/project',
liveUrl: 'https://project-demo.com',
},
// Add more projects...
];Customize the design in tailwind.config.js:
module.exports = {
theme: {
extend: {
colors: {
primary: {
DEFAULT: '#2563EB', // Change this to your brand color
dark: '#1D4ED8',
light: '#60A5FA',
},
// Add more custom colors...
},
},
},
};This template includes built-in dark mode. Toggle it using the button in the header.
- Click the "Deploy" button above
- Sign in with your GitHub account
- Follow the on-screen instructions
- Your portfolio will be live at
https://your-username.vercel.app
-
Update
next.config.jswith your repository name:const nextConfig = { basePath: process.env.NODE_ENV === 'production' ? '/repository-name' : '', assetPrefix: process.env.NODE_ENV === 'production' ? '/repository-name/' : '', };
-
Run the build command:
npm run build
-
Push the code to GitHub
-
Go to Repository Settings > Pages
-
Select
gh-pagesbranch androotfolder -
Click "Save"
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Have questions or suggestions? Open an issue or reach out to muhammad@mhshahzad.tech.
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ by Muhammad Hamza Shahzad
Using Next.js, Tailwind CSS, and TypeScript
Check out our Next.js deployment documentation for more details.

