A cutting-edge, AI-powered portfolio featuring interactive components, live GitHub integration, and innovative user experiences.
- 🤖 AI Chatbot Assistant - Interactive knowledge base
- 📡 Live GitHub Activity - Real-time stats and contributions
- 💻 Interactive Terminal - Command-line portfolio navigation
- 🎯 3D Skill Visualization - Animated skill proficiency display
- 📈 Project Impact Metrics - Quantifiable project achievements
- 🎨 Dark Mode Only - Sleek, professional dark theme
- 📱 Fully Responsive - Perfect on all devices
- Features
- Tech Stack
- Getting Started
- Project Structure
- Innovative Components
- Workflows
- Customization
- Deployment
- Performance
- Documentation
- Contributing
- ✅ Modern dark theme with gradient accents
- ✅ Smooth animations with Framer Motion
- ✅ Responsive design for all devices
- ✅ SEO optimized with meta tags
- ✅ Fast loading with Vite
- ✅ TypeScript for type safety
-
🤖 AI Chatbot Assistant
- Answers questions about skills, projects, experience
- Knowledge base with comprehensive information
- Real-time chat interface with typing indicators
- Floating button with smooth animations
-
📡 Live GitHub Activity Feed
- Real-time repository count
- Total GitHub stars
- Contribution heatmap (12 weeks)
- Recent activity feed
- Fetches data from GitHub API
-
💻 Interactive Terminal
- 12+ commands (help, about, skills, projects, etc.)
- Command history navigation (↑ ↓ arrows)
- Realistic terminal styling
- Auto-complete suggestions
-
🎯 3D Skill Visualization
- 19 skills across 5 categories
- Animated progress bars
- Circular progress indicators
- Category filtering
- Summary statistics
-
📈 Project Impact Metrics
- Users reached
- Performance scores
- GitHub stars
- Project status
- Animated metric cards
-
⬆️⬇️ Smart Scroll Navigation
- Scroll-to-top button (appears when scrolled down)
- Scroll-to-bottom button (appears when not at bottom)
- Hover tooltips
- Pulse animations
- React 18 - UI library
- TypeScript - Type safety
- Vite - Build tool
- Tailwind CSS - Styling
- Framer Motion - Animations
- @react-three/fiber - 3D graphics
- @react-three/drei - 3D helpers
- @dnd-kit - Drag and drop
- react-parallax-tilt - 3D tilt effects
- recharts - Data visualization
- GitHub REST API - Live activity data
- Custom Knowledge Base - AI chatbot responses
- Node.js 16+
- npm or yarn
# Clone the repository
git clone https://github.com/PDReddyDhanu/My_Portfolio.git
cd My_Portfolio
# Install dependencies
npm install
# Start development server
npm run dev
# Open browser
# Navigate to http://localhost:5173# Create production build
npm run build
# Preview production build
npm run previewMy_Portfolio/
├── components/ # React components
│ ├── AIChatbot.tsx # AI chatbot assistant
│ ├── GitHubActivity.tsx # Live GitHub feed
│ ├── InteractiveTerminal.tsx # Terminal interface
│ ├── SkillVisualization.tsx # 3D skill display
│ ├── Projects.tsx # Projects with metrics
│ ├── About.tsx # About section
│ ├── Hero.tsx # Hero section
│ ├── Skills.tsx # Skills section
│ ├── Timeline.tsx # Educational journey
│ ├── Certifications.tsx # Certifications
│ ├── Achievements.tsx # Achievements
│ ├── Internships.tsx # Work experience
│ ├── Contact.tsx # Contact section
│ ├── Footer.tsx # Footer
│ ├── ScrollToTop.tsx # Scroll navigation
│ ├── ScrollProgress.tsx # Progress indicator
│ ├── ParticleCursor.tsx # Particle effects
│ ├── AnimatedBackground.tsx # Background
│ ├── LoadingScreen.tsx # Loading animation
│ └── StatsCounter.tsx # Animated counters
├── contexts/
│ └── ThemeContext.tsx # (Removed - dark mode only)
├── public/ # Static assets
│ ├── *.mp4 # Project videos
│ ├── *.pdf # Certificates
│ └── *.jpeg # Images
├── App.tsx # Main app component
├── index.tsx # Entry point
├── index.css # Global styles
├── types.ts # TypeScript types
├── vite.config.ts # Vite configuration
├── tsconfig.json # TypeScript config
└── README.md # This file
Location: Bottom-right floating button
Features:
- Knowledge base with Q&A
- Real-time responses
- Typing indicators
- Smooth animations
- Mobile responsive
Usage:
// Ask questions like:
"What are your skills?"
"Tell me about your projects"
"How can I contact you?"File: components/AIChatbot.tsx
Location: After Projects section
Features:
- Real-time stats (repos, stars, commits)
- Contribution heatmap
- Recent activity feed
- Auto-refresh data
API: GitHub REST API
const username = 'PDReddyDhanu';
// Fetches from:
// - /users/{username}
// - /users/{username}/repos
// - /users/{username}/events/publicFile: components/GitHubActivity.tsx
Location: After GitHub Activity
Available Commands:
help # Show all commands
about # About me
skills # Technical skills
projects # Featured projects
experience # Work experience
education # Educational background
contact # Contact information
github # Open GitHub profile
linkedin # Open LinkedIn
resume # Download resume
whoami # Current user
date # Current date/time
clear # Clear terminalFeatures:
- Command history (↑ ↓ arrows)
- Auto-scroll
- Realistic styling
- Error handling
File: components/InteractiveTerminal.tsx
Location: After About section
Features:
- 19 skills across 5 categories
- Animated progress bars
- Circular indicators
- Category filtering
- Summary stats
Categories:
- Frontend (React, TypeScript, Next.js, etc.)
- Backend (Node.js, Express, APIs)
- AI/ML (Gemini API, Genkit)
- Database (MongoDB, Firebase, MySQL)
- Tools (Git, GitHub, Vercel, etc.)
File: components/SkillVisualization.tsx
Location: Within each project card
Metrics Displayed:
- 👥 Users reached
- ⚡ Performance score
- ⭐ GitHub stars
- ✅ Project status
Example:
metrics: {
users: "500+",
performance: "95%",
stars: 12,
status: "Active"
}File: components/Projects.tsx
Features:
- Scroll-to-top (appears when scrolled down)
- Scroll-to-bottom (appears when not at bottom)
- Hover tooltips
- Pulse animations
- Different gradients
File: components/ScrollToTop.tsx
# 1. Start development server
npm run dev
# 2. Make changes to components
# 3. Hot reload automatically updates
# 4. Test in browser (localhost:5173)
# 5. Build for production
npm run build
# 6. Preview production build
npm run preview# Install Vercel CLI
npm i -g vercel
# Deploy
vercel
# Production deployment
vercel --prod# Build
npm run build
# Deploy
netlify deploy --prod --dir=dist# 1. Create feature branch
git checkout -b feature/new-feature
# 2. Make changes and commit
git add .
git commit -m "Add new feature"
# 3. Push to GitHub
git push origin feature/new-feature
# 4. Create Pull Request
# 5. Merge to main// File: components/GitHubActivity.tsx
const username = 'YOUR_GITHUB_USERNAME';// File: components/AIChatbot.tsx
const getResponse = (question: string): string => {
// Update responses here
}// File: components/InteractiveTerminal.tsx
const commands: { [key: string]: () => string | JSX.Element } = {
// Add/modify commands here
}// File: components/SkillVisualization.tsx
const skills: Skill[] = [
{
name: 'React',
level: 95,
category: 'Frontend',
icon: '⚛️',
color: '#61DAFB'
},
// Add more skills
];// File: components/Projects.tsx
const projects = [
{
name: "Project Name",
// ... other fields
metrics: {
users: "500+",
performance: "95%",
stars: 12,
status: "Active"
}
}
];// File: components/Timeline.tsx
const timelineData: TimelineItem[] = [
{
year: '2022 - 2026',
title: 'B.Tech in IT',
organization: 'Your College',
description: 'Your description',
type: 'education',
icon: '🎓',
}
];/* File: index.css */
:root {
--firebase-orange: #FF6B35;
--firebase-blue: #039BE5;
--firebase-yellow: #FFCA28;
/* Update colors here */
}- Push code to GitHub
- Import project in Vercel
- Configure build settings:
- Build Command:
npm run build - Output Directory:
dist
- Build Command:
- Deploy automatically on push
- Build the project:
npm run build - Deploy dist folder
- Configure redirects in
netlify.toml - Enable continuous deployment
# Install gh-pages
npm install --save-dev gh-pages
# Add to package.json
"homepage": "https://yourusername.github.io/repo-name",
"scripts": {
"predeploy": "npm run build",
"deploy": "gh-pages -d dist"
}
# Deploy
npm run deploy- ✅ Code splitting
- ✅ Lazy loading
- ✅ Image optimization
- ✅ Minification
- ✅ Tree shaking
- ✅ Gzip compression
- Lighthouse Score: 95+
- First Contentful Paint: < 1.5s
- Time to Interactive: < 3.5s
- Speed Index: < 2.5s
IMPLEMENTATION_SUMMARY.md- Feature implementation detailsVISUAL_GUIDE.md- Visual component layoutsUSER_GUIDE.md- How to use all featuresGITHUB_CONFIGURATION.md- GitHub integration setupEDUCATION_UPDATE.md- Educational journey details
Each component includes:
- TypeScript interfaces
- Props documentation
- Usage examples
- Styling guidelines
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Use TypeScript for type safety
- Follow React best practices
- Write clean, readable code
- Add comments for complex logic
- Test on multiple devices
This project is licensed under the MIT License - see the LICENSE file for details.
Palakolanu Dhanunjay Reddy
- 🎓 B.Tech in IT @ Vidya Jyothi Institute of Technology (CGPA: 8.8/10)
- 💼 Full Stack Developer Intern @ Exposys Data Labs
- 📧 Email: palakolanudhanunjayreddy@gmail.com
- 🐙 GitHub: @PDReddyDhanu
- 💼 LinkedIn: Palakolanu Dhanunjay Reddy
- 🌐 Portfolio: dhanunportfolio.netlify.app
- React Team - For the amazing framework
- Framer Motion - For smooth animations
- Tailwind CSS - For utility-first styling
- Vercel - For seamless deployment
- GitHub - For API and hosting
- Google Gemini - For AI inspiration
- Components: 20+
- Lines of Code: 5000+
- Dependencies: 15+
- Features: 25+
- Sections: 10+
- Animations: 50+
- Blog section with MDX support
- Real Gemini API integration for chatbot
- Dark/Light theme toggle (optional)
- Multi-language support
- Analytics dashboard
- Contact form with backend
- Newsletter subscription
- Project search and filtering
- JSX namespace warnings in InteractiveTerminal.tsx (TypeScript linting, doesn't affect functionality)
- GitHub API rate limit (60 requests/hour for unauthenticated)
For support, email palakolanudhanunjayreddy@gmail.com or create an issue in the repository.
If you find this project helpful, please consider giving it a star!
View Live Demo | Report Bug | Request Feature
Made with 💻 by Dhanunjay Reddy
⭐ Star this repo if you like it!