Content is entirely driven by object data under src/utils/data/; modifying object values updates the portfolio
portfolio-template (muhammada86) — Next.js Portfolio Template
By muhammada86
A dynamic portfolio template based on Next.js. Customize personal homepage content by modifying object data under src/utils/data/. The README provides local run and Vercel/Netlify deployment steps.
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 2
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
personalData.ts centrally manages name, job title, bio, contact information, and multiple social platform links
The metaData object is used to configure the website title, description, and SEO keywords
The README states that Resend must be integrated and an API Key configured in .env to receive contact emails
Provides complete command steps from forking, cloning, and installing dependencies to running locally
Deployment instructions cover Vercel and Netlify, and note configuring the Resend API value in Vercel environment variables
Template Details
This is a dynamic portfolio template built with Next.js. The README states that its content is entirely driven by object data in the src/utils/data/ directory, allowing you to quickly generate and customize a personal portfolio without complex configuration.
Customization: Edit the object values in personalData.ts, including name, avatar path, job title, bio, years of experience, email, phone, address, as well as social links for GitHub, Facebook, LinkedIn, Twitter, Stack Overflow, LeetCode, dev.to, and a resume link. The metaData object in the same file is used to set the website title, description, and SEO keywords. The README also notes that Resend must be integrated to receive contact emails, with the API Key written into a .env file, and that the icon.ico under src/app can be replaced using a favicon generation tool.
Running and deployment: The README requires forking and cloning the repository first, then entering the project directory, running npm install to install dependencies, and using npm run dev to start the development server, accessible by default at http://localhost:3000. For deployment, push changes to GitHub, then import the repository in Vercel or Netlify, and add the Resend API value in Vercel environment variables. The project uses the MIT license.
The README does not provide information on page section composition, component list, dependency versions, browser compatibility, performance, or accessibility, nor does it describe other integrations beyond Resend.
Is it right for your project?
Use Cases
- Individual developers or designers building and maintaining their own portfolio homepage
- Quickly replacing name, bio, social links, and resume address by modifying data files
- Starting a local development server to preview the portfolio following the README steps
- Pushing the repository to GitHub and importing it into Vercel or Netlify to complete deployment
- Configuring Resend to receive emails sent by visitors through the contact form
Suitable For
- Developers who want to maintain portfolio content using object data rather than page code
- Users familiar with basic Node.js and npm commands who can follow the README to run locally
- Individual users planning to deploy a static site using Vercel or Netlify
- Users willing to register for Resend and configure an API Key to enable the contact email feature
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
The README requires forking the repository first, then running git clone, cd portfolio-template, and npm install
- 2
Local preview uses npm run dev, with the default address at http://localhost:3000
- 3
Edit personalData.ts and the metaData object under src/utils/data/ to customize content
- 4
Receiving contact emails requires integrating Resend and adding the API Key in a .env file
- 5
When deploying to Vercel, add the Resend API value in environment variables; the README does not describe other deployment configuration details
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version of a public repository under the MIT license; the free scope is the code of this version and does not imply that 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 full 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.
- Receiving contact emails requires integrating the Resend service, registering an account, and obtaining an API Key to write into a .env file; otherwise, the contact form cannot send emails.
- When deploying to Vercel, the Resend API value must be added in environment variables; otherwise, the online contact email feature will not work.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
5. You have to integrate [Resend](https://resend.com/) to receive contact emails. You can signup and get the api key and add it in `.env` file.
Original README
https://github.com/muhammada86/portfolio-template/blob/main/LICENSEhttps://github.com/muhammada86/portfolio-template/blob/main/README.md4. You will have to add resend API value in Vercel Environment Variable
Original README
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 · 83 / 100
- Technologies
- Next.js · React
- Website type
- Portfolio
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
- 2026-01-15
- 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: 5dd4bfa3d3a71e02368ef80afd45383122e43fd8cb59a3ecd5d4eb0e8848f06e
2026-10-14T04:39:21.353Z
Source file / repository```markdown
# Dynamic Portfolio Template
This is a dynamic portfolio template built with NextJS. By simply editing the object values in the `src/utils/data/` folder, you can quickly create and customize a portfolio tailored to your needs without any complex configurations. Everything is dynamic and easy to update!
---
## ✨ Features
- Fully dynamic content
- Easy to customize by editing JSON-like objects
- Responsive design
- Ready to deploy
---
## 🚀 Quick Start
### 1. Fork the Repository
Click on the Fork button in the top-right corner of this repository to create your own copy.
### 2. Clone the Repository
After forking, clone the repository to your local machine:
```
```bash
git clone https://github.com/muhammada86/portfolio-template.git
```
### 3. Navigate to the Project Directory
```bash
cd portfolio-template
```
### 4. Install Dependencies
Make sure you have Node.js installed on your machine. Then run:
```bash
npm install
```
### 5. Run the Development Server
Start the development server to preview your portfolio:
```bash
npm run dev
```
Your portfolio should now be accessible at `http://localhost:3000` in your browser.
---
## 🛠️ How to Customize
1. Open the `src/utils/data/` folder.
2. Update the object values in the `personalData.ts` file:
### Example of `personalData.ts`:
```typescript
export const personalData = {
name: "Your Name",
profile: "/profile.png", // Replace the image with your transparent public/profile.png
designation: "Your Designation",
description: `A short bio about yourself`,
experience: 5, // Years of experience
email: "[email protected]",
phone: "+123456789",
address: "Your Address",
github: "https://github.com/yourusername",
facebook: "https://www.facebook.com/yourusername",
linkedIn: "https://www.linkedin.com/in/yourusername/",
twitter: "https://twitter.com/yourusername",
stackOverflow: "https://stackoverflow.com/users/yourid",
leetcode: "https://leetcode.com/yourusername/",
devUsername: "yourDev.toUsername",
resume: "https://your-resume-link",
};
```
3. Update the `metaData` object in the same file to personalize the website's metadata (title, description, and SEO keywords).
### Example of `metaData`:
```typescript
export const metaData = {
title: "Your Name - Your Designation",
description: "A brief overview of your skills and expertise",
keywords: [
"Your Name",
"Your Designation",
"Portfolio Website",
"JavaScript Developer",
],
};
```
4. Save the file and reload your development server. Your custom portfolio is now ready!
5. You have to integrate [Resend](https://resend.com/) to receive contact emails. You can signup and get the api key and add it in `.env` file.
6. To update the icon.ico in src/app, you can generate it from [Fav Icon Generator](https://favicon.io/favicon-converter/)
---
## 🌟 Deployment
Once you're happy with your portfolio, deploy it to a hosting service like [Vercel](https://vercel.com/) or [Netlify](https://www.netlify.com/).
### Example Deployment on Vercel:
1. Push your changes to GitHub:
```bash
git add .
git commit -m "Customized my portfolio"
git push origin main
```
2. Go to [Vercel](https://vercel.com/) and import your repository.
3. Follow the instructions to deploy.
4. You will have to add resend API value in Vercel Environment Variable
Your portfolio will be live in minutes!
---
## 📄 License
This project is open-source and available under the MIT License.
---
🎉 Happy Coding!
Explore similar templates
Compare previews and descriptions within the same stack and category.

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

nxt-lnk
nxt-lnk is a Next.js-based bio link page template that manages personal information and links via BioData.js and LinksData.js, positioned as a self-hosted alternative to Linktree. It groups links by type, supports enabling/disabling individual links, and offers hexagonal or oval avatars.
Next.js · Portfolio

sylph
Sylph is a minimal portfolio and blog template built on Next.js, supporting MDX/Markdown writing, light/dark themes, and automatic OG image generation. It includes sitemap, robots.txt, metadata, and syntax highlighting, with automatic blog timestamps.
Next.js · Portfolio

sleek-portfolio
A modern, responsive portfolio template built with Next.js 15, TypeScript, Tailwind CSS, and Shadcn UI. It includes an MDX blog, project showcase, work experience timeline, and a contact form that receives messages via Telegram Bot.
Next.js · Portfolio

research-website-template
A React + Next.js template for research personal websites, aimed at PhD students and researchers. It centralizes publications, projects, and other content in src/data as arrays of objects, with optional fields automatically generating UI components.
Next.js · Portfolio

shadcn-portfolio
A developer portfolio template built with Next.js 15, shadcn/ui, Tailwind CSS, and Framer Motion, featuring an MDX blog, light and dark modes, responsive design, and SEO meta tags.
Next.js · Portfolio
