
I've been building UluP Spaces, a visual project-mapping tool (nodes and connections instead of a flat task list), and a couple weeks ago started a side-quest: a VR/AR version for Meta Quest called UluP Spatial, where your project's nodes become spheres you grab and move with your hands.
It's been fun to build and people who try it react well, but it has an obvious ceiling: almost nobody owns a $300+ headset. As a growth lever it was basically capped at zero.
So today I asked myself the obvious question I'd been avoiding: what if the 3D aesthetic doesn't need VR at all? Spheres, glowing connections, a starfield background — none of that actually requires a headset, it's just React Three Fiber rendering a scene. The only VR-specific parts were hand-tracking and pinch gestures.
So I built a toggle inside the normal web app: click one button and the 2D canvas becomes the same 3D scene, navigable with mouse/trackpad — orbit, zoom, drag nodes to reposition them. It reuses the exact same data and handlers already wired to the 2D canvas (position saving, realtime sync, permissions) — the 3D view is a drop-in renderer swap, not a parallel feature with its own logic to maintain.
Why this over just polishing the 2D canvas further: it's a genuinely different way to feel your project, not just a visual skin, and it's also the first working piece of a bigger idea I have — a "3D museum" that shows off every product I've built in one explorable space. Building it here first, inside a product real users already open daily, means I get feedback on the core interaction (is dragging/orbiting actually pleasant, does it feel gimmicky after 30 seconds) before betting more time on the bigger version.
Solo dev, shipped in about a day since most of the hard problems (the actual 3D rendering, the interaction patterns) were already solved building the VR version — reuse compounded a lot here.
Curious if anyone else has taken something built for a niche/high-friction context (VR, a CLI, an API-only feature) and found it had way more value once ported somewhere more accessible.
(Link in the first comment,)
Good point. Did you test that with users before committing to it?
Good point. Did you test that with users before committing to it?
Good point. Did you test that with users before committing to it?
Good point. Did you test that with users before committing to it?
Good point. Did you test that with users before committing to it?
Good point. Did you test that with users before committing to it?
Good point. Did you test that with users before committing to it?
Good point. Did you test that with users before committing to it?
Good point. Did you test that with users before committing to it?
Good point. Did you test that with users before committing to it?
Curious how long it took before you saw the first real results?
Good point. Did you test that with users before committing to it?
Good point. Did you test that with users before committing to it?
How did you decide this was worth building in the first place?
How did you decide this was worth building in the first place?
Thanks for writing this up. Bookmarking it for later.
Porting a VR 3D view to the regular web without a headset is a nice way to widen the funnel. How much of the original interaction model did you have to rethink for mouse/keyboard?
https://www.ulupspaces.com and https://www.ulupstudio.com/spatial