We wanted to rethink how social media works. Instead of endless feeds and flat profiles, we imagined a three-dimensional universe where every user owns a personal room to decorate, express, and connect—bringing emotional presence and creativity back into the online experience. Roomyverse is our attempt to build a Gen Z–native alternative to traditional platforms: a social space that feels more personal, immersive, and playful.

Roomyverse allows users to create up to three personalized 3D rooms. In each room, users can place media, decorations, and messages to reflect their personality and mood. Other users can visit these rooms, react with emojis, leave comments, and follow their favorite creators. It’s a spatial way to express identity, similar to a digital bedroom, art gallery, or playground.

We built Roomyverse using Bolt.dev, which enabled us to rapidly develop the backend with Supabase for authentication, database, and file storage. The 3D room editor is powered by React Three Fiber and @react-three/drei. Uploaded files are stored in Supabase Storage, and the full scene state of each room is saved and loaded per user. The Bolt workflow allowed us to iterate quickly while layering in custom logic where needed.

We encountered a number of challenges along the way. Supabase Storage produced persistent errors when trying to upload files, even though our settings appeared correct. Troubleshooting access and permissions without full server control was time-consuming. Building a touch-friendly 3D interface that works well on mobile required many adjustments. In addition, we had to work carefully within Bolt’s structure to avoid overwriting or losing custom logic when updating components.

Despite these obstacles, we’re proud of what we achieved. In under a week, we built a functioning 3D social platform where users can register, create rooms, upload media, interact with others, and explore public spaces. We’re especially proud of the emotional impact that placing media and objects in a 3D space has—it's more engaging and expressive than traditional content feeds.

Throughout this process, we learned a lot about balancing low-code tools like Bolt with advanced front-end technologies. We also deepened our understanding of Supabase, including how its storage, permissions, and real-time features work. Most importantly, we learned how powerful 3D can be when used thoughtfully in social applications.

Next, we plan to add room templates like bedrooms, studios, or fantasy spaces, introduce a marketplace for decorative 3D objects, implement trending filters for explore mode, and launch native apps for mobile and desktop. In the long term, we imagine modular room-building mechanics similar to Minecraft or Habbo, letting users expand and evolve their virtual worlds.

Built With

  • a-postgres-database
  • and-file-storage-via-supabase-storage.-on-the-front-end
  • and-supabase-integration.-for-our-backend
  • and-we-used-shadcn/ui-components-where-needed.-for-media-handling-and-room-persistence
  • authentication
  • bolt.dev
  • custom-media-service
  • database
  • gltf-models
  • manage-routes
  • postgres-database
  • postgresql
  • react
  • react-three-fiber
  • react-three/drei
  • shadcn/ui
  • supabase
  • supabase-js-client
  • tailwind-css
  • three.js-(via-react-bindings)
  • typescript
  • vite
  • we-built-a-custom-mediaservice-using-the-supabase-client-libraries.-we-also-used-typescript-across-the-codebase-for-better-developer-experience-and-type-safety.-all-together
  • we-relied-entirely-on-supabase
  • we-used-react-together-with-react-three-fiber-and-@react-three/drei-to-build-the-3d-room-editor-and-renderer.-for-3d-models-and-object-interactions
  • we-used-the-three.js-ecosystem-through-react-bindings.-styling-and-ui-were-handled-with-tailwind-css
  • which-provided-user-authentication
Share this project:

Updates