DEV Community

Yalda Khoshpey
Yalda Khoshpey

Posted on

Building a 3D Virtual Portfolio Room🏠

Building a 3D Interactive Portfolio Room — Looking for Collaborators!

Hi everyone — I’d like to share a creative side project that I’ve been working on:

a 3D interactive room portfolio, built purely with HTML, CSS, and JavaScript, where certificates hang on the walls like art in a gallery.

👉 Repo: Repo

👉 Live Demo: Live Demo


🎨 What Is This Project?

  • It’s an experimental portfolio template (not a finished product) — you can walk around a room, rotate your view, zoom in and out, and click on certificates to view them in full.
  • Everything is done using CSS 3D transforms, so there’s no heavy graphics engine — just creative use of basic web technologies.
  • Includes ambient sound effects, smooth animations (like an opening door), and keyboard interactions (+/- to zoom, Enter to open door, 0 to reset view).
  • Fully responsive, working on both desktop and mobile.
  • Licensed under MIT, so it’s completely open for collaboration.

🌱 Why I Built It

  • I wanted a unique way to present certificates — something immersive instead of a typical flat layout.
  • It began as a mock portfolio, but I plan to expand it into something more complete and practical.
  • It’s also a fun area to experiment with 3D on the web using nothing more than CSS + JS — no WebGL or Three.js.

🧩 What’s Still Missing (and Where I Need Help)

Since this is currently a mock portfolio, several parts feel unfinished. Here’s where collaboration would be amazing:

  • Dynamic content: certificates are static for now; a JSON-driven setup would make it easier to update.
  • CMS integration: ideally users could manage certificates and content through an admin panel.
  • Performance improvements: heavy 3D transforms can lag on low-end devices.
  • Design polish: smoother UX, improved interactions, better mobile layout.
  • Room extensibility: more room types, more layouts, custom themes.
  • Accessibility: better screen-reader support, ARIA roles, improved keyboard flow.

🤝 Why You Should Join Me

If you enjoy creative UI, web design, or 3D experiments, this project can be a fun playground:

  • Hands-on experience with CSS 3D transforms and animation.
  • A chance to collaborate on an open-source project with real potential.
  • A unique opportunity to rethink portfolio presentation visually.
  • Meaningful GitHub contributions through new features, refactors, or optimizations.

🚀 How to Contribute

Here are ways you can get involved:

  1. Fork the repo and explore the code.
  2. Open issues for bugs, ideas, or needed improvements.
  3. Submit pull requests — from dynamic loading to accessibility updates.
  4. UI/UX design contributions: mockups, themes, layouts, visual ideas.
  5. General feedback: try the live demo and tell me what feels off or what could be better.

🔭 Next Steps (My Vision)

  • Make the room fully data-driven (JSON or API).
  • Add an admin panel for managing certificates.
  • Offer multiple room themes (gallery, studio, minimalist, etc.).
  • Smooth out animations and interactions for a more polished experience.
  • Turn the project into a reusable portfolio template anyone can adopt.

If you made it this far — thank you! 🙏

I’d be excited to team up with developers, designers, or anyone curious to help grow this project.

Drop a comment, open an issue, or send a PR.

Let’s turn this mock portfolio into a fully polished, collaborative web experience.

Top comments (0)