Built with Next.js, Tailwind, and GSAP, supports static export, no server, database, or API keys required
portfolio-template (ViryaZheng) — Next.js Portfolio Template
By ViryaZheng
A personal portfolio template based on Next.js, Tailwind, and GSAP. It supports static export for deployment to GitHub Pages, with content concentrated in five marked files, making it easy for an AI coding agent to replace.
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 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Includes home, projects and detail pages, blog and detail pages, tools, experience, testimonials, and contact pages
Provides a print-first /cv résumé page that renders to A4 and can be printed as PDF, and can also be copied into multiple versions
Content is concentrated in five marked files, and the README states it can be replaced by an AI coding agent according to AGENTS.md
Comes with a GitHub Actions workflow for deployment to GitHub Pages
Responsive dark theme, with colors and fonts using CSS variables for easy rebranding
Template Details
This is a personal portfolio website template built with Next.js, Tailwind, and GSAP. It supports static export to HTML and can be deployed to GitHub Pages via the repository's included GitHub Actions workflow, with no server, database, or API keys required. The README states that its design goal is to be handed to an AI coding agent (such as Codex, Claude Code, or Cursor): the agent can replace content according to AGENTS.md and complete deployment.
The template includes home, projects (with detail pages), blog (with detail pages), tools, experience, testimonials, and contact pages, and provides a print-first /cv résumé page that renders to A4 paper and can be printed as PDF, and can also be copied into multilingual or role-specific versions. Visually, it uses a responsive dark theme, with colors and fonts defined via CSS variables for easy rebranding; animations include GSAP scroll animations, magnetic buttons, and 3D card tilt.
Content maintenance is concentrated in five clearly marked files: site.config.ts for name, role, location, SEO, contact information, and social links; data.ts for projects and blog posts; cv.data.ts for the résumé page; smaller copy is located in i18n.tsx and site.tsx. The README does not provide further information about performance, accessibility, browser compatibility, or production readiness.
Is it right for your project?
Use Cases
- Individual developers or designers building a portfolio website and hosting it on GitHub Pages
- Using an AI coding agent (such as Codex, Claude Code, or Cursor) to automatically replace template content according to AGENTS.md
- A multi-section personal website that needs to display projects, blog, tools, experience, and testimonials at the same time
- Needing an online résumé page that can be printed as PDF, and possibly maintaining multilingual or multi-role versions
Suitable For
- Users who want to deploy a personal portfolio statically and for free to GitHub Pages
- Developers willing to maintain content by editing configuration files
- Users planning to use an AI coding agent to complete content replacement and deployment
- Personal websites that need a dark theme, animated effects, and customizable color schemes
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Run npm install to install dependencies, and npm run dev to start the local development server (default http://localhost:3000)
- 2
Edit src/config/site.config.ts to set name, role, location, SEO, contact information, and social links
- 3
Edit src/components/portfolio/data.ts and cv.data.ts to fill in project/blog content and the résumé page respectively
- 4
Replace placeholder images in public/images/, public/og.jpg, and the src/app/icon.png icon
- 5
Before deploying to GitHub Pages, set url in site.config.ts to the actual deployment address, and select GitHub Actions as the source in the repository Settings → Pages
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 the code of that version and does not mean 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 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.
View Original Text Basis
https://github.com/ViryaZheng/portfolio-template/blob/main/LICENSEhttps://github.com/ViryaZheng/portfolio-template/blob/main/README.mdPermission is hereby granted, free of charge
Original License Text
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 · 80 / 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-08-05
- 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: 8cd7fcbdc57ed9ff817f15d581f28a7b1cb273c8bd23c60627360bb16731a222
2026-10-14T22:31:06.038Z
Source file / repository# Portfolio Template A clean, animated personal-portfolio template built with **Next.js + Tailwind + GSAP**. It exports to static HTML and deploys **free on GitHub Pages** — no server, no database, no API keys. It's designed to be filled in by an **AI coding agent** (Codex, Claude Code, Cursor, …): hand the project to your agent and it follows [`AGENTS.md`](./AGENTS.md) to swap in your content and deploy. **▶ [Live demo](https://viryazheng.github.io/portfolio-template/)** — this repo, deployed as-is with its placeholder content. That's what you get before you change a word. ## Features - ⚡️ Next.js 16 (App Router, React 19, TypeScript) — static export, fast and SEO-friendly - 🎬 GSAP scroll animations, magnetic buttons, 3D card tilt - 📱 Responsive dark theme; all colors + font are CSS variables (easy to rebrand) - 🧩 Home, Projects (+ detail pages), Blog (+ detail pages), Tools, Experience, Endorsements, Contact - 📄 A print-first **`/cv` résumé page** — renders as an A4 sheet, prints to a clean PDF, and can be cloned into several versions (another language, or one aimed at a different kind of role) - 🤖 Agent-ready: your content lives in five clearly-marked files, with no hidden overrides - 🚀 One-click-ish deploy to GitHub Pages via the included GitHub Actions workflow ## Quick start ```bash npm install npm run dev # http://localhost:3000 ``` Then edit your content: - **`src/config/site.config.ts`** — your name, role, location, SEO, contact + social links - **`src/components/portfolio/data.ts`** — your projects and blog posts - **`src/components/portfolio/cv.data.ts`** — the `/cv` résumé page (to drop it, delete `src/app/cv/`, this file, and the CV item in `Nav`) - Smaller copy (hero, FAQ, toolkit, work) lives in `src/components/portfolio/i18n.tsx` and `site.tsx` Replace the placeholder images in `public/images/` and `public/og.jpg`, and the favicon `src/app/icon.png`. > 💡 **Using an AI agent?** Just tell it: *"Read AGENTS.md and set up this portfolio with my info."* > It knows where everything goes. ## Deploy to GitHub Pages 1. Set `url` in `src/config/site.config.ts` to your real deploy URL. (`.env.local` is gitignored and never reaches the GitHub Actions build — it's a local override only.) 2. Create a GitHub repo and push to `main`. Name it `<your-username>.github.io` for the cleanest URL, or anything you like — the workflow detects which case you're in and sets the deploy path accordingly, so images work either way. 3. In the repo: **Settings → Pages → Source → "GitHub Actions"**. 4. Push — the included workflow builds and publishes. Done. See [`AGENTS.md`](./AGENTS.md) for repo-naming options, custom domains, and the full guide. ## Build commands ```bash npm run dev # local dev server npm run build # static export → ./out npm run serve # preview the built ./out npm run typecheck # tsc --noEmit npm run check # lint + typecheck + build ``` ## License MIT — the scaffold derives from the MIT-licensed [ai-website-cloner-template](https://github.com/JCodesMore/ai-website-cloner-template); see [LICENSE](./LICENSE). Your content is yours.
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
