Next.jsReactPortfolio

portfolio-nextjs-notion — Next.js Portfolio Template

By lufigir

A static-first portfolio template based on the Next.js 16 App Router and the Notion API, using ISR to fetch content from a Notion database and building the interface with Tailwind CSS and shadcn/ui.

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

Built with the Next.js 16 App Router, using a static-first page delivery approach

02

Uses Notion as a headless CMS, fetching content through Notion API v5.6.0

03

Uses Incremental Static Regeneration (ISR) and provides an app/api/revalidate revalidation endpoint

04

Uses TypeScript, together with Tailwind CSS and shadcn/ui components

05

Supports light and dark mode

06

The README provides links to a complete tutorial from Notion database structure to Vercel deployment

Template Details

This is a portfolio website template whose content is managed through Notion as a headless CMS, delivered in a static-first manner, and updated using Incremental Static Regeneration (ISR). The README states that its tech stack includes the Next.js 16 App Router, Notion API v5.6.0, TypeScript, Tailwind CSS, and shadcn/ui, with Vercel as the deployment target. The project structure includes the home page and the ISR revalidation endpoint (api/revalidate) under the app directory, items/sections/ui components under components, and data-fetching logic, the Notion client, type definitions, and utility functions under lib. The README also mentions that the template supports light/dark mode and provides links to a complete tutorial covering project setup, Notion database structure, data fetching, ISR and on-demand revalidation, and Vercel deployment.

The README does not provide specific environment variable names, the Notion database field structure, local run commands, or deployment configuration details; these require consulting the linked tutorial. Statements such as "production-ready" in the README are the project's own description, and this introduction does not infer actual production readiness from them.

Next.jsReactPortfolio

Is it right for your project?

Use Cases

  • Developers who want to maintain portfolio content in a Notion database and avoid editing code directly
  • Personal portfolio sites that need static-first pages and want to update content through ISR
  • Those who want a project structure example for integrating the Next.js App Router with the Notion API
  • Scenarios that plan to deploy the portfolio to Vercel and need an on-demand revalidation mechanism

Suitable For

  • Individual developers who use Notion to manage portfolio content
  • Developers familiar with or willing to learn the Next.js App Router and TypeScript
  • Frontend projects that need a light/dark mode portfolio template
  • Users who want to set up and deploy to Vercel step by step following the README tutorial

Getting started & customization

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

  1. 1

    The README does not list the required environment variable names; consult the linked complete tutorial (the felipego.com blog post)

  2. 2

    The README does not provide local installation and run commands; consult the tutorial or the configuration files in the repository

  3. 3

    The Notion database structure, fields, and integration method are not expanded on in the README; the tutorial covers them

  4. 4

    The deployment target is Vercel, and the README provides a one-click Vercel clone deployment link

  5. 5

    The README does not state the Node.js version or other runtime environment requirements

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

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

Must comply with when using

  • Free use, modification, commercial use, and distribution of that 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 separate 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 · 88 / 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-02
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-20261017 · 2026-10-16

Inspect the recorded source material

SHA-256: f3fa3762b7d3399bcc180952661f2556863bf80c00418b166c7bddfc436e7cb6

2026-10-14T14:44:42.234Z

Source file / repository
<div align="center">
  <img src="https://res.cloudinary.com/dntqogcgc/image/upload/v1767316792/677shots_so_mhyjwf.png" alt="Portfolio banner" />

  <h1>Next.js 16 ISR Portfolio with Notion CMS</h1>

  <p>
    A modern, minimal portfolio built with <strong>Next.js 16 (App Router)</strong> and
    <strong>Notion as a headless CMS</strong>, using
    <strong>Incremental Static Regeneration (ISR)</strong> for high performance and easy content updates.
  </p>

  <p>
    Content is managed directly from Notion and delivered with a static-first approach.<br />
    Built with <a href="https://nextjs.org/">Next.js</a>,
    powered by <a href="https://developers.notion.com/">Notion API v5.6.0</a>,
    styled using <a href="https://tailwindcss.com/">Tailwind CSS</a> and
    <a href="https://ui.shadcn.com/">shadcn/ui</a>.
  </p>

  <p>
    <a href="https://felipego.com/blog/nextjs-notion-portfolio-isr">Complete Tutorial</a> ·
    <a href="https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fastrxnomo%2Fportfolio-nextjs-notion">Deploy with Vercel</a>
  </p>
</div>

---

## Complete Guide

This project includes a **full, in-depth tutorial** covering everything from zero to production:

- Project setup
- Notion database structure
- Data fetching with the Notion API
- ISR and on-demand revalidation
- Deployment on Vercel

Read the full tutorial here:  
**https://felipego.com/blog/nextjs-notion-portfolio-isr**

## Tech Stack

- Next.js 16 (App Router)
- Notion API v5.6.0
- TypeScript
- Tailwind CSS + shadcn/ui
- Incremental Static Regeneration (ISR)
- Vercel

## Features

- Content managed entirely from Notion  
- Fast, static-first performance with ISR  
- Light / Dark mode  
- Fully typed and production-ready  


## Project Structure

```txt
portfolio/
├── app/
│   ├── api/revalidate/     # ISR revalidation endpoint
│   ├── globals.css         # Global styles and theme variables
│   ├── layout.tsx          # Root layout and providers
│   └── page.tsx            # Home page (ISR)
├── components/
│   ├── items/              # Individual UI items
│   ├── sections/           # Page sections
│   └── ui/                 # Shared UI components
└── lib/
    ├── data/               # Data fetching logic
    ├── notion/             # Notion client and types
    └── utils.ts            # Utility functions
```

## License

MIT — free to use for personal or commercial portfolios.
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