Ring Room – Immersive Engagement Ring Consultation Platform
Category: Best Use of Immersive Web SDK
Optimized for: Meta Quest Browser (Quest 2, Quest 3, Quest Pro)
Live Demo: https://t1.spatialstud.io
Inspiration
Engagement ring shopping is usually solitary and transactional—scrolling catalogs, making high‑stakes decisions under pressure, often without the people whose opinions matter most. Ring Room reimagines this process as a collaborative ceremony instead of a checkout funnel. Drawing from cultural hospitality rituals—where hosts, guests, and space co-create meaning—we asked: What if ring consultations felt like an intimate gathering where clients, friends, and jewelers decide together in an immersive room? Ring Room bridges WebXR and cultural protocol design to turn isolated purchases into shared, spatial experiences.
What it does
Ring Room is a WebXR engagement ring consultation platform built for Meta Quest browsers using the Immersive Web SDK (IWSDK).
Core Experience (/ring-room)
- 3D ring viewing with Quest controller support and desktop orbit fallback
- SKU-backed ring “tiles” that can be picked up, rotated, and examined
- SAM 3D integration: generates WebXR-ready ring models from 2D product photos, removing manual 3D modeling bottlenecks
- Collaborative shortlisting: drag rings to a Recommendation Pedestal and vote with friends
- Session summary panel that surfaces consensus vs. client–friend disagreement
- Platform-aware UX with clear indicators when full XR mode is unavailable
Jeweler Console (/jeweler-console)
- Live-style activity feed (mocked) showing pick-ups, rotations, and votes
- SKU engagement indicators to highlight which designs attract attention
- Simple session mode framing (Discovery → Shortlist → Decision)
- Event schema and telemetry foundation for future merchandising analytics
IWSDK Test Suite (/test/iwsdk)
- WebXR capability detection and status reporting
- Camera and controller tests for Quest browser environments
Current state: Quest browser loads the app, controllers work, and the 3D scene renders. XR immersive session initialization is in late-stage debugging; controller-based 3D interaction demonstrates most of the intended UX.
How we built it
- Stack: Next.js 14 (App Router), React Three Fiber, IWSDK, Vercel deployment
- Assets: SAM 3D pipeline for automated 2D→3D conversion, then optimized for Quest (LOD, texture compression, lazy loading)
- UX & UI: shadcn/ui for the Jeweler Console, v0 by Vercel for rapid layout
- Architecture:
- Desktop-first development with XR-native design and graceful fallbacks
- Modular scenes (e.g.,
ring-room-scene,xr-ring-scene) and platform detection - Event-driven telemetry: every pick-up, vote, and pedestal placement produces structured events, forming the basis for a future control plane and AI recommendations
- Desktop-first development with XR-native design and graceful fallbacks
Challenges
- XR session initialization on Quest: IWSDK and controller input work, but immersive-vr sessions fail intermittently. We implemented controller-based 3D interaction as a robust partial experience while we debug XR session requirements and reference spaces.
- WebXR policy & dev friction: Desktop browsers block WebXR; we added orbit controls, clear “XR not available” messaging, and status reporting.
- Model performance: Early SAM 3D models were too heavy; optimization keeps Quest performance near 60 fps.
- Multi-user behavior: For competition scope, we simulate multi-participant state locally while designing schemas for future real-time sync.
What’s next
- Resolve XR immersive mode in partnership with Meta dev relations and ship full spatial tracking on Quest.
- Turn the Jeweler Console into a live control plane with WebSocket-backed multi-user sessions.
- Integrate into Meta Workrooms as a shared consultation surface.
- Extend merchandising analytics (SKU heatmaps, consensus patterns) and explore AI-assisted recommendations.
Long term, the same cultural hospitality + control plane pattern can power other domains—wine tastings, experiential dining, and event curation—where transactions should feel like ceremonies, not clicks.
Built With
- iwsdk
- sam3d

Log in or sign up for Devpost to join the conversation.