A stunning, modern portfolio website with 3D animations, AI chatbot, and Go backend.
- 3D Particle Background - Interactive Three.js scene with particles, geometric shapes, and mouse tracking
- Smooth Animations - GSAP-powered scroll animations, reveals, and micro-interactions
- AI Chatbot - Smart assistant with knowledge about your skills and experience
- Dark Minimalist Theme - Professional, modern design with gradient accents
- Mobile Responsive - Fully responsive design for all devices
- Go Backend - Contact form handling with email notifications
- GitHub Integration - Automatically fetches and displays your repositories
Simply open index.html in your browser or serve with any static file server:
# Using Python
python -m http.server 3000
# Using Node.js
npx serve .
# Using PHP
php -S localhost:3000cd backend
# Set environment variables (optional)
export PORT=8080
export SMTP_USER=your-email@gmail.com
export SMTP_PASS=your-app-password
export TO_EMAIL=yadavbhavy25@gmail.com
export GROQ_API_KEY=your-groq-api-key # Optional, for AI chat
# Run the server
go run main.goVisit http://localhost:8080
The chatbot works in two modes:
- Local Mode (Default) - Uses intelligent pre-programmed responses based on your resume
- AI Mode - Connect to Groq API (free tier) for dynamic AI responses
To enable AI mode:
- Get a free API key from Groq
- Set the environment variable:
export GROQ_API_KEY=your-key
To receive contact form submissions via email:
-
Use Gmail App Password (recommended):
- Enable 2FA on your Google account
- Generate an App Password at https://myaccount.google.com/apppasswords
-
Set environment variables:
export SMTP_USER=your-email@gmail.com export SMTP_PASS=your-app-password export TO_EMAIL=destination@email.com
Edit css/style.css - Look for the :root section:
:root {
--accent-primary: #6366f1; /* Main accent color */
--accent-secondary: #818cf8; /* Secondary accent */
--bg-primary: #0a0a0b; /* Background color */
}Edit index.html to update:
- Personal information
- Skills and expertise
- Work experience
- Projects
- Contact details
Edit js/chatbot.js - Update the bhavyInfo object with your information.
bhavyyadav25.github.io/
├── index.html # Main HTML file
├── css/
│ └── style.css # All styles
├── js/
│ ├── three-scene.js # 3D background
│ ├── animations.js # GSAP animations
│ ├── chatbot.js # AI chatbot
│ └── main.js # Core functionality
├── backend/
│ ├── main.go # Go server
│ └── go.mod # Go module
└── README.md # This file
-
Frontend
- HTML5, CSS3, JavaScript (ES6+)
- Three.js - 3D graphics
- GSAP + ScrollTrigger - Animations
- Custom cursor effects
- CSS Grid & Flexbox
-
Backend
- Go (Golang)
- Standard library HTTP server
- SMTP for email
- Groq API integration
Ctrl/Cmd + I- Open Resume Analyzer modalEscape- Close chatbot/modals
- Chrome 80+
- Firefox 75+
- Safari 13+
- Edge 80+
- The Three.js scene automatically adjusts particle count based on device
- Animations respect
prefers-reduced-motionsetting - Images use lazy loading
Simply deploy the root folder. The site works without the backend.
-
Deploy the Go backend to:
- Railway
- Render
- Fly.io
- Any VPS
-
Update the API URLs in
main.jsif needed
MIT License - Feel free to use and modify for your own portfolio!
Built with passion by Bhavy Yadav | yadavbhavy25@gmail.com