Next.js-based portfolio website template, written in TypeScript and SCSS
Vermilion — Next.js Portfolio Template
By ShivaBhattacharjee
Vermilion is a Next.js-based personal portfolio website template with a black and red color scheme, using TypeScript, SCSS, Framer Motion, and AnimeJS for page animations, and relying on EmailJS for the contact form.
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.
Black and red color theme; the README states it conveys steadiness and vitality
Uses Framer Motion and AnimeJS for page animations
Contact form sends via EmailJS, requiring configuration of three environment variables
Under MIT license, free to use, modify, commercialize, and distribute
Template Details
Vermilion is an open-source Next.js portfolio website template by ShivaBhattacharjee on GitHub, used to build personal online showcase pages. Visually, it adopts a color scheme dominated by black and red; the README describes its style as combining steadiness and vitality. The animation part is implemented with TypeScript along with Framer Motion and AnimeJS, and the styles are written in SCSS.
The template's contact form sends emails via EmailJS, requiring you to create a .env.local file in the project root and fill in three environment variables: SERVICE_ID, TEMPLATE_ID, and PUBLIC_KEY from EmailJS. Running locally requires Git and Node.js; the process is to clone the repository, enter the directory, run npm install, then npm run dev. The README provides deployment entry points for Vercel and Render, and notes that the above environment variables also need to be configured during deployment.
The project is under the MIT license, allowing free use, modification, commercial use, and distribution of this version of the code, provided that the copyright notice and the full license text are retained when distributing. Note: the MIT license only covers the code in the repository; third-party assets such as demo images, fonts, and icons need to be checked separately under their respective licenses; external services like EmailJS may have separate charging rules. The repository does not specify the exact framework version numbers or browser compatibility scope in the provided information.
Is it right for your project?
Use Cases
- Building a personal portfolio or resume showcase page
- As a reference project for learning Next.js and Framer Motion animations
- A starter template for a personal site with a black and red color scheme and animated effects
Suitable For
- Developers with Node.js and Next.js basics who want to quickly build a personal portfolio
- Users who accept using EmailJS to handle contact form emails
- Developers who need a template that can be freely modified and commercialized under the MIT license
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Requirements: Git and Node.js
- 2
Create .env.local in the root directory and fill in NEXT_PUBLIC_SERVICE_ID, NEXT_PUBLIC_TEMPLATE_ID, NEXT_PUBLIC_PUBLIC_KEY with values from EmailJS
- 3
Local run: after git clone, run cd vermilion, npm install, npm run dev
- 4
The above EmailJS environment variables also need to be configured during deployment; the README provides deployment entry points for Vercel and Render
- 5
Third-party assets such as demo images, fonts, and icons need to be checked under their respective licenses; do not judge solely based on the code's MIT license
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 that external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution of this version of the code are allowed.
- 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 functionality relies on the third-party service EmailJS; you need to register an account and obtain API keys (SERVICE_ID, TEMPLATE_ID, PUBLIC_KEY) yourself, otherwise the form cannot send emails.
- Before running, you must create .env.local in the root directory and fill in the three EmailJS environment variables; without configuration, the contact form is unavailable.
- When deploying to Vercel or Render, the EmailJS environment variables also need to be configured; deployment is not out-of-the-box.
- Demo images, fonts, icons, and other third-party assets need to be checked under their respective licenses; do not judge solely based on the code's MIT license.
- External services such as domain, hosting, database, payment, or AI may incur additional charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
Get api keys from <a href="https://www.emailjs.com/">EmailJs</a>
Original README
NEXT_PUBLIC_SERVICE_ID= Your emailjs SERVICE_ID
Original README
https://github.com/ShivaBhattacharjee/Vermilion/blob/main/LICENSEhttps://github.com/ShivaBhattacharjee/Vermilion/blob/main/README.md(get enviroment variables from emailjs)
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-02. 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 · 87 / 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-01-31
- Screenshot last checked
- 2026-10-02
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.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: 627a0509dd27986b37c63fde0bf52483993e27655e87b59a73131a8981fcf2ad
2026-10-02T20:07:24.026Z
Source file / repository<p align="center">
<a href="https://github.com/ShivaBhattacharjee/vermilion">
<img src="https://github.com/ShivaBhattacharjee/Vermilion/assets/95211406/92e59bba-4ace-4a4a-9530-d964aad91cc6" alt="Logo" width="120px" height="100px">
</a>
<br/>
<h3 align="center">Vermilion</h3>
<p align="center">
A NextJs portfolio website with stunning animation
<br/>
<br/>
<br/>
<a href="https://immashiva.vercel.app/">View Demo</a>
.
<a href="https://github.com/ShivaBhattacharjee/vermilion/issues">Report Bug</a>
.
<a href="https://github.com/ShivaBhattacharjee/vermilion/issues">Request Feature</a>
</p>
</p>
## Table Of Contents
* [About the Project](#about-the-project)
* [Built With](#built-with)
* [Getting Started](#getting-started)
* [Prerequisites](#prerequisites)
* [Installation](#installation)
* [Hosting](#hosting)
* [Contributing](#contributing)
* [Issue Template](#raising-an-issue)
* [License](#license)
* [Authors](#authors)
## About The Project

Vermilion is a portfolio website template designed to help you increase your online presence. The website features a stunning black and red color theme that conveys sophistication and energy, while smooth animations created using TypeScript and Framer Motion provide a dynamic and engaging user experience.
## Built With
Vermilion is built using upto date technology like NEXTJS SCSS TS Framer-motion and AnimeJs
* [NextJS](https://nextjs.org/)
* [SCSS](https://sass-lang.com/documentation/syntax)
* [FramerMotion](https://www.framer.com/motion/)
* [AnimeJS](https://animejs.com/)
* [TypeScript](https://www.typescriptlang.org/)
## Getting Started
### Prerequisites
<a href="https://git-scm.com/downloads" >Git</a> is a distributed version control system used for software development. It allows multiple developers to work on the same codebase simultaneously, keeping track of changes and managing versions. It also enables users to revert changes and collaborate more effectively.
<a href="https://nodejs.org/en/download/">NodeJs</a> is a JavaScript runtime built on Chrome's V8 JavaScript engine. It allows developers to execute JavaScript code outside of a web browser, making it possible to create server-side applications with JavaScript. Node.js is fast, lightweight, and scalable, making it popular for building modern web applications.
<a href="https://www.emailjs.com/" >EmailJs</a> is a cloud-based email service that enables you to send emails directly from your website or web application without the need for a server-side application. With EmailJS, you can easily integrate email functionality into your web development projects, allowing you to send custom email templates to your users or customers.
### Installation

create an .env.local file in root directory
<br/>
```sh
NEXT_PUBLIC_SERVICE_ID= Your emailjs SERVICE_ID
NEXT_PUBLIC_TEMPLATE_ID= Your emailjs TEMPLATE_ID
NEXT_PUBLIC_PUBLIC_KEY= Your emailjs PUBLIC_KEY
```
<h2>Get api keys from <a href="https://www.emailjs.com/">EmailJs</a></h2>
```sh
git clone https://github.com/ShivaBhattacharjee/vermilion
```
```
cd vermilion
```
```
npm install
```
```
npm run dev
```
## Hosting
(get enviroment variables from emailjs)
* ## Vercel
[](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FShivaBhattacharjee%2Fvermilion)
<br/>
<br/>
* ## Render
[](https://render.com/deploy?repo=https://github.com/ShivaBhattacharjee/vermilion)
## Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.
* If you have suggestions for adding or removing projects, feel free to [open an issue](https://github.com/ShivaBhattacharjee/vermilion/issues) to discuss it
* Please make sure you check your spelling and grammar.
### Creating A Pull Request
Wanna contribute to Vermilion ?
1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/FeatureName`)
3. Commit your Changes (`git commit -m 'Add some FeatureName'`)
4. Push to the Branch (`git push origin feature/FeatureName`)
5. Open a Pull Request
## Raising an issue
If you're experiencing any problems with Vermilion, please be sure to review our [issue template](https://github.com/ShivaBhattacharjee/vermilion/tree/main/.github/ISSUE_TEMPLATE) before opening a new issue. The template includes a list of questions and prompts that will help us better understand the issue you're experiencing, and it will ensure that we have all of the necessary information to investigate the problem.
We kindly ask that you provide as much detail as possible when submitting an issue, including steps to reproduce the problem, any error messages that you have seen, and any other relevant information. This will help us to identify and fix the issue more quickly.
Thank you for your cooperation, and we look forward to hearing from you!
## License
Distributed under the MIT License . See [LICENSE](https://github.com/ShivaBhattacharjee/vermilion/blob/main/LICENSE) for more information.
## Authors
* **Shiva Bhattacharjee** - [Shiva Bhattacharjee](https://github.com/ShivaBhattacharjee) - *Vermilion*
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
