π¨ An award-winning interactive 3D web developer portfolio built with React, Vite, Three.js, and GSAP.
This project showcases cutting-edge web development with interactive neural networks, chatbot constellation backgrounds, and real-time 3D rendering.
β¨ Features civic tech and public health projects with innovative AI/ML solutions.
π Inspired by this tutorial:
π₯ Build and Deploy a Unique 3D Web Developer Portfolio with React, Three JS & GSAP
| π§© Tool/Library | π Purpose |
|---|---|
| βοΈ React 19 | Frontend UI library |
| β‘ Vite | Lightning-fast dev server and bundler |
| π§± Three.js | WebGL-based 3D graphics rendering |
| π React Three Fiber | React renderer for Three.js scenes |
| π React Three Drei | Useful helpers for Three.js |
| π¬ GSAP | Smooth animations and timeline control |
| π¨ Tailwind CSS | Utility-first CSS framework |
| π Theme Context | Custom dark/light mode switching |
| π§ EmailJS | Contact form email integration |
| π¦ ESLint | Linting and code style enforcement |
3D_Portfolio/
βββ node_modules/ # π¦ Project dependencies
βββ public/ # π Static files
β βββ images/ # πΈ Images (hero, projects, certifications, logos)
β β βββ certifications/ # π Certification badges
β β βββ hero/ # π Hero section images
β β βββ logos/ # π· Tech stack logos
β β βββ projects/ # π Project screenshots
β β βββ textures/ # π¨ 3D model textures
β βββ models/ # π§± 3D models (.glb files)
β βββ resume/ # π Resume PDF
βββ src/ # π Source code
β βββ components/ # π§© Reusable components
β β βββ HeroModels/ # π« 3D hero section models
β β β βββ HeroExperience.jsx
β β β βββ HeroLights.jsx
β β β βββ Patricles.jsx
β β β βββ Room.jsx
β β βββ Models/ # π¨ Other 3D models
β β β βββ Computer-optimized.jsx
β β β βββ TechLogos/
β β βββ AnimatedCounter.jsx
β β βββ Button.jsx
β β βββ ContactExperience.jsx
β β βββ GlowCard.jsx
β β βββ NavBar.jsx
β β βββ ThemeToggle.jsx
β β βββ TitleHeader.jsx
β βββ constants/ # π Static data and configs
β β βββ certifications.js
β β βββ data.js
β β βββ index.js
β βββ contexts/ # π React contexts
β β βββ ThemeContext.jsx
β βββ sections/ # π Page sections
β β βββ CertificationsSection.jsx
β β βββ Contact.jsx
β β βββ ExperienceSection.jsx
β β βββ FeatureCards.jsx
β β βββ Footer.jsx
β β βββ Hero.jsx
β β βββ LogoSection.jsx
β β βββ ShowcaseSection.jsx
β β βββ TechStack.jsx
β β βββ Testimonials.jsx
β βββ App.jsx # π― Main app component
β βββ index.css # π¨ Global styles
β βββ main.jsx # πͺ Entry point
βββ .gitignore # π« Git ignore rules
βββ eslint.config.js # βοΈ ESLint configuration
βββ vite.config.js # β‘ Vite configuration
βββ package.json # π Project metadata and scripts
βββ LICENSE # π MIT License
βββ 3D_MODEL_OPTIMIZATION_GUIDE.md # π 3D optimization guide
βββ THEME_IMPLEMENTATION_GUIDE.md # π¨ Theme implementation guide
βββ README.md # π Project documentation
- β Neural Network Background β 3D interactive particles with chain reaction physics in Hero section
- β Chatbot Constellation β Animated AI chat bubbles with conversation threads in ShowcaseSection
- β Mouse Interactivity β Elastic repulsion, energy propagation, and depth-based animations
- β Dark/Light Mode β Seamless theme switching with custom ThemeContext
- β Theme-Aware Colors β All components adapt to current theme with proper contrast
- β Smooth Transitions β Elegant color transitions across all elements
- β Mobile-First β Fully responsive layouts for all screen sizes
- β Touch Support β OptimKpG782/3d-developer-portfolio.git
cd 3D_Portfolio
npm install
npm run dev
Visit http://localhost:5173
### π Environment Setup
Before running the project, ensure you have:
- **Node.js** (v18 or higher)
- **npm** or **yarn** package manager
For contact form functionality, set up your EmailJS credentials in the Contact component. **Credential Links** β Direct links to verification pages
### πΌ Professional Sections
- β
**Experience Timeline** β Work history with animated counters
- β
**Tech Stack Visualization** β 3D logos with interactive hover effects
- β
**Contact Form** β EmailJS integration with 3D experience
- β
**Footer** β Social links and navigation
### π¬ Advanced Animations
- β
**GSAP ScrollTrigger** β Scroll-based reveal animations
- β
**Canvas Physics** β Chain reactions, energy transfer, damping
- β
**3D Depth System** β Z-axis depth with parallax effects
- β
**Particle Systems** β Custom particle engines with velocity and forces
---
## π¦ Installation
```bash
# 1. Clone the repo
git clone https://github.com/yourusername/3d-developer-portfolio.git
# 2. Navigate into the project
cd 3d-developer-portfolio
# 3. Install dependencies
npm install
# 4. Run the development server
npm run dev
ThiπΈ Screenshots
Experience the 3D neural network with chain reaction physics and mouse-driven particle interactions.
AI-themed chat bubbles with conversation threads creating an immersive showcase environment.
Seamless theme switching with consistent design language across all sections.
Auto-scrolling infinite carousel with hover previews and full-screen modal views.
- typescript-eslint β Enables type-aware linting in TypeScript projects
- Vite's React TS Template β A great starting point for React + TypeScript development
This 3D portfolio project was inspired by an excellent YouTube tutorial created by JavaScript Mastery.
It walks you through building a beautiful, animated, and fully responsive web developer portfolio using React, Three.js, and GSAP.
π Watch it here: https://www.youtube.com/watch?v=E-fdPfRxkzQ
π― Project Highlights
This portfolio showcases:
- Civic Tech Solutions β Emergency automotive assistance (ARS)
- Public Health Innovation β Childhood obesity prevention (FlowFit)
- AI/ML Applications β Legal insight extraction, herbal medicine recognition
- Full-Stack Development β React, Three.js, GSAP, Node.js, MongoDB
- 3D_MODEL_OPTIMIZATION_GUIDE.md β Optimize 3D models for web performance
- THEME_IMPLEMENTATION_GUIDE.md β Custom theme system documentation
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
Give a βοΈ if this project inspired you or helped with your own portfolio!
Ken Patrick Garcia
π GitHub: @KpG782
πΌ Portfolio: Live Demo
π§ Email: your-email@example.com
Developed by Ken Patrick Garcia,
π GitHub: @KpG782


