AS.
In Progress

NestFit - Multimodal Furniture Fit

NestFit is a multimodal product that reads apartment listings and generates deterministic, true-scale 3D layouts so renters can check whether their furniture fits before signing a lease. I am building the pipeline end-to-end: listing ingestion, room geometry and scale recovery from photos, layout generation, and geometric validation.

NestFit - Multimodal Furniture Fit preview

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

LLMsVision Models3D GeometryPythonReact

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.
Recovered room geometry and scale from listing photos.Validated generated layouts against geometric constraints.Combined language and vision models in a staged pipeline.

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.