Page content is driven by static JSON files in the content directory, with no database or CMS required
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.
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.
Provides field definitions and required-field notes for three page types: homepage, portofolio, and contact
The portofolio data supports both image and video entry types, and desc_position can control whether the description is left or right
Built-in Google Analytics configuration entry; replace the ID in the constant file
Built-in static sitemap generation; fill in website_url in the constant file
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.
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
Install dependencies and start the development environment: yarn install, yarn dev; build and start with yarn build, yarn start
- 2
Edit the homepage, portofolio, and contact files in the content directory, and fill in required fields according to the README table
- 3
Replace the Google Analytics ID in content/constant and change website_url to your own domain
- 4
Place static images, icons, and thumbnails in the public root directory; image objects must provide ratio and url
- 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
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 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
https://github.com/erickow/next-portofolio-template/blob/master/LICENSEhttps://github.com/erickow/next-portofolio-template/blob/master/README.md- change data website_url with your domain url
Original README
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

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
```
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
