Next.jsReactPortfolio

next-portofolio-template — Next.js Portfolio Template

By erickow

A Next.js-based portfolio template whose page content is driven by static JSON data in the content directory, with built-in Google Analytics configuration, static sitemap generation, and SEO social sharing metadata.

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-13View source

What stands out

A quick read of the recorded project description.

01

Page content is driven by static JSON files in the content directory, with no database or CMS required

02

Provides field definitions and required-field notes for three page types: homepage, portofolio, and contact

03

The portofolio data supports both image and video entry types, and desc_position can control whether the description is left or right

04

Built-in Google Analytics configuration entry; replace the ID in the constant file

05

Built-in static sitemap generation; fill in website_url in the constant file

06

Includes SEO social sharing metadata configuration with title, description, url, site_name, and link_image

Template Details

This template is used to build a personal portfolio website. The repository is erickow/next-portofolio-template, built with Next.js, and its README states that page content comes from static JSON files in the content directory rather than a database or CMS.

The content structure is divided into three page types: homepage uses title (required), description (required, array, each index corresponds to a paragraph), image (optional, image object); portofolio uses title (optional), description (required, string array), data (required, array of objects, type image or video), desc_position (optional, left or right); contact uses title (required), image (optional), list (required, array of objects). Image objects include ratio (width, height) and url. Static images, icons, and thumbnails go in the project's public root directory.

Site-level configuration is centralized in the constant file in the content directory: for Google Analytics, replace the ID in it; for the sitemap, change website_url to your own domain. SEO social sharing metadata includes five items: title, description, url, site_name, link_image, all required.

Run with yarn install and yarn dev; build and start with yarn build and yarn start respectively. The repository uses the MIT license, and the free scope is this version of the code; third-party assets such as demo images, fonts, and icons must be checked against their respective licenses, and external services such as domains and hosting may incur separate charges.

Next.jsPortfolio

Is it right for your project?

Use Cases

  • Build a personal portfolio website and maintain the homepage introduction, project list, and contact information with JSON
  • Need to configure SEO metadata and social sharing cards for portfolio pages
  • Want to integrate Google Analytics to track visit data and generate a static sitemap

Suitable For

  • Developers who can directly edit JSON files to maintain content
  • Those using Next.js who want to build a portfolio site with static data
  • Independent deployment scenarios where you need to configure your own domain, analytics tool, and sitemap

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    Install dependencies and start the development environment: yarn install, yarn dev; build and start with yarn build, yarn start

  2. 2

    Edit the homepage, portofolio, and contact files in the content directory, and fill in required fields according to the README table

  3. 3

    Replace the Google Analytics ID in content/constant and change website_url to your own domain

  4. 4

    Place static images, icons, and thumbnails in the public root directory; image objects must provide ratio and url

  5. 5

    The repository code is MIT licensed; retain the copyright and license notice when distributing. Third-party assets such as demo images, fonts, and icons must be checked separately for licensing

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in the public repository; the free scope is this version of the code and does not mean external services or third-party assets are free.

Must comply with when using

  • You may use, modify, commercially use, and distribute this version of the code for free.
  • 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 separate charges.
  • Using the Google Analytics feature requires you to provide and enter your own Google Analytics ID, which is an external service account configuration.
  • Generating the sitemap requires replacing website_url with your own domain; external services such as domains and hosting may incur costs.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

- change data id with your Google Analytics ID

Original README

- change data website_url with your domain url

Original README
https://github.com/erickow/next-portofolio-template/blob/master/LICENSEhttps://github.com/erickow/next-portofolio-template/blob/master/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-13. 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
Partly documented · 68 / 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
2021-03-27
Screenshot last checked
2026-10-13

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: [email protected] · 2026-10-13

Inspect the recorded source material

SHA-256: a0538538b54a4204aab9b7bcea39f44cba33c1fda64740a9f1231764aa5f8958

2026-10-13T04:57:00.967Z

Source file / repository
## Next Js Portofolio with simple static json data

![next portofolio template image](https://raw.githubusercontent.com/erickow/next-portofolio-template/master/public/next-portofolio-starter.png "next portofolio template image")

project demo visit this [vercel demo link](https://next-portofolio-template.vercel.app/)

## Feature
 - [Next Js Tailwind template](https://github.com/taylorbryant/next-starter-tailwind)
 - Google Analytic Setting
 - Static sitemap Generator
 - Customize data responsive Layout
 - SEO meta social sharing 
 
 ## How to Run
 ```
 - yarn install
 - yarn dev
 ```

  ## How to Start
 ```
 - yarn start
 ```

 ## How to Build
 ```
 - yarn build
 ```

## Important Notes
for static images, icon, thumbnail see the public root folder in the project

## Sample Image Object
```
image: {
  ratio: {
      width: '960',
      height: '540'
  },
  url: '/critter.svg' -> check public folder
}
```

 ## Homepage Page
   ```
 - open folder content
 - open file homepage
 ```
| Varialble      | Mandatory | Value | 
| ----------- |:----:| ----------- |
| title      |yes| String       |
| description   |yes| Array, new index = new paragraph        |
| image   |no| Image Object        |

 ## Portofolio Page
  ```
 - open folder content
 - open file portofolio
 ```

| Varialble      | Mandatory | Value | 
| ----------- |:----:| ----------- |
| title      |No| String       |
| description   |yes| Array String, new index = new paragraph        |
| data   |yes| Array Object (type: image, and video)        |
| desc_position   |no| String, left or right        |

 ## Contact Page
   ```
 - open folder content
 - open file homepage
 ```

| Varialble      | Mandatory | Value | 
| ----------- |:----:| ----------- |
| title      |yes| String       |
| image   |no| Image Object        |
| list   |yes| Array Object, new index = new paragraph        |

 ## Seo meta social sharing
  ```
 - open folder content
 - open file portofolio
 ```

| Varialble      | Mandatory | Value | 
| ----------- |:----:| ----------- |
| title      |yes| String       |
| description   |yes| String        |
| url   |yes| String, (website domain)        |
| site_name   |yes| String       |
| link_image   |yes| String, (website domain image that will show when shared)        |

 ## How to Setting Google Analytic
 ```
 - open folder content
 - open file constant
 - change data id with your Google Analytics ID
 ```

  ## How to Setting Sitemap
 ```
 - open folder content
 - open file constant
 - change data website_url with your domain url
 ```
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