Next.jsReactPortfolioCorporate Website

single-page-portfolio-site — Next.js Portfolio Template

By jmarellanes

A single-page personal portfolio template built with Next.js, React, TypeScript, and Tailwind CSS. It includes sections such as Header, Hero, Intro, Projects, Testimonials, FAQs, and Footer, and uses Motion and Split Type for text reveal animations.

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

Single-page structure with sections including Header, Hero, Intro, Projects, Testimonials, FAQs, and Footer

02

Built with Next.js, React, TypeScript, and Tailwind CSS

03

Integrates Motion and Split Type, and provides a useTextRevealAnimation text reveal Hook

04

Mobile-first responsive design and dark theme

05

README states it has SEO configuration, automatic code splitting, and image optimization

06

Provides deployment steps or guidance for Vercel, Netlify, Docker, and more

Template Details

This is a single-page portfolio template. The README states that it is used to showcase personal works, skills, and achievements, and is aimed at developers, designers, or creative professionals. The page consists of section components including Header, Hero, Intro, Projects, Testimonials, FAQs, and Footer. The main page entry is src/app/page.tsx. Reusable components include Button and Testimonial, and a custom useTextRevealAnimation Hook is provided for text reveal animations.

Regarding the tech stack, the README lists Next.js, React, TypeScript, Tailwind CSS, Motion, Split Type, and Tailwind Merge. Development tools include ESLint and PostCSS. The template uses a mobile-first responsive design, employs a dark theme, and states that it has SEO configuration, automatic code splitting, and image optimization.

Usage limitations: The README does not state whether the template includes a backend, CMS, form submission, database, or analytics integration; it also does not provide browser compatibility ranges, accessibility support details, or actual post-deployment runtime performance. The deployment section only provides steps or guidance for Vercel, Netlify, Docker, as well as AWS Amplify, GitHub Pages, and Firebase, without explaining specific configuration differences across platforms.

Next.jsReactPortfolioCorporate website

Is it right for your project?

Use Cases

  • Developers, designers, or creative professionals building a personal works and skills showcase page
  • A portfolio that needs a single-page structure and includes projects, client testimonials, and FAQ sections
  • Projects that want to start quickly based on Next.js and Tailwind CSS and modify content themselves
  • Showcase pages that need text reveal animations and a dark theme

Suitable For

  • Developers with a Next.js or React foundation who can edit component content themselves
  • Users who need a single-page portfolio template and accept replacing copy and images themselves
  • Users planning to deploy to platforms such as Vercel, Netlify, or Docker

Getting started & customization

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

  1. 1

    Environment requirements: Node.js 18.17 or higher, and npm, yarn, pnpm, or bun (the README recommends pnpm)

  2. 2

    Install dependencies: pnpm install; npm install, yarn install, or bun install can also be used

  3. 3

    Development: pnpm dev, then visit http://localhost:3000; build: pnpm build; production start: pnpm start; linting: pnpm lint

  4. 4

    Content modification locations: src/app/page.tsx and the Header, Hero, Intro, Projects, Testimonials, FAQs, and Footer components under src/sections

  5. 5

    Environment variables: create .env.local in the root directory; the README example includes NEXT_PUBLIC_SITE_URL and NEXT_PUBLIC_EMAIL

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 a public repository; 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

  • The code of this version may be used, modified, used commercially, and distributed for free.
  • 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

  • The README mentions Firebase integration; before enabling related dynamic features, you must configure it yourself and check Firebase quotas and charges.
  • 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 · 85 / 100
Technologies
Next.js · React
Website type
Portfolio · Corporate Website
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-03-09
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: 630688de01771a4b59d8dd7a59751b84f2977f4bc2599c59a4256368fb8d8203

2026-10-14T08:38:40.593Z

Source file / repository
# Minimal Single Page Portfolio

> A modern, minimal single-page portfolio template showcasing your work and skills. Built with Next.js, React, and Tailwind CSS with smooth animations.

## 📋 Table of Contents

- [Overview](#overview)
- [Features](#features)
- [Tech Stack](#tech-stack)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Getting Started](#getting-started)
- [Project Structure](#project-structure)
- [Available Scripts](#available-scripts)
- [Configuration](#configuration)
- [Deployment](#deployment)
- [License](#license)

## Overview

This project is a lightweight, fully responsive single-page portfolio template designed to showcase your work, skills, and achievements. It features a clean, minimal design with smooth animations and modern UI patterns. Whether you're a developer, designer, or creative professional, this template provides an elegant foundation for your personal brand.

Built with the latest versions of Next.js and React, with TypeScript for type safety and Tailwind CSS for styling, this template is production-ready and optimized for performance.

## ✨ Features

- **Responsive Design** - Mobile-first approach, optimized for all screen sizes
- **Smooth Animations** - Motion library integration for engaging page interactions
- **TypeScript** - Full type safety and better developer experience
- **SEO Ready** - Optimized for search engines with proper Next.js configurations
- **Performance Optimized** - Automatic code splitting and image optimization
- **Tailwind CSS** - Utility-first styling with minimal custom CSS
- **Dark Theme** - Modern dark color scheme with excellent readability
- **Easy to Customize** - Modular component structure for quick modifications
- **Text Reveal Animations** - Custom hooks for dynamic text animations

## 🛠️ Tech Stack

- **Framework**: [Next.js](https://nextjs.org/) 16.0.7
- **Language**: [TypeScript](https://www.typescriptlang.org/) 5
- **UI Library**: [React](https://react.dev/) 19.2.1
- **Styling**: [Tailwind CSS](https://tailwindcss.com/) 3.4.1
- **Animation**: [Motion](https://www.motion.dev/) 12.23.25
- **Text Animation**: [Split Type](https://www.npmjs.com/package/split-type) 0.3.4
- **Utility**: [Tailwind Merge](https://github.com/dcastil/tailwind-merge) 2.5.5
- **Development**: [ESLint](https://eslint.org/) 9.39.1, PostCSS 8

## 📦 Prerequisites

Before you begin, ensure you have the following installed:

- **Node.js** 18.17 or later
- **npm**, **yarn**, **pnpm**, or **bun** (recommended: pnpm)
- **Git** (for version control)

## 🚀 Installation

1. **Clone the repository**

```bash
git clone https://github.com/jmarellanes/single-page-portfolio-site.git
cd minimal-single-page-portfolio
```

2. **Install dependencies**

```bash
pnpm install
```

Or with your preferred package manager:

```bash
npm install
# or
yarn install
# or
bun install
```

## 🏃 Getting Started

### Development

Start the development server:

```bash
pnpm dev
```

Open [http://localhost:3000](http://localhost:3000) in your browser to see the portfolio.

The app will automatically reload when you make changes to files. Start editing `src/app/page.tsx` to customize your portfolio content and see updates in real time.

### Building for Production

Create an optimized production build:

```bash
pnpm build
```

### Starting the Production Server

After building, start the production server:

```bash
pnpm start
```

## 📁 Project Structure

```
src/
├── app/
│   ├── page.tsx           # Main portfolio page
│   ├── layout.tsx         # Root layout component
│   └── globals.css        # Global styles
├── components/
│   ├── Button.tsx         # Reusable button component
│   └── Testimonial.tsx    # Testimonial card component
├── sections/
│   ├── Header.tsx         # Header/Navigation section
│   ├── Hero.tsx           # Hero/Introduction section
│   ├── Intro.tsx          # About/Intro section
│   ├── Projects.tsx       # Projects showcase section
│   ├── Testimonials.tsx   # Client testimonials section
│   ├── FAQs.tsx           # Frequently asked questions
│   └── Footer.tsx         # Footer section
├── hooks/
│   └── useTextRevealAnimation.ts  # Custom text reveal animation hook
├── assets/
│   ├── icons/             # SVG icons
│   └── images/            # Images and graphics
public/                    # Static assets

Configuration Files:
├── next.config.mjs        # Next.js configuration
├── tailwind.config.ts     # Tailwind CSS configuration
├── tsconfig.json          # TypeScript configuration
├── postcss.config.mjs     # PostCSS configuration
└── package.json           # Project dependencies
```

## 📜 Available Scripts

| Script | Command | Description |
|--------|---------|-------------|
| `dev` | `pnpm dev` | Start development server |
| `build` | `pnpm build` | Build optimized production bundle |
| `start` | `pnpm start` | Start production server |
| `lint` | `pnpm lint` | Run ESLint to check code quality |

## ⚙️ Configuration

### Tailwind CSS

Customize colors, fonts, spacing, and other design tokens in `tailwind.config.ts` to match your brand identity.

### TypeScript

Modify TypeScript settings in `tsconfig.json`. The project is pre-configured with strict type checking for better code quality.

### Next.js

Configure Next.js behavior in `next.config.mjs` (e.g., image optimization, rewrite rules, environment variables).

### Animations

- **Motion**: Configure animation behaviors in your components using the `motion` library
- **Text Animations**: Use the `useTextRevealAnimation` hook for custom text reveal effects
- **Split Type**: Leverage Split Type for advanced text manipulation

### Environment Variables

Create a `.env.local` file in the root directory for environment-specific variables:

```bash
# .env.local
NEXT_PUBLIC_SITE_URL=https://yourportfolio.com
[email protected]
```

## 🌐 Deployment

### Deploy on Vercel (Recommended)

The easiest way to deploy is using [Vercel](https://vercel.com), created by the Next.js team:

1. Push your code to GitHub, GitLab, or Bitbucket
2. Visit [Vercel Dashboard](https://vercel.com/dashboard)
3. Click "New Project" and import your repository
4. Click "Deploy"

Your portfolio will be live with automatic deployments on every push to your main branch.

### Deploy Elsewhere

#### Netlify

```bash
# Configure build settings
Build command: pnpm build
Publish directory: .next
```

Connect your GitHub repo to Netlify and follow the setup wizard.

#### Docker

```dockerfile
FROM node:18-alpine AS base
WORKDIR /app

FROM base AS deps
COPY package.json pnpm-lock.yaml ./
RUN npm install -g pnpm && pnpm install --frozen-lockfile

FROM base AS builder
COPY package.json pnpm-lock.yaml ./
RUN npm install -g pnpm && pnpm install --frozen-lockfile
COPY . .
RUN pnpm build

FROM base AS runtime
RUN npm install -g pnpm
COPY --from=deps /app/node_modules ./node_modules
COPY --from=builder /app/.next ./.next
COPY --from=builder /app/public ./public
COPY --from=builder /app/package.json ./package.json

EXPOSE 3000
CMD ["pnpm", "start"]
```

#### Other Platforms

- **AWS Amplify**: Follow the [AWS Amplify Next.js deployment guide](https://docs.amplify.aws/nextjs/start/quickstart/)
- **GitHub Pages**: Use `next export` (static export) for static hosting
- **Firebase**: Deploy using Firebase Hosting with Cloud Functions

## 🎨 Customization Tips

1. **Update your content** in the respective section components (`Header.tsx`, `Hero.tsx`, etc.)
2. **Customize colors** in `tailwind.config.ts`
3. **Modify animations** by adjusting Motion library props
4. **Add your images** to `src/assets/images/`
5. **Update metadata** in `src/app/layout.tsx` for SEO

## 🚀 Performance Tips

- Use Next.js Image component for optimized image loading
- Implement lazy loading for sections below the fold
- Monitor bundle size with `npm run build`
- Use TypeScript strict mode to catch potential issues early

## 🤝 Contributing

Contributions are welcome! Please follow these steps:

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit changes (`git commit -m 'Add amazing feature'`)
4. Push to branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## 📄 License

This project is licensed under the MIT License. See [LICENSE](LICENSE) for details.

## 🔗 Resources

- [Next.js Documentation](https://nextjs.org/docs)
- [React Documentation](https://react.dev)
- [Tailwind CSS Documentation](https://tailwindcss.com/docs)
- [Motion Documentation](https://www.motion.dev/)
- [Split Type Documentation](https://www.npmjs.com/package/split-type)
- [TypeScript Handbook](https://www.typescriptlang.org/docs/)

## 💬 Support

For issues, questions, or suggestions, please [open an issue](https://github.com/your-username/minimal-single-page-portfolio/issues) on the repository.

---

Made with ❤️ by the Frontend Tribe
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.