Next.jsReactPortfolio

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.

2 previews
Desktop homepage1 / 2
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 2

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-14View source

What stands out

A quick read of the recorded project description.

01

Content is entirely driven by object data under src/utils/data/; modifying object values updates the portfolio

02

personalData.ts centrally manages name, job title, bio, contact information, and multiple social platform links

03

The metaData object is used to configure the website title, description, and SEO keywords

04

The README states that Resend must be integrated and an API Key configured in .env to receive contact emails

05

Provides complete command steps from forking, cloning, and installing dependencies to running locally

06

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.

Next.jsPortfolio

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. 1

    The README requires forking the repository first, then running git clone, cd portfolio-template, and npm install

  2. 2

    Local preview uses npm run dev, with the default address at http://localhost:3000

  3. 3

    Edit personalData.ts and the metaData object under src/utils/data/ to customize content

  4. 4

    Receiving contact emails requires integrating Resend and adding the API Key in a .env file

  5. 5

    When deploying to Vercel, add the Resend API value in environment variables; the README does not describe other deployment configuration details

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This 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

4. You will have to add resend API value in Vercel Environment Variable

Original README
https://github.com/muhammada86/portfolio-template/blob/main/LICENSEhttps://github.com/muhammada86/portfolio-template/blob/main/README.md

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!
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.

react-resume-template

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

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

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

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

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

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