Built with Next.js 14 App Router and TypeScript
nextjs-tailwind-portfolio-template — Next.js Portfolio Template
By adeel-hashmi
A personal portfolio template built with Next.js 14, TypeScript, and Tailwind CSS, featuring a responsive layout, dark mode, Framer Motion animations, and configuration of projects, skills, and blog content through static data files.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Tailwind CSS for responsive layout and dark/light mode
Framer Motion provides page animations and micro-interactions
Configure personal information, projects, skills, and blog through lib/config.ts and static files in the data directory
README lists contact form, visitor counter, and Google Analytics and other analytics and form capabilities
Provides deployment instructions for Vercel, Netlify, and other platforms
Template Details
This is a website template for personal portfolio presentation. The README states it is built with Next.js 14 App Router, TypeScript, Tailwind CSS, and Framer Motion, providing a responsive layout, automatic dark/light mode switching, glassmorphism effects, and micro-interactions. Template content is maintained through static data files: lib/config.ts manages personal information and social links, while data/projects.ts, data/skills.ts, and data/blog.ts manage projects, skills, and blog posts respectively. The README also mentions built-in contact form, visitor counter, and Google Analytics and other analytics and form capabilities, but does not provide specific implementation details or a dependency list. The project structure includes directories such as app, components, data, hooks, lib, types, utils, and public. For deployment, the README provides steps for Vercel, Netlify, and other platforms that support Next.js. The README roadmap lists CMS integration, comments, search, internationalization, PWA, and end-to-end testing as unfinished features, indicating these capabilities are not currently in the template.
Is it right for your project?
Use Cases
- Developers or designers building a personal portfolio website
- A personal homepage that needs to showcase projects, skills, and blog posts
- Scenarios where you want to quickly get started based on Next.js and Tailwind CSS and modify content yourself
Suitable For
- Developers familiar with Next.js and TypeScript
- Front-end developers who need a customizable personal portfolio template
- Users who want to maintain portfolio content through static data files
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Requires Node.js 18+ and npm, yarn, or pnpm
- 2
After cloning the repository, run npm install (or yarn/pnpm install) to install dependencies
- 3
Run npm run dev to start the development server, accessible by default at http://localhost:3000
- 4
Modify personal information and social links in lib/config.ts, and maintain corresponding content in data/projects.ts, data/skills.ts, and data/blog.ts
- 5
The README provides deployment steps for Vercel, Netlify, and other platforms that support Next.js
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not mean external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution of this version's code are permitted.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the complete MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis
Compiled by DeepSeek based on repository license and README ·2026-10-14. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 79 / 100
- Technologies
- Next.js · React
- Website type
- Portfolio · Blog
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2025-08-08
- Screenshot last checked
- 2026-10-14
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Next.js as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Review declaration: codex-user-requested-batch-review-20261015 · 2026-10-15
Inspect the recorded source material
SHA-256: 91564f9c5815d1bcb5ec33557f9d6b189907c8e137acdb10a727aff8dd039cab
2026-10-14T10:33:56.427Z
Source file / repository<div align="center">
# 🚀 Modern Portfolio Template
**A beautiful, responsive portfolio built with Next.js 14, TypeScript, and Tailwind CSS**
[](https://nextjs.org/)
[](https://www.typescriptlang.org/)
[](https://tailwindcss.com/)
[](https://www.framer.com/motion/)
[](https://vercel.com)
[](https://choosealicense.com/licenses/mit/)
[](http://makeapullrequest.com)
[](https://github.com/adeelhashmi/portfolio-template/stargazers)
[**🌟 Live Demo**](https://nextjs-tailwind-portfolio-template.vercel.app/) • [**📖 Documentation**](https://github.com/adeelhashmi/portfolio-template/wiki) • [**🐛 Report Bug**](https://github.com/adeelhashmi/portfolio-template/issues) • [**✨ Request Feature**](https://github.com/adeelhashmi/portfolio-template/issues)

</div>
---
## ✨ Features
### 🎨 **Modern Design**
- **Responsive Layout** - Perfect on desktop, tablet, and mobile
- **Dark/Light Mode** - Automatic theme switching with system preference
- **Smooth Animations** - Powered by Framer Motion
- **Glass Morphism** - Modern UI with backdrop blur effects
- **Micro-interactions** - Delightful hover states and transitions
### 🚀 **Performance Optimized**
- **Next.js 14** - App Router with Server Components
- **TypeScript** - Full type safety and better DX
- **Tailwind CSS** - Utility-first styling with JIT compilation
- **Image Optimization** - Next.js Image component with lazy loading
- **Bundle Analysis** - Optimized for Core Web Vitals
### 📊 **Analytics & Tracking**
- **Visitor Counter** - Real-time visitor tracking
- **Google Analytics** - Page views and user interactions
- **Performance Metrics** - Lighthouse scores and Web Vitals
- **Contact Form** - Built-in form handling with validation
### 🛠 **Developer Experience**
- **TypeScript** - Strict type checking
- **ESLint & Prettier** - Code formatting and linting
- **Husky** - Pre-commit hooks
- **Component Library** - Reusable UI components
- **Easy Customization** - Single config file for personalization
---
## 🚀 Quick Start
### Prerequisites
- Node.js 18+ and npm/yarn/pnpm
- Git
### Installation
1. **Clone the repository**
\`\`\`bash
git clone https://github.com/adeelhashmi/portfolio-template.git
cd portfolio-template
\`\`\`
2. **Install dependencies**
\`\`\`bash
npm install
# or
yarn install
# or
pnpm install
\`\`\`
3. **Start the development server**
\`\`\`bash
npm run dev
# or
yarn dev
# or
pnpm dev
\`\`\`
4. **Open your browser**
Navigate to [http://localhost:3000](http://localhost:3000) to see your portfolio!
---
## 🎨 Customization
### 1. **Personal Information**
Edit `lib/config.ts` to customize your portfolio:
\`\`\`typescript
export const siteConfig = {
name: "Your Name",
initials: "YN",
title: "Your Job Title",
description: "Your description...",
personal: {
email: "[email protected]",
location: "Your Location",
// ... more fields
},
links: {
github: "https://github.com/yourusername",
linkedin: "https://linkedin.com/in/yourusername",
// ... more links
}
}
\`\`\`
### 2. **Projects**
Add your projects in `data/projects.ts`:
\`\`\`typescript
export const projects: Project[] = [
{
id: "1",
title: "Your Project",
description: "Project description...",
tags: ["React", "Next.js", "TypeScript"],
// ... more fields
}
]
\`\`\`
### 3. **Skills**
Update your skills in `data/skills.ts`:
\`\`\`typescript
export const skills: Skill[] = [
{
name: "React.js",
icon: "⚛️",
category: "Frontend",
proficiency: 95,
// ... more fields
}
]
\`\`\`
### 4. **Blog Posts**
Add blog posts in `data/blog.ts` or connect to your CMS:
\`\`\`typescript
export const blogPosts: BlogPost[] = [
{
slug: "your-post-slug",
title: "Your Post Title",
excerpt: "Post excerpt...",
// ... more fields
}
]
\`\`\`
---
## 📁 Project Structure
\`\`\`
portfolio-template/
├── app/ # Next.js 14 App Router
│ ├── api/ # API routes
│ ├── blog/ # Blog pages
│ ├── projects/ # Project pages
│ └── globals.css # Global styles
├── components/ # React components
│ ├── ui/ # Reusable UI components
│ ├── sections/ # Page sections
│ └── ...
├── data/ # Static data files
├── hooks/ # Custom React hooks
├── lib/ # Utility functions
├── types/ # TypeScript type definitions
├── utils/ # Helper functions
└── public/ # Static assets
\`\`\`
---
## 🚀 Deployment
### Deploy to Vercel (Recommended)
1. **Push to GitHub**
\`\`\`bash
git add .
git commit -m "Initial commit"
git push origin main
\`\`\`
2. **Deploy to Vercel**
- Visit [vercel.com](https://vercel.com)
- Import your GitHub repository
- Deploy with default settings
### Deploy to Netlify
1. **Build the project**
\`\`\`bash
npm run build
\`\`\`
2. **Deploy to Netlify**
- Drag and drop the `out` folder to [netlify.com](https://netlify.com)
- Or connect your GitHub repository
### Other Platforms
The portfolio works on any platform that supports Next.js:
- **Railway** - `railway up`
- **Render** - Connect GitHub repository
- **DigitalOcean App Platform** - Import from GitHub
---
## 🛠 Available Scripts
| Command | Description |
|---------|-------------|
| `npm run dev` | Start development server |
| `npm run build` | Build for production |
| `npm run start` | Start production server |
| `npm run lint` | Run ESLint |
| `npm run lint:fix` | Fix ESLint errors |
| `npm run type-check` | Run TypeScript compiler |
| `npm run analyze` | Analyze bundle size |
---
## 🎯 Features Roadmap
- [ ] **CMS Integration** - Sanity, Contentful, or Strapi
- [ ] **Blog Comments** - Giscus or Disqus integration
- [ ] **Newsletter** - ConvertKit or Mailchimp integration
- [ ] **Search** - Algolia or local search
- [ ] **i18n** - Multi-language support
- [ ] **PWA** - Progressive Web App features
- [ ] **E2E Testing** - Playwright or Cypress
- [ ] **Storybook** - Component documentation
---
## 🤝 Contributing
Contributions are what make the open source community amazing! Any contributions you make are **greatly appreciated**.
### How to Contribute
1. **Fork the Project**
2. **Create your Feature Branch** (`git checkout -b feature/AmazingFeature`)
3. **Commit your Changes** (`git commit -m 'Add some AmazingFeature'`)
4. **Push to the Branch** (`git push origin feature/AmazingFeature`)
5. **Open a Pull Request**
### Development Guidelines
- Follow the existing code style
- Add TypeScript types for new features
- Update documentation for significant changes
- Test your changes thoroughly
- Write meaningful commit messages
---
## 📝 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
---
## 🙏 Acknowledgments
- **Next.js Team** - For the amazing framework
- **Vercel** - For hosting and deployment
- **Tailwind CSS** - For the utility-first CSS framework
- **Framer Motion** - For smooth animations
- **Radix UI** - For accessible components
- **Lucide** - For beautiful icons
---
## 📊 GitHub Stats



---
## 💬 Support
- **Documentation**: [Wiki](https://github.com/adeelhashmi/portfolio-template/wiki)
- **Issues**: [GitHub Issues](https://github.com/adeelhashmi/portfolio-template/issues)
- **Discussions**: [GitHub Discussions](https://github.com/adeelhashmi/portfolio-template/discussions)
- **Email**: [[email protected]](mailto:[email protected])
---
<div align="center">
**If this project helped you, please consider giving it a ⭐!**
Made with ❤️ by [Adeel Hashmi](https://github.com/adeelhashmi)
</div>
Explore similar templates
Compare previews and descriptions within the same stack and category.

tailwind-nextjs-starter-blog
A Next.js and Tailwind CSS blog starter template using Contentlayer for Markdown/MDX, with built-in SEO, code highlighting, and tags. It targets personal technical blogs and migration from Jekyll/Hugo to React, and supports one-click Vercel deployment.
Next.js · Blog

react-resume-template
A personal resume website template for software developers, built with Next.js, React, and TypeScript and styled with Tailwind CSS. Site content is driven by a single data file at /src/data/data.tsx, with types in dataDef.ts and images in src/images/.
Next.js · Portfolio

Nextjs-tailwindcss-blog-template
A Next.js blog styled with Tailwind CSS. The current branch processes Markdown with Velite; the earlier Contentlayer setup is retained in a separate historical branch.
Next.js · Blog

Next-js-Blog-Boilerplate
A blog starter built on Next.js 12 and Tailwind CSS 3, integrating TypeScript, ESLint, Prettier, and PostCSS.
Next.js · Blog

nextjs-blog-theme
A Next.js 15 and Tailwind CSS 4.x blog starter by Netlify, designed by Bejamas, with MDX support, dark/light theme switching, and environment-variable configuration. It includes a visual setup wizard for deploying to Netlify and manages content via local .mdx files.
Next.js · Blog

blog
A personal blog forked from Timlrx's tailwind-nextjs-starter-blog, built with Next.js, React, and Tailwind CSS. Content is stored as Markdown/MDX under data/, with site, author, navigation, and project data in separate files.
Next.js · Blog
