Inspiration

Buying furniture online is still a gamble. You pick something, it arrives, and it's either too big, too small, or just wrong for the room. Meanwhile independent sellers and vintage dealers are stuck posting flat photos and hoping buyers take the leap. We wanted to fix both sides of that — give sellers a showroom-quality listing and give buyers the confidence to actually commit.

What it does

Atelier is a curated furniture marketplace where every listing has an interactive 3D preview and one-tap in-room AR — no app download needed. Sellers sign up, create a listing with piece details and a 3D model, and instantly get a live product page plus a QR code for tags and sharing. Buyers browse the collection, spin models in the browser, and on mobile can place pieces directly on their floor in AR before ever contacting a seller.

How we built it

We built Atelier with Next.js 15 (App Router), React 19, TypeScript, and Tailwind CSS on the frontend. Supabase handled auth, our PostgreSQL database, file storage, and realtime updates. For the AR layer we used Google's model-viewer, which covers WebXR on Android and AR Quick Look on iOS — one component, both platforms. Everything is deployed on Vercel, and sellers get shareable QR codes generated with qrcode. We also explored DG-Mesh for scan-to-3D mesh reconstruction and wired a video capture → GPU worker → GLB pipeline for a future "scan your own piece" path.

Challenges we ran into

AR has a lot of invisible requirements. Both AR and OAuth only work over HTTPS with correct redirect URLs — small misconfigurations that are easy to miss and painful to debug under time pressure. On the data side, deleting a listing had to clean up both the Supabase storage bucket and the database row, not just the UI — otherwise orphaned files pile up fast. The biggest call we had to make was cutting the full scan pipeline from the demo. It works, but a live demo with GPU workers and unstable uploads is a liability. We simplified to instant publish with curated GLBs so the core buyer experience — browse, preview, AR — was rock solid every time.

Accomplishments that we're proud of

Getting native AR working in the browser across both iOS and Android without an app install still feels like a small miracle. The seller flow from sign-up to a live, AR-ready listing takes under two minutes. And the QR code on each listing means a seller can stick a tag on a physical piece in a showroom and a buyer can scan it and see the AR preview right there on the spot.

What we learned

Shipping AR means deciding what not to build. The full scan → train → GLB pipeline is genuinely cool, but it introduced too many failure points for a hackathon demo. Cutting scope to "pick a model, publish instantly" was the right call — it let us focus on the moment that actually matters to buyers. We also learned that Supabase is remarkably fast to build with, but you have to think about cleanup logic from the start, not as an afterthought.

What's next for Atelier

The scan-to-3D pipeline is the obvious next step — letting sellers film a piece with their phone and get a 3D model automatically would remove the biggest friction in the seller flow. Beyond that, we want to add seller profiles, a messaging layer so buyers can contact sellers directly in the app, and better discovery through filters and collections. The foundation is solid. Now it gets interesting.

Built With

Share this project:

Updates