Solution Engineer specializing in data analytics, cloud solutions, and modern web technologies
Personal portfolio website featuring interactive 3D backgrounds and modern UI design.
π Live Site: https://juancamilo.dev
Switch between three unique animated backgrounds by clicking the theme button (top right):
Interactive atomic particles that respond to your cursor:
- Particles connect with nearby neighbors via dynamic lines
- Click anywhere to spawn new particles
- Collision physics simulation
- Smooth Brownian motion
- Best for: Minimalist, tech-focused aesthetic
- Default theme
Viscous blue lava lamp with realistic physics:
- Smooth, dense blob movement (55% slower than normal)
- Vertical color gradient (cyan β deep blue)
- Click to create bubbles that rise slowly
- Internal flowing textures (FBM noise)
- Gyroscope support on mobile (tilt to move blobs)
- Mouse heat zones that expand nearby blobs
- Best for: Mesmerizing, organic visuals
Immersive 3D space scene with:
- Procedural nebula background
- Sun (day mode) / Moon (night mode) with realistic shaders
- 4 orbiting planets including Mars
- 500+ twinkling stars with parallax
- Interactive black hole (press & hold anywhere)
- Gravitational lensing effect
- Stars spiral into the center
- Orange/gold Interstellar-style ring
- Gyroscope parallax on mobile
- Shooting stars
- Best for: Immersive, cinematic experience
- Dark/Light mode toggle
- Mobile-optimized with gyroscope parallax
- Smooth theme transitions
- Subtle sound effects
- Fully responsive design
- Complete meta tags for search engines
- Open Graph & Twitter Cards for social previews
- Structured Data (JSON-LD)
- Sitemap & robots.txt
- Optimized performance
- React 18 - UI framework
- TypeScript - Type safety
- Vite - Build tool & dev server
- Three.js & @react-three/fiber - 3D graphics
- Custom CSS with glassmorphism effects
- React Icons
- Google Fonts (Space Grotesk, Outfit)
- Web Audio API - Sound effects
- tsParticles - Particle system
- Device Orientation API - Gyroscope
- GLSL Shaders - Custom visual effects
- GitHub Actions - CI/CD
- GitHub Pages - Hosting
- Custom domain
mywebsite/
βββ public/
β βββ favicon.svg # Minimalist "JC" logo
β βββ robots.txt # Search engine rules
β βββ sitemap.xml # Site structure
β βββ CNAME # Custom domain
β
βββ src/
β βββ components/
β β βββ backgrounds/
β β β βββ ParticlesBackground.tsx # Particles theme
β β β βββ FluidBackground.tsx # Lava lamp theme
β β β βββ SpaceBackground.tsx # 3D space theme
β β β βββ index.ts
β β βββ BackgroundRenderer.tsx # Theme switcher logic
β β βββ BackgroundSelector.tsx # Theme toggle button
β β βββ ThemeToggle.tsx # Dark/light mode button
β β βββ SocialLinks.tsx # Social media links
β β βββ index.ts
β β
β βββ context/
β β βββ BackgroundContext.tsx # Global theme state
β β βββ index.ts
β β
β βββ hooks/
β β βββ useSound.ts # Sound effects hook
β β βββ index.ts
β β
β βββ styles/
β β βββ index.css # Global styles
β β
β βββ types/
β β βββ index.ts # TypeScript definitions
β β
β βββ App.tsx # Main component
β βββ main.tsx # Entry point
β βββ vite-env.d.ts # Vite types
β
βββ .github/
β βββ workflows/
β βββ deploy.yml # GitHub Actions CI/CD
β
βββ index.html # HTML template with SEO
βββ package.json # Dependencies
βββ tsconfig.json # TypeScript config
βββ vite.config.ts # Vite config
βββ SEO-README.md # SEO setup guide
βββ README.md # This file
For detailed technical architecture, see ARCHITECTURE.md
- Node.js 18+
- npm or yarn
- Clone the repository
git clone git@github.com:juancv3d/My_Website.git
cd My_Website- Install dependencies
npm install- Start development server
npm run dev- Open in browser
http://localhost:3000
npm run buildThe production build will be in the dist/ directory.
npm run preview- Interactive atomic particles
- Click to spawn new particles
- Particle collision and physics
- Connects with mouse cursor
- Default theme
- Viscous lava lamp effect
- Blue gradient (cyan β deep blue)
- Click to create bubbles
- Gyroscope tilt on mobile
- Internal flowing textures
- Dense, slow movement
- 3D nebula background
- Sun/Moon based on dark/light mode
- 4 orbiting planets (including Mars)
- Interactive black hole (press & hold)
- Stars with gravitational attraction
- Gyroscope parallax on mobile
- Shooting stars
Edit src/styles/index.css:
:root {
--color-accent: #00aaff; /* Primary accent */
--color-accent-glow: #0088cc; /* Glow effect */
}- Create component in
src/components/backgrounds/ - Add theme type in
src/types/index.ts - Update
BackgroundRenderer.tsx - Update
BackgroundSelector.tsx
Edit meta tags in index.html
This site includes comprehensive SEO optimization:
- β Meta tags (title, description, keywords)
- β Open Graph tags for social media
- β Twitter Cards
- β Structured Data (JSON-LD)
- β robots.txt & sitemap.xml
- β Favicon with branding
For setup instructions, see SEO-README.md
Deployed automatically via GitHub Actions to GitHub Pages:
- Push to
mainbranch - GitHub Actions builds the site
- Deploys to
gh-pagesbranch - Available at juancamilo.dev
Custom domain configured via CNAME.
MIT License - feel free to use this as a template for your own portfolio!
Juan Camilo Villarreal Rios
- Website: juancamilo.dev
- GitHub: @juancv3d
- LinkedIn: Juan Camilo Villarreal Rios
β If you like this project, give it a star!


