Next.js App Router and TypeScript project structure, with clear separation of pages, components, data, and utility functions
My_Portfolio — Next.js Portfolio Template
By Harshitkumar07
A personal portfolio template built with Next.js and TypeScript, featuring a space theme, glassmorphism, Framer Motion animations, and light/dark theme switching.
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.
A global starfield background in the dark space theme, with reduced star density and throttled update frequency on mobile
Glassmorphic translucent sections and decorative space elements, with corresponding accent components for the light theme
Animations that play only once each time they enter the viewport, implemented via Framer Motion viewport controls
A keyboard-accessible Earth/Space theme toggle in the navigation bar, with hydration-safe handling
Project data, certificate images, and email utilities centralized in the data, public, and lib directories for easy replacement with real content
Template Details
This is a personal portfolio website template built with the Next.js App Router, TypeScript, Tailwind CSS, and Framer Motion, with an overall cosmic/space visual style. In terms of page structure, the homepage uses a mobile-first single-column hero section and a two-column layout on desktop; the navigation bar provides a keyboard-accessible theme toggle between the light "Earth" theme and the dark "Space" theme, with hydration-safe rendering.
For visuals and motion, the template includes a global starfield background (shown in the dark theme, with reduced star density and throttled update frequency on mobile), glassmorphic translucent sections, decorative space elements, and parallax scene components. Animations use Framer Motion's viewport controls so they play only once each time they enter the viewport. Blur effects use the lighter backdrop-blur-md.
For content and data, project data is centralized in src/data/projects.ts, certificate images are placed in the public/certificates/ directory, and email sending logic is encapsulated in src/lib/email.ts, requiring you to configure environment variables yourself. Third-party assets such as demo images, fonts, and icons must have their licenses checked separately; the code itself is under the MIT license.
Is it right for your project?
Use Cases
- Personal developers building a portfolio site to showcase projects and skills
- A front-end page reference for those needing a dark space visual style with glassmorphism
- Learning how to organize theme switching, Canvas backgrounds, and Framer Motion animations under the Next.js App Router
- A static portfolio starting point that can be quickly deployed to platforms like Vercel after replacing the data
Suitable For
- Developers with Next.js and TypeScript basics who want to quickly build a personal portfolio
- Front-end learners who need a space theme and animation effects as a visual reference
- Individual users who want to replace the project list, certificates, and contact information with their own content
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Run npm install to install dependencies, use npm run dev to start the development server, and npm run build to build the production version
- 2
Replace the project data in src/data/projects.ts with your own, and place certificate images in public/certificates/
- 3
The email feature depends on the EmailJS configuration in src/lib/email.ts; you need to set the corresponding environment variables yourself
- 4
Third-party assets such as demo images, fonts, and icons must be checked separately under their respective licenses; the MIT license of the code alone is not sufficient to judge
- 5
When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice
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 this version 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 the code of this version 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 under their respective licenses; the MIT license of the code alone is not sufficient to judge.
- External services such as domains, hosting, databases, payments, or AI may incur additional charges.
- The email sending feature depends on the EmailJS client tool; you must configure the corresponding environment variables yourself (such as the EmailJS service ID, template ID, and public key) before use, otherwise the email feature will not work.
- The portfolio project data is placeholder content and must be replaced with real project information in src/data/projects.ts before it can be used as a formal site.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
│ └── email.ts # EmailJS client utility (configure env vars)
Original README
https://github.com/Harshitkumar07/My_Portfolio/blob/main/LICENSEhttps://github.com/Harshitkumar07/My_Portfolio/blob/main/README.md│ │ └── projects.ts # Portfolio projects data (update real content)
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
- More documented · 83 / 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-06-20
- 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: codex-user-requested-batch-review-20261015 · 2026-10-15
Inspect the recorded source material
SHA-256: b361a041bd20d4645ebe3625bd9ff8e84f49653a557a64275df71bdf3775435a
2026-10-13T01:13:02.710Z
Source file / repository# 🚀 My Portfolio
[](LICENSE)
[](https://nextjs.org/)
[](https://tailwindcss.com/)
A modern, animated portfolio website built with Next.js, TypeScript, Tailwind CSS, and Framer Motion. Features a cosmic/space theme, glassmorphism, dark mode, and professional animations.
---
## ✨ Features
- Modern, responsive design with mobile‑first hero and two‑column desktop layout
- Global starfield background in dark ("space") theme, optimized for performance (reduced density on mobile, throttled updates)
- Space/cosmic glassmorphism theme with transparent sections to reveal starfield
- Accessible theme toggle (earth ↔ space) with hydration‑safe rendering
- Smooth, once‑per‑view animations via Framer Motion viewport controls
- Lighter blur effects for better performance (backdrop‑blur‑md)
- Responsive, keyboard‑friendly navigation
---
## 🛠️ Tech Stack
- **Next.js 15** (App Router)
- **TypeScript**
- **Tailwind CSS v3**
- **Framer Motion**
- **react-icons**
---
## 📁 Folder Structure
```
My_Portfolio/
├── src/
│ ├── app/
│ │ ├── globals.css # Global Tailwind styles
│ │ ├── layout.tsx # App root layout (ThemeProvider + BackgroundLayer)
│ │ └── page.tsx # Main page (Home)
│ ├── components/
│ │ ├── BackgroundLayer.tsx # Global background wrapper
│ │ ├── Starfield.tsx # Perf‑aware starfield canvas (dark mode)
│ │ ├── SpaceObjects.tsx # Decorative space objects (skipped in perf mode)
│ │ ├── CosmicAccents.tsx # Extra cosmic accents
│ │ ├── EarthAccents.tsx # Light theme accents
│ │ ├── ParallaxScene.tsx # Parallax utilities
│ │ ├── Navigation.tsx # Top navigation with theme toggle
│ │ └── ThemeProvider.tsx # next-themes wrapper (earth/space)
│ ├── data/
│ │ └── projects.ts # Portfolio projects data (update real content)
│ └── lib/
│ └── email.ts # EmailJS client utility (configure env vars)
├── public/
│ └── certificates/ # Certificate images
├── .eslintrc.json
├── .gitignore
├── LICENSE
├── README.md
├── next-env.d.ts
├── next.config.js
├── package.json
├── package-lock.json
├── postcss.config.js
├── tailwind.config.js
└── tsconfig.json
```
---
## 🚦 Usage
1. **Install dependencies:**
```bash
npm install
```
2. **Run the development server:**
```bash
npm run dev
```
3. **Build for production:**
```bash
npm run build
```
Open [http://localhost:3000](http://localhost:3000) in your browser.
---
## 📄 License
This project is licensed under the [MIT License](LICENSE).
---
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
