ReactPortfolio

Vishal-Portfolio — React Portfolio Template

By vishalbudy07

A personal portfolio website template built with React, TypeScript, and Tailwind CSS. It uses a dark theme, includes Hero, Skills, Projects, Contact and other sections, supports light/dark theme switching and Framer Motion animations, and can be deployed to GitHub Pages.

Explore the design

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

2 previews
Desktop homepage1 / 2
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 2

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-13View source

What stands out

A quick read of the recorded project description.

01

Built with React, TypeScript, and Tailwind CSS, with components split by function for easy content replacement

02

Built-in dark/light theme switching that persists the user's choice

03

Integrates Framer Motion to provide scroll, hover, and page transition animations

04

Includes common portfolio sections such as Hero, About, Skills, Projects, and Contact

05

Deployed to GitHub Pages via gh-pages, with deployment scripts provided in the repository

06

Responsive layout covers desktop, tablet, and mobile sizes

Template Details

This is a personal portfolio website template aimed at frontend and full-stack developers. It is written in React, TypeScript, and Tailwind CSS, built with Vite, and deployed to GitHub Pages via gh-pages. The page presents a dark theme by default and includes components such as Hero, About, Skills, Projects, and Contact. The navigation bar and sections are connected through anchors or scrolling.

The template includes a built-in theme system that supports dark and light mode switching and remembers the user's choice. It also provides interactions such as 3D card effects, hover animations, and scroll animations, powered by Framer Motion. The project structure is clear, with components, contexts, and entry files organized in separate directories, and Tailwind and TypeScript configuration files located in the root directory.

Before use, you need to replace personal information, project data, social links, and resume files yourself. The contact form only includes client-side validation; the repository does not describe a backend submission or email sending service. Licenses for third-party assets such as demo images, fonts, and icons must be checked separately. The code itself is under the MIT license.

ReactPortfolio

Is it right for your project?

Use Cases

  • Frontend or full-stack developers building a personal portfolio website to showcase skills, projects, and contact information
  • As a learning reference project for React + TypeScript + Tailwind CSS, to understand component splitting and theme switching implementation
  • Hosting a static personal homepage for free on GitHub Pages and binding a custom domain
  • Quickly replacing copy and images based on the existing component structure to generate a new personal portfolio page

Suitable For

  • Frontend or full-stack developers who need to quickly launch a personal portfolio
  • Users familiar with React and TypeScript who want to directly modify component content
  • Individual developers planning to host a static site using GitHub Pages
  • Learners who want to see practical usage of Tailwind CSS and Framer Motion

Getting started & customization

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

  1. 1

    Requires Node.js 16 or higher, and npm or yarn package manager

  2. 2

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

  3. 3

    Use npm run build to build the production version, and npm run deploy to deploy to GitHub Pages

  4. 4

    Before use, replace personal information, project data, social links, and resume files, and check licenses for third-party assets such as demo images, fonts, and icons

  5. 5

    The contact form only includes client-side validation; the repository does not describe a backend submission or email sending service. To actually receive messages, you need to integrate it yourself

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 is the code of this version and does not mean external services or third-party assets are free.

Must comply with when using

  • You are allowed to use, modify, commercialize, 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 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.
  • The repository is the author's personal portfolio; the README clearly states that this is a personal portfolio project, mainly intended to showcase the author's own information rather than being a general-purpose template. Users need to replace personal information, project data, social links, and resume files themselves.
  • The contact form only includes client-side validation; the README does not describe a backend submission or email sending service. To actually receive messages, you need to integrate a backend service yourself.
  • Using a custom domain requires adding a CNAME file, configuring DNS, and modifying the homepage field in package.json, which are additional configuration requirements.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

While this is my personal portfolio, I welcome feedback and suggestions:

Original README

**Form Validation**: Client-side validation

Original README

To use a custom domain: 1. Add a `CNAME` file in the `public` folder 2. Configure DNS settings with your domain provider 3. Update the `homepage` field in `package.json`

Original README
https://github.com/vishalbudy07/Vishal-Portfolio/blob/main/LICENSEhttps://github.com/vishalbudy07/Vishal-Portfolio/blob/main/README.md

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 · 77 / 100
Technologies
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-25
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 React 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-13

Inspect the recorded source material

SHA-256: 17b8e61b2ef9a0b88bcb47744ad461d50870e684e0655375014a2b238fbf0d4f

2026-10-13T05:19:24.369Z

Source file / repository
# 🚀 Vishal Gupta - Portfolio Website

A modern, responsive portfolio website built with React, TypeScript, and Tailwind CSS. Features a beautiful dark theme, smooth animations, and showcases my skills, projects, and experience as a Frontend & Full-Stack Developer.

## ✨ Live Demo

**🌐 Visit my portfolio:** [https://vishalbudy07.github.io/Vishal-Portfolio](https://vishalbudy07.github.io/Vishal-Portfolio)

## 🎯 Features

- **🎨 Modern Design**: Clean, professional dark theme with gradient accents
- **📱 Fully Responsive**: Optimized for all devices and screen sizes
- **⚡ Smooth Animations**: Framer Motion powered animations and transitions
- **🌙 Dark/Light Theme**: Toggle between themes with persistent storage
- **🎭 Interactive Elements**: 3D card effects, hover animations, and micro-interactions
- **📊 Performance Optimized**: Fast loading with optimized assets and code splitting
- **♿ Accessibility**: Semantic HTML and keyboard navigation support

## 🛠️ Tech Stack

### Frontend
- **React 18** - Modern React with hooks and functional components
- **TypeScript** - Type-safe development experience
- **Tailwind CSS** - Utility-first CSS framework for rapid UI development
- **Framer Motion** - Production-ready motion library for React

### Development Tools
- **Vite** - Fast build tool and development server
- **ESLint** - Code quality and consistency
- **Prettier** - Code formatting
- **PostCSS** - CSS processing and optimization

### Deployment
- **GitHub Pages** - Free hosting for static websites
- **gh-pages** - Automated deployment workflow

## 🚀 Getting Started

### Prerequisites
- Node.js (v16 or higher)
- npm or yarn package manager

### Installation

1. **Clone the repository**
   ```bash
   git clone https://github.com/vishalbudy07/Vishal-Portfolio.git
   cd Vishal-Portfolio
   ```

2. **Install dependencies**
   ```bash
   npm install
   ```

3. **Start development server**
   ```bash
   npm start
   ```

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

### Build & Deploy

1. **Build for production**
   ```bash
   npm run build
   ```

2. **Deploy to GitHub Pages**
   ```bash
   npm run deploy
   ```

## 📁 Project Structure

```
vishal-portfolio/
├── public/
│   ├── images/          # Static images and assets
│   └── index.html       # Main HTML template
├── src/
│   ├── components/      # React components
│   │   ├── About.tsx    # About section
│   │   ├── Hero.tsx     # Hero section with profile
│   │   ├── Navbar.tsx   # Navigation component
│   │   ├── Skills.tsx   # Skills showcase
│   │   ├── Projects.tsx # Projects display
│   │   ├── Contact.tsx  # Contact form
│   │   └── ...          # Other components
│   ├── contexts/        # React contexts
│   │   └── ThemeContext.tsx  # Theme management
│   ├── App.tsx          # Main App component
│   └── index.tsx        # Entry point
├── package.json         # Dependencies and scripts
├── tailwind.config.js   # Tailwind CSS configuration
└── tsconfig.json        # TypeScript configuration
```

## 🎨 Key Components

### Hero Section
- **Profile Image**: 3D card effect with animated gradient border
- **Call-to-Action**: Download resume and hire me buttons
- **Social Links**: GitHub and LinkedIn integration

### Skills Showcase
- **Interactive Grid**: Hover effects and skill categories
- **Progress Indicators**: Visual representation of skill levels
- **Responsive Layout**: Adapts to different screen sizes

### Projects Display
- **Card Layout**: Clean project presentation
- **Live Links**: Direct access to deployed projects
- **Tech Stack**: Technologies used in each project

### Contact Form
- **Modern Design**: Clean and intuitive interface
- **Form Validation**: Client-side validation
- **Responsive Layout**: Works on all devices

## 🌟 Special Features

### Theme System
- **Dark/Light Toggle**: Smooth theme switching
- **Persistent Storage**: Remembers user preference
- **System Preference**: Automatically detects OS theme

### Animations
- **Scroll Animations**: Elements animate on scroll
- **Hover Effects**: Interactive micro-animations
- **Page Transitions**: Smooth component transitions

### Performance
- **Lazy Loading**: Optimized image loading
- **Code Splitting**: Efficient bundle management
- **Optimized Assets**: Compressed images and CSS

## 📱 Responsive Design

The portfolio is fully responsive and optimized for:
- **Desktop** (1200px+)
- **Tablet** (768px - 1199px)
- **Mobile** (320px - 767px)

## 🚀 Deployment

### GitHub Pages
This portfolio is automatically deployed to GitHub Pages using the `gh-pages` package.

**Deployment URL**: `https://vishalbudy07.github.io/Vishal-Portfolio`

### Custom Domain
To use a custom domain:
1. Add a `CNAME` file in the `public` folder
2. Configure DNS settings with your domain provider
3. Update the `homepage` field in `package.json`

## 🤝 Contributing

While this is my personal portfolio, I welcome feedback and suggestions:

1. **Fork the repository**
2. **Create a feature branch** (`git checkout -b feature/AmazingFeature`)
3. **Commit your changes** (`git commit -m 'Add some AmazingFeature'`)
4. **Push to the branch** (`git push origin feature/AmazingFeature`)
5. **Open a Pull Request**

## 📄 License

This project is open source and available under the [MIT License](LICENSE).

## 📞 Contact

- **Portfolio**: [https://vishalbudy07.github.io/Vishal-Portfolio](https://vishalbudy07.github.io/Vishal-Portfolio)
- **GitHub**: [@vishalbudy07](https://github.com/vishalbudy07)
- **LinkedIn**: [Vishal Gupta](https://linkedin.com/in/vishalgupta)
- **Email**: [email protected]

## 🙏 Acknowledgments

- **React Team** for the amazing framework
- **Tailwind CSS** for the utility-first CSS approach
- **Framer Motion** for smooth animations
- **GitHub** for free hosting and deployment
- **Open Source Community** for inspiration and tools

---

⭐ **If you find this portfolio helpful, please give it a star!**

---

*Built with ❤️ by Vishal Gupta*
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.

react-portfolio-template

react-portfolio-template

A React-based developer portfolio template for showcasing projects, work history, and skills. It offers a multi-component layout, dark and light modes, and responsive mobile adaptation, with text and images editable in src/components.

React · Portfolio

personal-website-react

personal-website-react

A single-page developer portfolio template built with React and Material-UI, driven by a JSON Resume-compliant resume.json. It offers light/dark theme switching with localStorage persistence, a clean responsive layout, and Create React App tooling for simple builds and static deployment.

React · Portfolio

karngyan.com

karngyan.com

A personal website and blog template for developers, built with TanStack Start, React 19, Tailwind CSS v4, and shadcn/ui. It uses MDX for articles with Shiki highlighting and GFM tables, and automatically generates RSS, sitemap, robots.txt, llms.txt, and OG images.

React · Portfolio

react-portfolio-template

react-portfolio-template

A React portfolio template by Ryan Balieiro with a fixed sidebar and page-turn transitions on desktop, bottom navigation on mobile, multilingual support, light/dark themes, and content components for experience, education, skills, projects, and testimonials.

React · Portfolio

portfolio

portfolio

A data scientist personal portfolio template built with React and MUI, with content centrally managed through configuration files in the assets directory.

React · Portfolio

react-portfolio

react-portfolio

A React 16 and Material-UI developer portfolio template that centralizes personal information in a JSON Resume-compliant resume.json, with light/dark theme switching saved to local storage. It currently provides portfolio display only; resume page templates and structured data enhancements are still planned.

React · Portfolio