Next.jsReactPortfolio

Portfolio-Template-02 — Next.js Portfolio Template

By Hariharanpugazh

A dark-themed personal portfolio template built with Next.js, TypeScript, and Tailwind CSS, aimed at developers, AI engineers, and data scientists, featuring project showcases, skills, an experience timeline, and a Formspree contact form.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-04View source

What stands out

A quick read of the recorded project description.

01

Built with Next.js, TypeScript, and Tailwind CSS, with a clear code structure

02

Dark theme with Framer Motion animations and a responsive layout

03

Includes common portfolio sections such as a project showcase grid, skills icon area, and experience timeline

04

The contact form is handled via Formspree and requires configuring the form endpoint yourself

05

Uses the MIT license, allowing free use, modification, commercial use, and distribution

Template Details

This is an open-source template for building a personal portfolio website. Its tech stack is Next.js, TypeScript, and Tailwind CSS, with page animations powered by Framer Motion. The content structure covers common portfolio sections such as a homepage hero, about me, skills, project showcase, experience timeline, and contact form, making it suitable for developers, AI engineers, and data scientists to organize personal projects and career information.

The template uses a dark color scheme and responsive layout. The projects section is arranged in a grid and can hold demo links and repository addresses; the skills section displays the tech stack as icons; the experience section is presented as a timeline. The contact form integrates with Formspree and requires replacing the form endpoint to receive submissions.

Customization is mainly done by directly editing component files: personal information, skills list, and project data are located in the corresponding files under components/content, components/utils, and components/sections, while styles can be adjusted in tailwind.config.js and styles/globals.css. The repository uses the MIT license, allowing free use, modification, commercial use, and distribution, provided the copyright and license notice are retained; the licensing and costs of third-party assets such as demo images, fonts, and icons, as well as external services like Formspree, must be verified separately.

Next.jsPortfolio

Is it right for your project?

Use Cases

  • Developers organizing personal projects, skills, and work experience and publishing them as an online portfolio
  • AI engineers or data scientists showcasing their tech stack and representative projects
  • As a reference project for learning the combined practice of Next.js, TypeScript, and Tailwind CSS
  • Quickly replacing personal information on existing content to build a personal homepage

Suitable For

  • Developers who want to build a personal portfolio using an existing template
  • Technical professionals who need to showcase projects and skills
  • Users familiar with or willing to modify React/Next.js component files
  • Site builders who accept configuring the form service themselves and replacing assets

Getting started & customization

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

  1. 1

    After cloning the repository, run npm install to install dependencies, then run npm run dev to start the local development server

  2. 2

    The contact form uses Formspree; replace it with your own form ID in components/content/ContactMe.tsx

  3. 3

    Personal information, skills, and project data are spread across the corresponding files under components/content, components/utils, and components/sections, and must be modified item by item

  4. 4

    Environment variables such as NEXT_PUBLIC_SITE_URL can be set via .env.local

  5. 5

    Deployment to Vercel can be done with zero configuration; for other platforms, run npm run build and npm start

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 applies to that version's code and does not mean 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 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

  • The contact form relies on the third-party service Formspree; you must register and replace the form ID to receive submissions, which may involve account and fees for the external service.
  • You must create .env.local and configure environment variables such as NEXT_PUBLIC_SITE_URL; site address and other settings must be completed before deployment.
  • Deployment to Vercel is recommended; using that external hosting platform requires registering an account and complying with its terms of service.
  • The README mentions the Formspree form service; actual submissions require configuring the service endpoint, and its usage quotas and fees must be checked separately.
  • 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 additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

The template uses Formspree for contact form handling. Update the form action in `components/content/ContactMe.tsx`

Original README

Create a `.env.local` file for any environment-specific configurations

Original README

Connect your repository to [Vercel](https://vercel.com)

Original README
https://github.com/Hariharanpugazh/Portfolio-Template-02/blob/main/LICENSEhttps://github.com/Hariharanpugazh/Portfolio-Template-02/blob/main/Readme.md

Compiled by DeepSeek based on repository license and README ·2026-10-04. 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 · 81 / 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
2025-08-20
Screenshot last checked
2026-10-04

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

Inspect the recorded source material

SHA-256: 8c901ee70a4a8a788c9b6376f81edd0ad3b0bba7503206ac9fdadfbc7d147ef0

2026-10-04T00:21:26.057Z

Source file / repository
# Portfolio Template

A modern, responsive portfolio template built with Next.js, TypeScript, and Tailwind CSS. This template is designed for developers, AI engineers, and data scientists to showcase their projects, skills, and professional experience.

## Live Demo
Check out the live demo: **[harlee.vercel.app](https://harlee.vercel.app)**

![Next.js](https://img.shields.io/badge/Next.js-13.x-black?style=flat-square&logo=next.js)
![TypeScript](https://img.shields.io/badge/TypeScript-4.9-blue?style=flat-square&logo=typescript)
![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-3.4-38B2AC?style=flat-square&logo=tailwind-css)
![License](https://img.shields.io/badge/License-MIT-green?style=flat-square)

## Features

- **Responsive Design** - Optimized for desktop, tablet, and mobile devices
- **Dark Theme** - Modern dark color scheme with elegant typography
- **Smooth Animations** - Built with Framer Motion for fluid user interactions
- **Project Showcase** - Grid layout for displaying your work with live demos and repository links
- **Skills Section** - Interactive display of technologies and tools
- **Timeline Experience** - Professional experience timeline with animations
- **Contact Form** - Integrated contact form with Formspree
- **SEO Optimized** - Built-in meta tags and structured data
- **Fast Performance** - Optimized with Next.js for lightning-fast loading

## Tech Stack

### Frontend
- **Next.js 13** - React framework with App Router
- **TypeScript** - Type-safe JavaScript development
- **Tailwind CSS** - Utility-first CSS framework
- **Framer Motion** - Animation library for React

### UI Components
- **Mantine** - Modern React components library
- **FontAwesome** - Icon library for tech stack display
- **Heroicons** - Beautiful hand-crafted SVG icons

### Development Tools
- **ESLint** - Code linting and formatting
- **Prettier** - Code formatting
- **PostCSS** - CSS processing

## Quick Start

1. **Clone the repository**
   ```bash
   git clone https://github.com/Hariharanpugazh/Portfolio-Template-02.git
   cd Portfolio-Template-02
   ```

2. **Install dependencies**
   ```bash
   npm install
   # or
   yarn install
   ```

3. **Start development server**
   ```bash
   npm run dev
   # or
   yarn dev
   ```

4. **Open your browser**
   Navigate to [http://localhost:3000](http://localhost:3000)

## Customization

### Personal Information
Update your personal details in the following files:
- `components/content/Hero.tsx` - Name and professional title
- `components/content/AboutMe.tsx` - Personal description
- `components/content/ContactMe.tsx` - Contact information
- `package.json` - Author details and repository

### Skills and Technologies
Modify your tech stack in:
- `components/utils/mySkills.ts` - Add/remove skills categories
- `components/icons/AllFavTechs.tsx` - Update favorite technologies

### Projects
Add your projects in:
- `components/sections/ProjectsSection.tsx` - Update project data
- `components/content/FavProjects.tsx` - Featured projects
- `/public/` - Add project images

### Styling
- `tailwind.config.js` - Customize colors, fonts, and spacing
- `styles/globals.css` - Global styles and custom CSS

## Project Structure

```
├── app/
│   ├── (user)/          # Main application routes
│   └── head.tsx         # Document head configuration
├── components/
│   ├── content/         # Page content components
│   ├── icons/           # Icon components
│   ├── projects/        # Project-related components
│   ├── sections/        # Main page sections
│   ├── ui/              # Reusable UI components
│   └── utils/           # Utility components
├── hooks/               # Custom React hooks
├── public/              # Static assets
├── styles/              # CSS files
└── types/               # TypeScript type definitions
```

## Deployment

### Vercel (Recommended)
1. Push your code to GitHub
2. Connect your repository to [Vercel](https://vercel.com)
3. Deploy with zero configuration

### Other Platforms
```bash
npm run build
npm start
```

## Configuration

### Contact Form
The template uses Formspree for contact form handling. Update the form action in `components/content/ContactMe.tsx`:
```tsx
<form action='https://formspree.io/f/YOUR_FORM_ID' method='POST'>
```

### Environment Variables
Create a `.env.local` file for any environment-specific configurations:
```bash
NEXT_PUBLIC_SITE_URL=https://yoursite.com
```

## Browser Support

- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)

## Performance

- **Lighthouse Score**: 95+ for Performance, Accessibility, Best Practices, and SEO
- **First Contentful Paint**: < 1.5s
- **Largest Contentful Paint**: < 2.5s

## Contributing

This is an open-source template. Contributions are welcome!

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Submit a pull request

## License

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

## Author

**Hariharan P**
- Email: [email protected]
- GitHub: [@Hariharanpugazh](https://github.com/Hariharanpugazh)

## Acknowledgments

- Built with [Next.js](https://nextjs.org/)
- Styled with [Tailwind CSS](https://tailwindcss.com/)
- Animations by [Framer Motion](https://www.framer.com/motion/)
- Icons from [FontAwesome](https://fontawesome.com/) and [Heroicons](https://heroicons.com/)

---

⭐ Star this repository if you found it helpful!
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