🎨 Inspiration
The primary inspiration was to move beyond the traditional, static web portfolio and create a truly immersive digital identity. We wanted to build a portfolio that was not just a list of skills, but a demonstration of advanced front-end capabilities. The goal was to prove mastery of modern JavaScript frameworks by creating a fast, smooth, and highly interactive experience that captivates the visitor from the first second, treating the entire portfolio as a live 3D application.
✨ What it does
Interactive 3D Dev Hub serves as a cutting-edge personal portfolio website.
It utilizes 3D rendering to create interactive scenes and environments where visitors can explore my projects and background. The site seamlessly integrates a smooth, responsive 2D user interface (UI) with rich 3D visuals.
Key features include:
- Interactive 3D Scenes: Dynamic 3D models and environments built using React Three Fiber and Drei.
- Smooth UX: Elegant and fluid UI animations managed by Framer Motion.
- Complete Information: Dedicated sections for Projects, Skills/Tech Stack, and a vertical timeline for experience.
- Functioning Contact Form: A fully operational contact section powered by EmailJS for direct communication.
🔨 How we built it
The project was developed using a modern, efficient, and robust MERN-adjacent tech stack:
- Foundation: Built entirely with JavaScript and React 18 for a component-based structure.
- 3D Rendering: Three.js integrated into React via @react-three/fiber and @react-three/drei.
- Styling & Responsiveness: Fully responsive UI designed with Tailwind CSS.
- Animations: Non-3D animations crafted with Framer Motion for a professional, fluid feel.
- Build System: Bundled and optimized with Vite for fast load times and performance.
- Communication: Contact form powered by @emailjs/browser for reliable, serverless email delivery.
🛑 Challenges we ran into
The primary challenge was achieving optimal performance while maintaining rich 3D detail.
- 3D Optimization: Ensuring models and textures were low-poly and compressed to maintain high FPS, especially on mobile. Techniques like lazy loading and React Suspense were key.
- State Synchronization: Managing state between the 2D UI and 3D scene required careful planning to prevent unnecessary re-renders.
- Mobile Usability: Making the 3D experience seamless and intuitive on touch devices without losing performance.
✅ Accomplishments that we're proud of
We are most proud of successfully creating a smooth, performant 3D experience within a standard browser window.
- Achieving High Performance: The final product maintains an excellent frame rate and fast initial load time.
- Mastering the Stack: Successfully combined React, Three.js/Fiber, Framer Motion, and Tailwind into a cohesive app.
- The Wow Factor: Delivered a visually stunning portfolio that instantly showcases technical skill in modern front-end development.
🧠 What we learned
This project provided invaluable lessons in several key areas:
- 3D Asset Pipeline: Learned to optimize GLTF/GLB models and texture maps for the web.
- Performance Budgeting: Gained experience balancing visuals and performance costs.
- Advanced React: Strengthened understanding of React concurrent features (Suspense, lazy) and performance hooks (useMemo, useCallback).
🔮 What's next for Interactive 3D Dev Hub
The future development will focus on expanding capabilities and professional integration:
- Project Detailing: Implementing deep-links for each project with unique 3D environments.
- Custom Shader Effects: Experimenting with Three.js shaders to add unique visual branding.
- CMS Integration: Moving data to a headless CMS (Strapi or Contentful) for easier updates.
- Accessibility Refinement: Enhancing keyboard navigation and ARIA attributes for broader accessibility.
Built With
- emailjs
- framer-motion
- javascript
- node.js.
- react-18
- react-router-dom
- react-three-fiber
- tailwind-css
- three.js
- vite
Log in or sign up for Devpost to join the conversation.