Built with Next.js App Router and TypeScript
nextjs-animated-portfolio-template — Next.js Portfolio Template
By Muhamed-Yasin
A developer portfolio template based on Next.js App Router, TypeScript, Tailwind CSS, and Framer Motion, featuring a working contact form powered by EmailJS and Firebase Firestore, with personal data centralized in a single data file.
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.
Styled with Tailwind CSS
Page load and scroll animations via Framer Motion
Contact form sends emails using EmailJS and saves submissions to Firebase Firestore
All portfolio data centralized in a single file /data/portfolioData.ts for easy replacement
Template Details
This template is a developer portfolio built with Next.js App Router and TypeScript, styled with Tailwind CSS, with page load and scroll animations implemented via Framer Motion. The README states that the contact form can send emails to a specified address (EmailJS) and save submissions to a Firebase Firestore database. All portfolio data (projects, work experience, philosophy, skills, etc.) is centralized in the /data/portfolioData.ts file; replacing the placeholder content completes personalization. The README does not provide information on the number of pages, routing structure, SEO configuration, testing, performance, or production deployment.
Is it right for your project?
Use Cases
- Building a personal developer portfolio website
- Scenarios requiring a contact form that both sends emails and saves submission records
- Portfolios where display data such as projects, experience, and skills is managed centrally
Suitable For
- Developers familiar with Next.js, TypeScript, and Tailwind CSS
- Users willing to configure Firebase and EmailJS accounts to enable the contact form
- Individuals who need to maintain portfolio content in a single data file
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Requires Node.js 18.17 or higher
- 2
After cloning the repository, run npm install to install dependencies
- 3
Rename .env.example to .env.local and fill in the Firebase and EmailJS keys
- 4
Firebase requires creating a project, a web app, and a Firestore database (the README recommends starting in production mode)
- 5
EmailJS requires creating an account, connecting an email service, and creating an email template to obtain the Service ID, Template ID, and Public Key
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 imply that external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution of this 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
- 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; they cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur additional charges.
- The contact form functionality requires configuring Firebase and EmailJS API keys to work properly.
- Using the contact form requires creating a project in the Firebase console and obtaining configuration information.
- Using the contact form requires registering an EmailJS account (the README recommends a free account) and connecting an email service.
- The Firebase Firestore database must be created in production mode as recommended by the README.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
This project requires API keys from Firebase and EmailJS to function correctly.
Original README
1. Go to the [Firebase Console](https://console.firebase.google.com/) and create a new project.
Original README
1. Go to [EmailJS.com](https://www.emailjs.com/) and create a free account.
Original README
https://github.com/Muhamed-Yasin/nextjs-animated-portfolio-template/blob/main/LICENSEhttps://github.com/Muhamed-Yasin/nextjs-animated-portfolio-template/blob/main/README.md4. Go to **Firestore Database**, create a database, and start in **production mode**.
Original README
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
- Partly documented · 74 / 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-10-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-20261015 · 2026-10-15
Inspect the recorded source material
SHA-256: 4729c9c9849464dda3d228047f0024b1e79f04a15c8b4be441a0c954305de962
2026-10-14T12:06:56.223Z
Source file / repository# Animated Next.js Developer Portfolio Template
A modern, animated, and easily customizable developer portfolio built with Next.js, Tailwind CSS, and Framer Motion. Includes a functional contact form powered by EmailJS and Firebase (Firestore).

*You should replace this with a screenshot of your own finished portfolio!*
**View the Live Demo:** [https://your-live-demo-url.com](https://your-live-demo-url.com)
---
## ✨ Features
* **Modern Tech Stack:** Built with the latest **Next.js 14** (App Router) & **TypeScript**.
* **Styled with Tailwind CSS:** A utility-first CSS framework for rapid, consistent styling.
* **Functional Contact Form:**
* Sends emails directly to your inbox using **EmailJS**.
* Saves form submissions to a **Firebase Firestore** database.
* **Smooth Animations:** Engaging user experience with page-load and on-scroll animations powered by **Framer Motion**.
* **Easy to Customize:** All portfolio data (projects, experience, etc.) is managed in a single, central file. No need to dig through components.
* **Responsive Design:** Looks and works great on all devices, from mobile phones to desktops.
## 🛠️ Tech Stack
* [Next.js](https://nextjs.org/) – React Framework
* [TypeScript](https://www.typescriptlang.org/) – Strongly Typed JavaScript
* [Tailwind CSS](https://tailwindcss.com/) – CSS Framework
* [Framer Motion](https://www.framer.com/motion/) – Animation Library
* [Firebase (Firestore)](https://firebase.google.com/) – Database for Contact Form
* [EmailJS](https://www.emailjs.com/) – Email Service for Contact Form
## 🚀 Getting Started
Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
### 1. Prerequisites
Make sure you have Node.js (version 18.17 or later) installed on your machine.
### 2. Clone the Repository
```bash
git clone [https://github.com/Muhamed-Yasin/nextjs-animated-portfolio-template.git](https://github.com/Muhamed-Yasin/nextjs-animated-portfolio-template.git)
cd nextjs-animated-portfolio-template
````
### 3\. Install Dependencies
```bash
npm install
```
### 4\. Set Up Environment Variables
This project requires API keys from Firebase and EmailJS to function correctly.
First, rename the `.env.example` file to `.env.local`:
```bash
mv .env.example .env.local
```
Now, open `.env.local` and add your keys.
#### Firebase Setup:
1. Go to the [Firebase Console](https://console.firebase.google.com/) and create a new project.
2. Go to **Project settings** \> **General** and create a new web app (`</>`).
3. Copy the `firebaseConfig` object values into the `.env.local` file.
4. Go to **Firestore Database**, create a database, and start in **production mode**.
#### EmailJS Setup:
1. Go to [EmailJS.com](https://www.emailjs.com/) and create a free account.
2. Connect your email service (e.g., Gmail).
3. Create an email template and note its **Template ID**.
4. Find your **Service ID** and **Public Key** in your account settings.
<!-- end list -->
```
# .env.local
# Firebase Configuration
NEXT_PUBLIC_FIREBASE_API_KEY="YOUR_API_KEY"
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN="YOUR_AUTH_DOMAIN"
NEXT_PUBLIC_FIREBASE_PROJECT_ID="YOUR_PROJECT_ID"
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET="YOUR_STORAGE_BUCKET"
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID="YOUR_SENDER_ID"
NEXT_PUBLIC_FIREBASE_APP_ID="YOUR_APP_ID"
# EmailJS Configuration
NEXT_PUBLIC_EMAILJS_SERVICE_ID="YOUR_SERVICE_ID"
NEXT_PUBLIC_EMAILJS_TEMPLATE_ID="YOUR_TEMPLATE_ID"
NEXT_PUBLIC_EMAILJS_PUBLIC_KEY="YOUR_PUBLIC_KEY"
```
### 5\. Run the Development Server
```bash
npm run dev
```
Open [http://localhost:3000](https://www.google.com/search?q=http://localhost:3000) with your browser to see the result.
## 🎨 Making It Your Own
All personal data—projects, work experience, principles, skills, etc.—is located in the `/data/portfolioData.ts` file. Open this file and replace the placeholder content with your own information to personalize the portfolio.
## 📜 License
This project is licensed under the MIT License. See the [LICENSE](https://www.google.com/search?q=./LICENSE) file for details.
```
```
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
