Nov 04, 2026
No image
AI floor plan segmentation and automatic furniture layout platform
Completed

AI floor plan segmentation and automatic furniture layout platform

$10,000+
4-6 months
United States, New York
2-5
view project
Service categories
Service Lines
Artificial Intelligence
Machine Learning
Web Development
Domain focus
Real Estate
Technology
Programming language
JavaScript
Python
Frameworks
Express
Node.js
React.js
Subcategories
Machine Learning
Custom ML Development
Computer Vision

Challenge

A New York interior design and proptech company (confidential, under NDA) wanted homeowners and partner systems to upload a residential floor plan and get back a fully furnished layout. General-purpose segmentation models could not reliably pick out walls, doors and windows on real floor plans, and furniture placement has hard physical rules: clearances around doors, sight-lines to windows and what each room type needs. The same output had to work in an editable app and as a data feed for other systems.

Solution

We fine-tuned a SAM2 segmentation model on a custom dataset of real-estate floor plans so it detects walls, doors and windows. A rule-based placement engine then furnishes each room against the detected geometry, respecting clearances, window sight-lines and room-type rules, and generates several valid layouts per home. We chose rules over ML-generated layouts so results stay predictable and auditable. The same engine drives a React interface, where users rearrange, swap or regenerate furniture, and a public API that returns the furnished plan as structured data. Python inference runs inside a Node.js and Express backend with MongoDB and Redis on AWS.

Results

The platform segments a floor plan in around 10 seconds, with the fine-tuned model reaching about 90% accuracy on walls, doors and windows in held-out testing. Every home gets one or more furnished layouts that users can edit in the app, and the engine re-checks each change against the placement rules. Partner systems fetch the same furnished plans through the API without any UI work.