Problem and Constraints
Listing photos and floor-plan blurbs rarely give renters enough spatial information to know whether their existing furniture will actually fit.
- Listing photos have no reliable scale reference, so room dimensions must be recovered rather than read.
- Layouts have to be deterministic and true-scale; a plausible-looking render that is wrong by a foot is useless.
- Model output must be checked against hard geometric rules before it reaches the user.
My Approach
Considered: I considered letting a generative model render furnished rooms directly from photos.
Chose: I chose to recover explicit room geometry and scale first, then place furniture deterministically in that space.
Rejected: I rejected direct generative staging because it produces convincing images without guaranteeing real dimensions.
Considered: I considered trusting model-proposed placements as final output.
Chose: I chose to validate every layout against geometric constraints such as overlap, clearance, and wall bounds.
Rejected: I rejected unvalidated placements because a single overlap breaks trust in the whole layout.
Considered: I considered a single large model handling extraction, geometry, and placement.
Chose: I chose a staged pipeline that separates listing understanding, geometry recovery, and layout validation.
Rejected: I rejected one monolithic model call because failures were hard to localize and fix.
System Design
Loading diagram…
Listings are parsed by language and vision models, room geometry and scale are recovered from photos, and furniture is placed deterministically in that recovered space. Every layout passes geometric validation before it is rendered as a true-scale 3D view.
Implementation Highlights
- Listing ingestion that combines photo and text understanding with LLMs and vision models.
- Room geometry and scale recovery from listing photos.
- Deterministic, true-scale 3D layout generation for user-provided furniture.
- Geometric constraint checks that reject overlapping or out-of-bounds placements.
Tech Stack
Outcomes
- Renters can check furniture fit at true scale before signing a lease.
- Layouts are reproducible because placement is deterministic, not sampled.
- Geometric validation catches model errors before users see them.
Retrospective
Problem: Generative output looks right far more often than it is dimensionally right.
What I tried: I separated geometry recovery from placement and added hard geometric checks between them.
What I'd do differently: I would build a labeled set of measured rooms earlier to quantify scale-recovery error.