Personal information, social links, skills, and timeline are centralized in src/data/config.ts, so content can be replaced by editing one place
portfolio-website — Next.js Portfolio Template
By Manusha17
A personal portfolio template built on Next.js and React. Edit src/data/config.ts to replace personal information, social links, skills, and timeline content, with support for pulling display content from GitHub, Medium, and Dev.to.
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.
Supports pulling repository displays from GitHub, with Medium and Dev.to article sources that can be toggled on or off
Responsive layout based on Tailwind CSS, with light and dark themes
Page animations implemented with Framer Motion
Includes a GitHub Actions workflow for automatic deployment to GitHub Pages
MIT license, permitting free use, modification, commercial use, and distribution of this version of the code
Template Details
This is an open-source template for personal portfolio use cases, built with Next.js and React. It uses the App Router and static generation, and can be deployed to GitHub Pages. The template centralizes data such as personal information, social links, skills, experience, and timeline in src/data/config.ts; following the README instructions, editing this file replaces the content with your own. The project also provides display integrations for GitHub repositories, Medium articles, and Dev.to articles. The GitHub username is configured via an environment variable, while the Medium and Dev.to usernames are optional, and each article source can be toggled on or off in config.ts. The contact form relies on a Web3Forms access key, which you must apply for yourself and write into an environment variable. Styling is based on Tailwind CSS, with light and dark themes and a responsive layout; animations use Framer Motion. The repository uses the MIT license, permitting free use, modification, commercial use, and distribution of this version of the code, but third-party assets such as demo images, fonts, and icons must be checked against their respective licenses, and external services such as domains and hosting may incur separate charges.
Is it right for your project?
Use Cases
- Personal developers building a portfolio site to showcase projects and articles
- Aggregating GitHub repositories, Medium articles, or Dev.to articles for display on the same page
- Personal sites that need static deployment to GitHub Pages
- Template users who want to quickly replace content through a centralized configuration file and reduce page-by-page edits
Suitable For
- Users with a Next.js or React foundation who are willing to edit configuration files
- Personal developers who need a portfolio template and plan to deploy to GitHub Pages
- Writers who want to display GitHub, Medium, and Dev.to content together
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Requires Node.js 18+ and npm or yarn; after installing dependencies, run npm run dev to start the development server
- 2
Modify personal profile, social links, skills, experience, and timeline data in src/data/config.ts
- 3
Configure NEXT_PUBLIC_GITHUB_USERNAME (required for project display), optional NEXT_PUBLIC_MEDIUM_USERNAME and NEXT_PUBLIC_DEVTO_USERNAME, and the NEXT_PUBLIC_WEB3FORMS_ACCESS_KEY required for the contact form in .env.local
- 4
When deploying to GitHub Pages, set Source to GitHub Actions in the repository Settings → Pages; pushing to the main branch triggers automatic deployment
- 5
Before use, check the licenses of third-party assets such as demo images, fonts, and icons, and confirm whether external services such as domains and hosting incur charges
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version in the public repository under the MIT license; 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
- Permits free use, modification, commercial use, and distribution of this version of the code.
- 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 project display section depends on the GitHub username environment variable; you must provide your own GitHub account information to pull and display repository content.
- The contact form depends on the external Web3Forms service; you must apply for an access key yourself and write it into an environment variable, otherwise the form cannot be used.
- Enabling Medium article display requires a Medium username, which is an external platform account dependency.
- Enabling Dev.to article display requires a Dev.to username, which is an external platform account dependency.
- 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
Permission is hereby granted, free of charge
Original License Text
NEXT_PUBLIC_GITHUB_USERNAME=yourusername
Original README
NEXT_PUBLIC_WEB3FORMS_ACCESS_KEY=your_access_key
Original README
NEXT_PUBLIC_MEDIUM_USERNAME=your_medium_username
Original README
https://github.com/Manusha17/portfolio-website/blob/master/LICENSEhttps://github.com/Manusha17/portfolio-website/blob/master/README.mdNEXT_PUBLIC_DEVTO_USERNAME=your_devto_username
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-03. 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 · 88 / 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-09-06
- Screenshot last checked
- 2026-10-03
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: 0b6dea878c7d47b73210fdcfa18d4094bf24dcd198d00ec72e775f9a339930c1
2026-10-03T20:20:04.524Z
Source file / repository# Personal Portfolio Website
A modern, accessible personal portfolio website built with Next.js, TypeScript, and Tailwind CSS. Designed to showcase projects, articles, and professional experience with optimal performance and accessibility.
See how it looks with actual data: https://manusha17.github.io/
## Features
- 🚀 **Next.js 14+** with App Router and Static Site Generation
- 🎨 **Tailwind CSS** for responsive design and styling with light and dark theme
- 📱 **Fully Responsive** - works on mobile, tablet, and desktop
- ♿ **Accessibility First** - WCAG 2.1 AA compliant
- 🔍 **SEO Optimized** with meta tags and structured data
- 🎭 **Smooth Animations** with Framer Motion
- 📊 **GitHub Integration** - automatically fetch and display repositories
- 📝 **Medium Integration** - display published articles from Medium
- 📝 **Dev.to Integration** - display published articles from Dev.to
- 🚀 **GitHub Pages Ready** - optimized for static deployment
## Tech Stack
- **Framework:** Next.js 16 with TypeScript and React Compiler
- **Styling:** Tailwind CSS 4
- **Animation:** Framer Motion
- **Deployment:** GitHub Pages
- **Code Quality:** ESLint, Prettier
## Getting Started
### Prerequisites
- Node.js 18+
- npm or yarn
### Installation
1. Clone the repository
2. Install dependencies:
```bash
npm install
```
3. Start the development server:
```bash
npm run dev
```
4. Open [http://localhost:3000](http://localhost:3000) in your browser
## Available Scripts
- `npm run dev` - Start development server
- `npm run build` - Build for production
- `npm run export` - Export static files for GitHub Pages
- `npm run lint` - Run ESLint
- `npm run lint:fix` - Fix ESLint errors
- `npm run format` - Format code with Prettier
- `npm run format:check` - Check code formatting
- `npm run type-check` - Run TypeScript type checking
- `npm run test:deployment` - Test deployment configuration locally
- `npm run validate:deployment <url>` - Validate deployed site
- `npm run build:github` - Build with custom base path for GitHub Pages
- `npm run serve` - Serve built files locally
## Project Structure
```
src/
├── app/ # Next.js app directory
├── components/ # React components
│ ├── atoms/ # Basic UI components
| ├── icons/ # SVG icon components
│ ├── molecules/ # Simple component combinations
│ ├── organisms/ # Complex UI sections
│ └── templates/ # Page layouts
├── data/ # Static data and configuration
├── lib/ # Utility functions
└── types/ # TypeScript type definitions
```
## Deployment
This project is configured for automatic deployment to GitHub Pages using GitHub Actions.
### Quick Setup
1. **Fork or clone this repository**
2. **Enable GitHub Pages:**
- Go to repository Settings → Pages
- Set Source to "GitHub Actions"
3. **Push to main branch** - deployment happens automatically!
### Advanced Configuration
For detailed deployment setup, custom domains, and troubleshooting, see [DEPLOYMENT.md](./DEPLOYMENT.md).
### Local Testing
Test your deployment configuration before pushing:
```bash
# Test the complete deployment process
npm run test:deployment
# Build and serve locally
npm run build
npm run serve
# Validate a deployed site
npm run validate:deployment https://yourusername.github.io/repository-name
```
## Customization
### Personal Information
Update personal information in `src/data/config.ts`:
- Basic profile information (name, title, bio)
- Social media links
- Skills and experience data
- Timeline items (education, work, achievements)
### Article Sources Configuration
Configure which article sources to use in `src/data/config.ts`:
```typescript
articles: {
sources: {
medium: true, // Enable/disable Medium articles
devto: true, // Enable/disable Dev.to articles
},
},
```
### Environment Variables
Create a `.env.local` file with your configuration:
```bash
# GitHub username (required for projects section)
NEXT_PUBLIC_GITHUB_USERNAME=yourusername
# Medium username (optional, for Medium articles)
NEXT_PUBLIC_MEDIUM_USERNAME=your_medium_username
# Dev.to username (optional, for Dev.to articles)
NEXT_PUBLIC_DEVTO_USERNAME=your_devto_username
# Web3Forms access key (required for contact form)
NEXT_PUBLIC_WEB3FORMS_ACCESS_KEY=your_access_key
```
### Styling
Customize colors and styling in `src/app/globals.css` and Tailwind configuration.
## License
MIT License - feel free to use this template for your own portfolio!
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
