A modern, responsive portfolio website featuring an integrated AI chatbot assistant, built with Next.js 15, TypeScript, and Flask. This portfolio showcases cutting-edge web development with advanced animations, 3D graphics, and intelligent conversational AI.
- Gradient Aesthetics: Beautiful blue-purple gradient theme throughout
- Glass Morphism: Modern glass-effect UI components with backdrop blur
- Responsive Design: Seamlessly adapts to desktop, tablet, and mobile devices
- Dark/Light Mode: Theme switching with smooth transitions
- 3D Animations: Interactive Three.js particle system and Rive animations
- Smooth Scrolling: Framer Motion powered animations and transitions
- Contextual Intelligence: Answers questions about skills, projects, and experience
- Email Drafting: AI-powered email composition with format parsing
- Session Management: Persistent conversations with UUID-based sessions
- Natural Language: Smart keyword recognition for relevant responses
- Real-time Chat: Beautiful chat interface with typing indicators
- Self-hosted: Privacy-focused Flask backend with no external AI dependencies
- Dynamic Navigation: Smooth-scrolling navigation with active section highlighting
- Project Showcase: Interactive cards with hover overlays and filtering
- Skills Matrix: Animated skill cards with proficiency indicators
- Certification Gallery: Professional achievement showcase
- Contact System: EmailJS integration for direct communication
- Error Boundaries: Graceful error handling with retry mechanisms
- Next.js 15.3 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first styling with custom design system
- Framer Motion 10 - Advanced animations and page transitions
- Three.js - 3D graphics and particle systems
- Rive - Interactive vector animations
- Lucide React - Beautiful icon library
- Flask 2.2.5 - Python web framework
- Flask-CORS - Cross-origin resource sharing
- Custom AI Logic - Keyword-based contextual responses
- Session Management - UUID-based conversation tracking
- Health Monitoring - Built-in API health checks
- ESLint & TypeScript - Code quality and type safety
- PostCSS & Autoprefixer - CSS processing
- Docker - Containerized AI service deployment
- Git - Version control with organized structure
/app/
βββ backend/ # Flask AI Service
β βββ server.py # Main Flask application
β βββ requirements.txt # Python dependencies
β βββ Dockerfile # Container configuration
β βββ backend_test.py # API testing utilities
β
βββ frontend/ # Next.js Application
β βββ app/ # Next.js App Router
β β βββ layout.tsx # Root layout with AI chat
β β βββ page.tsx # Homepage sections
β β βββ globals.css # Global styles & animations
β β βββ api/chat/ # API route for AI communication
β β
β βββ components/ # React Components
β β βββ ChatBubble.tsx # AI Assistant Interface
β β βββ Navigation.tsx # Portfolio navigation
β β βββ ProfileIntro.tsx # Hero section
β β βββ AboutSection.tsx # About & highlights
β β βββ ProjectsSection.tsx # Project showcase
β β βββ SkillsSection.tsx # Skills matrix
β β βββ CertificationsSection.tsx # Achievements
β β βββ ContactSection.tsx # Contact form
β β βββ Footer.tsx # Footer section
β β βββ AnimatedBackground.tsx # 3D particle system
β β βββ ErrorBoundary.tsx # Error handling
β β
β βββ data/ # JSON Data Files
β β βββ projects.json # Project information
β β βββ skills.json # Technical skills
β β βββ certifications.json # Professional certifications
β β
β βββ public/ # Static Assets
β β βββ Self.jpg # Profile image
β β βββ Resume.pdf # Downloadable resume
β β βββ humanoid.png # 3D avatar image
β β
β βββ Configuration Files
β βββ package.json # Dependencies & scripts
β βββ tailwind.config.ts # Tailwind customization
β βββ tsconfig.json # TypeScript configuration
β βββ next.config.js # Next.js configuration
β
βββ shared/ # Shared Resources
β βββ images/ # Common images
β βββ scripts/ # Utility scripts
β β βββ add-skill.js # Dynamic skill management
β βββ error-log.js # Error logging utilities
β
βββ docs/ # Documentation
β βββ README.md # This comprehensive guide
β βββ INTEGRATION_GUIDE.md # AI integration tutorial
β βββ STATUS_REPORT.md # Current system status
β
βββ test_result.md # Testing documentation
- Node.js 18+ and npm/yarn
- Python 3.10+ for AI service
- Git for version control
- 6GB+ RAM recommended for AI service
# Clone repository
git clone <repository-url>
cd portfolio-project
# Install frontend dependencies
cd frontend
npm install
# Install backend dependencies
cd ../backend
pip install -r requirements.txt# Frontend environment (if needed)
cd frontend
echo "REACT_APP_BACKEND_URL=http://localhost:8001" > .env
# Backend runs on port 8001 by default# Start AI Backend (Terminal 1)
cd backend
python server.py
# Start Frontend (Terminal 2)
cd frontend
npm run dev- Portfolio: http://localhost:3000
- AI Service: http://localhost:8001
- Health Check: http://localhost:8001/api/health
- General Questions: "Tell me about Gaurav's skills"
- Project Inquiry: "What projects has he worked on?"
- Experience: "What is his background?"
- Email Drafting: "email: Subject | Message body"
# Chat with AI
POST http://localhost:8001/api/chat
{
"question": "Tell me about Gaurav's skills",
"sessionId": "optional-session-id"
}
# Health Check
GET http://localhost:8001/api/health- Crop & Fertilizer Recommendation System - ML-based agricultural optimization
- Weather Prediction System - Advanced forecasting with machine learning
- Dynamic Portfolio Website - This AI-powered portfolio
- Task Management System - Collaborative project management platform
- Frontend: React, Next.js, TypeScript, Tailwind CSS
- Backend: Python, Java, Node.js, Flask
- Databases: MongoDB, MySQL
- DevOps: Docker, Git, GitHub
- Specialties: Machine Learning, Full-stack Development
- Python Complete Course and Flask Framework (Udemy)
- Git & GitHub Mastery (Udemy)
- Postman API Expert (Postman Academy)
- GSSOC Contributor (Girl Script Summer of Code)
- Color Scheme: Blue-purple gradient theme (#4f46e5 to #8b5cf6)
- Typography: Inter + Space Grotesk font pairing
- Animations: Framer Motion powered transitions
- Effects: Glass morphism, hover animations, particle systems
- Skill Cards: Rotating cards with proficiency bars
- Project Overlays: Hover effects with action buttons
- Particle System: Mouse-interactive background animation
- Navigation: Smooth scrolling with active indicators
npm run dev # Development server
npm run build # Production build
npm run start # Production server
npm run lint # Code linting
npm run type-check # TypeScript validationpython server.py # Start Flask development servercd shared/scripts
node add-skill.jsEdit frontend/data/projects.json:
{
"id": 5,
"title": "New Project",
"description": "Project description",
"technologies": ["React", "Node.js"],
"featured": true
}Edit backend/server.py in the AI_RESPONSES dictionary.
- Connect GitHub repository
- Set build command:
npm run build - Set publish directory:
.next - Deploy automatically
cd backend
docker build -t portfolio-ai .
docker run -p 8001:8001 portfolio-ai- Use environment variables for configuration
- Implement proper CORS policies
- Set up SSL/HTTPS
- Monitor AI service memory usage
- Configure health checks
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
- Mobile browsers (iOS Safari, Chrome Mobile)
- All portfolio sections load correctly
- AI chat functionality works
- Email drafting feature functions
- Responsive design on all devices
- Dark/light mode switching
# Test AI health
curl http://localhost:8001/api/health
# Test chat functionality
curl -X POST http://localhost:8001/api/chat \
-H "Content-Type: application/json" \
-d '{"question": "Tell me about Gaurav", "sessionId": "test"}'- Code Splitting: Dynamic imports for heavy components
- Image Optimization: Next.js automatic image optimization
- Bundle Analysis: Built-in bundle analyzer
- Lazy Loading: Deferred loading of non-critical components
- Caching: Efficient caching strategies
- LCP: Optimized with image preloading
- FID: Minimized with efficient event handlers
- CLS: Prevented with proper sizing
- Input Validation: Sanitized user inputs
- CORS Configuration: Proper cross-origin policies
- Error Handling: Secure error messages
- Rate Limiting: API request limiting (production)
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open Pull Request
This project is open source and available under the MIT License.
Gaurav Kumar
- Email: gauravkrbkj121@gmail.com
- Location: Bhubaneswar, India
- University: KIIT University
- GitHub: Check repository for latest code
This portfolio demonstrates:
- Modern Web Development: Latest Next.js 15 with TypeScript
- AI Integration: Self-hosted chatbot with contextual responses
- Advanced Animations: Framer Motion and Three.js implementation
- Professional Design: Industry-standard UI/UX practices
- Full-stack Capabilities: Frontend + Backend + AI integration
- Production Ready: Docker deployment and monitoring
Built with β€οΈ by Gaurav Kumar | Showcasing the future of web development