Skip to content

anshulsaha111/personal-website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌌 Personal Portfolio Website

A futuristic, interactive portfolio featuring a 3D DNA helix visualization and an AI-powered chat widget.

Portfolio Preview Mobile Responsive Chat


✨ Features

  • 🧬 Interactive 3D Model: DNA helix with glowing orbs representing different sections (work, projects, learnings)
  • πŸ’¬ AI Chat Widget: Powered by Groq API (Llama 3.1) for instant, witty responses
  • 🎨 Glassmorphism Design: Modern, futuristic UI with purple theme
  • πŸ“± Fully Mobile Responsive: Touch-friendly gestures and optimized layouts
  • ⚑ Lightning Fast: Instant AI responses with no cold starts
  • 🎯 Interactive Elements: Hover effects, typewriter animations, carousel

πŸš€ Tech Stack

Frontend

  • Three.js - 3D rendering and animations
  • Vanilla JavaScript - No frameworks, pure performance
  • CSS3 - Glassmorphism effects and animations
  • HTML5 - Semantic markup

Backend

  • Node.js + Express - API proxy server
  • Groq API - Llama 3.1 (8B) for AI chat
  • CORS - Cross-origin support

Fonts

  • Orbitron - Futuristic headers
  • Rajdhani - Clean, readable body text
  • Share Tech Mono - Monospace tech aesthetic

πŸ“‚ Project Structure

vibe_site_v2/
β”œβ”€β”€ index.html              # Main landing page with 3D model
β”œβ”€β”€ work.html               # Work experience timeline
β”œβ”€β”€ projects.html           # Projects showcase (coming soon)
β”œβ”€β”€ learnings.html          # Learning artifacts (coming soon)
β”œβ”€β”€ main.js                 # 3D model logic and interactions
β”œβ”€β”€ style.css               # Global styles and animations
β”œβ”€β”€ chat-widget.js          # Chat widget frontend
β”œβ”€β”€ chat-widget.css         # Chat widget styles
β”œβ”€β”€ chat-proxy.js           # Backend API proxy (Node.js)
β”œβ”€β”€ model.glb               # 3D DNA helix model
β”œβ”€β”€ package.json            # Node.js dependencies
└── .env                    # Environment variables (not in repo)

πŸ› οΈ Setup & Installation

Prerequisites

Installation Steps

  1. Clone the repository
git clone https://github.com/YOUR_USERNAME/portfolio-website.git
cd portfolio-website
  1. Install dependencies
npm install
  1. Set up environment variables
# Create .env file
echo "GROQ_API_KEY=your_groq_api_key_here" > .env
  1. Start the chat proxy server
npm start
  1. Open the site Open index.html in your browser or use a local server like Live Server

🌐 Deployment

See DEPLOYMENT_GUIDE.md for detailed deployment instructions.

Quick Deploy:

  • Frontend: Vercel or Netlify
  • Backend: Railway or Render

πŸ“± Mobile Support

Fully optimized for mobile devices with:

  • Touch gestures (pinch zoom, drag rotate)
  • Responsive layouts (768px, 480px breakpoints)
  • Touch-friendly buttons (44px minimum)
  • Optimized chat widget for small screens

See MOBILE_RESPONSIVE.md for details.


πŸ€– AI Chat Widget

The chat widget uses Groq API with Llama 3.1 for:

  • ⚑ Instant responses (fastest inference available)
  • 🎯 Short, witty answers (1-3 sentences)
  • πŸ†“ Free tier: 14,400 requests/day
  • πŸ”’ Secure: API key handled by backend proxy

See README_CHAT.md for chat setup details.


🎨 Design Philosophy

  • Futuristic Aesthetic: Purple/violet color scheme (#a05eff)
  • Minimalist UI: Lowercase text, clean lines
  • Interactive Elements: Hover effects, smooth transitions
  • Glassmorphism: Blur effects and transparency
  • Performance First: Optimized 3D rendering and animations

πŸ“Š Features Breakdown

Feature Status Description
3D Model βœ… Live Interactive DNA helix with orb navigation
Chat Widget βœ… Live AI-powered Q&A about work and projects
Work Timeline βœ… Live Detailed work experience and tech stack
Projects Page 🚧 Coming Soon Portfolio of projects
Learnings Page 🚧 Coming Soon Essays and learning artifacts

πŸ”§ Configuration

Chat Widget

Edit chat-widget.js:

  • Suggested questions array
  • Carousel timing
  • API endpoint

3D Model

Edit main.js:

  • Camera position
  • Orb colors and positions
  • Animation speeds
  • Touch sensitivity

Styling

Edit CSS files:

  • Color scheme variables
  • Font sizes
  • Animation timings
  • Mobile breakpoints

πŸ“ Environment Variables

Required in .env file:

GROQ_API_KEY=your_groq_api_key_here

Get your free API key: https://console.groq.com/keys


πŸ§ͺ Testing

Local Testing

  1. Start backend: npm start
  2. Open index.html in browser
  3. Test chat widget functionality
  4. Test 3D model interactions

Mobile Testing

  1. Use browser DevTools responsive mode
  2. Test on real devices
  3. Check touch gestures
  4. Verify chat widget usability

πŸ“„ License

This project is private and proprietary.


πŸ‘€ Author

Anshul Sahai


πŸ™ Acknowledgments

  • Three.js community for 3D rendering
  • Groq for blazing-fast AI inference
  • Hugging Face for open-source models

πŸ”„ Updates

To update the site:

git add .
git commit -m "Your update message"
git push

Auto-deploys if using Vercel/Netlify! πŸš€


Built with πŸ’œ by Anshul Sahai

About

my own website - projects, blog, work ex

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors