Inspiration
View items in Augmented Reality (AR), create 3D models from photos, and preview multiple pieces in your home instantly.
Online furniture shopping never feels accurate. Photos don’t show scale, dimensions are hard to picture, and you never really know how something will look in your home. We also noticed there’s no place where you can view multiple items at the same time in AR. Every tool only lets you place at most one object. We wanted a way to actually design a room, not just preview a single chair.
What it does
Soufflé is a 3D-first furniture marketplace that lets you visualize anything in your space.
Users can:
- browse furniture listings with auto-generated 3D models
- create listings by uploading a few photos
- upload product photos from any website to preview a 3D model of it in AR
- scan a generated QR code to conveniently view AR in their mobile browser
- place multiple items in AR at once, something you can’t do anywhere else
- view the product's dimensions live in AR
- upload a screenshot of their AR space for a lighting-accurate rendering and interior design feedback
How we built it
We built the interface in React and used Three.js with WebXR for all 3D and AR rendering.
User images are sent to Meshy’s image-to-3D API, which returns a 3D GLB model. We wrote our own logic to scale models based on real-world dimensions and built a system that supports placing several objects in the same AR session. Everything runs through a lightweight flask backend that manages uploads, model generation and assets.
Challenges we ran into
- Making multiple models appear in one AR scene without breaking tracking
- Scaling objects correctly so they match the real size
- Integrating Three.js into a React workflow without conflicts
- Designing a UI that stays simple even with a complex pipeline behind it
- Properly mapping colours to the generated 3D model
Accomplishments that we're proud of
- A working pipeline from images → 3D model → AR
- Multi-item AR support, which we couldn’t find in any existing tool
- A clean React interface that still handles real-time 3D
- Turning random web images into usable AR models
What we learned
We learned how WebXR sessions behave on different devices, how to handle Three.js scenes efficiently, and how to properly scale 3D models based on user dimensions. We also learned how many small details go into making AR feel natural.
What's next for Soufflé
- A “saved room” mode where users can arrange and revisit full layouts
- Snapping, alignment tools, and easier rotation/placement in AR
- A mobile app for smoother AR performance
- Growing Soufflé into a full marketplace for discovering and selling furniture
Built With
- flask
- javascript
- meshy
- ngrok
- python
- react
- three.js
- typescript
- webxr


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