A modern, responsive portfolio website built with React, Vite, and Tailwind CSS. Features an AI-powered chat assistant integrated with Google's Gemini API for interactive user engagement.
- π¨ Modern UI/UX - Beautiful dark theme with smooth animations and responsive design
- π€ AI Chat Assistant - Interactive chatbot powered by Google Gemini API
- π‘ AI Project Idea Generator - Generate project concepts based on tech stack
- π± Fully Responsive - Optimized for all devices (mobile, tablet, desktop)
- β‘ Fast Performance - Built with Vite for lightning-fast development and builds
- π― Smooth Navigation - Floating navigation bar with active section highlighting
- π Interactive Elements - Hover effects, transitions, and engaging animations
- Frontend Framework: React 19.2.0
- Build Tool: Vite 7.2.4
- Styling: Tailwind CSS 3.4.17
- Icons: Lucide React
- AI Integration: Google Gemini API (Gemini 2.5 Flash)
- Code Quality: ESLint
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher)
- npm or yarn
- Google Gemini API key (optional, for AI features)
- Clone the repository:
git clone https://github.com/codemacUT/utkarsh-portfolio.git
cd utkarsh-portfolio- Install dependencies:
npm install- Create a
.envfile in the root directory:
cp .env.example .env- Add your Gemini API key to
.env:
VITE_GEMINI_API_KEY=your_api_key_hereNote: The AI features will work in demo mode if no API key is provided, but with limited functionality.
Run the development server:
npm run devThe site will be available at http://localhost:5173
Create a production build:
npm run buildThe build output will be in the dist directory.
Preview the production build locally:
npm run previewutkarsh-portfolio/
βββ public/
β βββ profile.jpg # Profile image
β βββ vite.svg # Favicon
βββ src/
β βββ assets/ # Static assets
β βββ App.jsx # Main application component
β βββ App.css # Global styles
β βββ index.css # Base styles
β βββ main.jsx # Application entry point
βββ .env.example # Environment variables template
βββ .gitignore # Git ignore rules
βββ index.html # HTML template
βββ package.json # Dependencies and scripts
βββ tailwind.config.js # Tailwind configuration
βββ vite.config.js # Vite configuration
βββ README.md # This file
To customize the portfolio for your own use:
- Personal Information: Edit the
PERSONAL_INFOobject insrc/App.jsx - Skills: Update the
SKILLSarray with your own skills - Projects: Modify the
PROJECTSarray with your portfolio projects - Experience: Update the
EXPERIENCEarray with your background - Styling: Customize colors and themes in
tailwind.config.js
The following environment variables are used:
VITE_GEMINI_API_KEY- Google Gemini API key for AI features (optional)
Create a .env file in the root directory and add your variables. See .env.example for reference.
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
This project can be deployed to various platforms:
npm install -g vercel
vercel- Connect your GitHub repository
- Set build command:
npm run build - Set publish directory:
dist
- Install
gh-pages:npm install --save-dev gh-pages - Add to
package.json:
"scripts": {
"predeploy": "npm run build",
"deploy": "gh-pages -d dist"
}- Run:
npm run deploy
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Utkarsh Tiwari
- GitHub: @codemacUT
- LinkedIn: Utkarsh Tiwari
- Email: utkt9502@gmail.com
- React - UI library
- Vite - Build tool
- Tailwind CSS - CSS framework
- Lucide React - Icon library
- Google Gemini API - AI integration
β If you found this project helpful, please consider giving it a star!