Buildify turns a handful of home requirements β bedrooms, bathrooms, square footage, style β into multiple, ready-to-review architectural floor plans in seconds. Every plan is structurally sound, zero-gap, and compliant with US residential building codes.
Buildify is an end-to-end AI platform for residential architectural design. It combines a locally trained Mixture of Experts (MOE) neural network for intelligent room sizing, HouseGAN++ graph-based spatial topology, and a deterministic zone-based layout solver to produce realistic, buildable floor plans β not hallucinated geometry.
Unlike pure generative approaches, Buildify's hybrid pipeline ensures every plan:
- Has zero gaps between rooms β rooms are packed edge-to-edge on a 2ft construction grid
- Respects US IRC (International Residential Code) minimums β e.g. 70 sq ft for habitable rooms
- Has correct architectural proportions β houses are 60β80 ft wide and 40β65 ft deep, not skyscraper towers
- Varies meaningfully across variants β different garage arrangements, room groupings, and outdoor configurations
| Use Case | Description |
|---|---|
| π‘ Instant Conceptual Design | Enter beds, baths, sqft and style β get 3 distinct plan variants immediately |
| π Charrette Board Comparison | Compare all generated plans side-by-side as architectural cards with 2D minimaps |
| π Detailed 2D Review | Click into any plan to examine a scaled, color-coded architectural floor plan with room labels and dimensions |
| π 3D Exterior Visualization | Switch to a clean, white architectural 3D exterior with roof, windows, and lawn |
| π¬ Design Consultation | Use the integrated AI chat to ask questions about your plan, room sizes, or code requirements |
| π¦ Export to CAD | Export any plan as a .dxf file for import into AutoCAD or any professional CAD tool |
| π° Cost Estimator | Get a regional cost estimate based on your plan's sqft and room configuration |
Buildify uses a 5-stage hybrid generation pipeline. The diagram below shows exactly how a user request flows from constraints to final plan:
flowchart TD
%% βββ USER INPUT βββββββββββββββββββββββββββββββββββββββββββββββββββ
A([π€ User Constraints\n Beds Β· Baths Β· SqFt Β· Style\n Garage Β· Outdoor Β· Office]) --> B
%% βββ FRONTEND βββββββββββββββββββββββββββββββββββββββββββββββββββββ
subgraph FE ["βοΈ React Frontend (Vite + TypeScript)"]
B[Room Catalog\nConstraint Form]
B --> C[POST /api/generate/moe]
end
%% βββ BACKEND API ββββββββββββββββββββββββββββββββββββββββββββββββββ
subgraph BE ["π FastAPI Backend"]
C --> D
subgraph PIPE ["π 5-Stage Generation Pipeline"]
direction TB
D["π Stage 1 β BUILD\nDeterministic room list\nfrom IRC specs & constraints\nβββββββββββββββββ\n2-Car Garage Β· Foyer Β· Mudroom\nLiving Β· Dining Β· Family Β· Kitchen\nHallway Β· Primary Suite Β· Bedrooms\nBathrooms Β· Patio β¦"]
D --> E["π§ Stage 2 β SIZE (MOE Model)\nMixture of Experts neural net\nOutputs 8 expert weights β\nscales each room's W Γ H\nbased on SqFt & Style target\nβββββββββββββββββ\n8 Experts: Room Sizing Β·\nSpatial Layout Β· Style Adaptation\nCode Compliance Β· Adjacency\nCirculation Β· Outdoor & Garage\nCost Optimization"]
E --> F{"Stage 3 β PLACE\nHouseGAN++ Available?"}
F -- Yes --> G["πΈοΈ HouseGAN++\nGraph-based bubble diagram\nTopological adjacency placement\nRoom graph β XY coordinates"]
F -- No --> H["πΊοΈ Zone-Based Architectural Solver\nEntry Band β Garage Β· Foyer Β· Mudroom\nSocial Band β Living Β· Dining Β· Kitchen\nHallway β Full-width 4 ft spine\nPrivate Bandβ Primary Suite Β· Bedrooms\nOutdoor Bandβ Patio Β· Deck"]
G --> I
H --> I
I["β
Stage 4 β VALIDATE (IRC)\nEnforce room minimums\nβ’ Habitable rooms β₯ 70 sq ft\nβ’ Bedrooms β₯ 10 Γ 10 ft\nβ’ Hallway β₯ 36 in wide\nClamp all rooms to footprint"]
I --> J["π Stage 5 β REFINE\nSnap to 2 ft construction grid\nClose all inter-room gaps\nForce exact footprint width\nResolve overlaps\nβ Zero-gap guarantee"]
end
J --> K["π Confidence Scoring\n+ IRC Compliance Flag\n+ Expert Weight Breakdown"]
end
%% βββ OUTPUT βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
K --> L
subgraph UI ["π₯οΈ Plan Viewer (React + Three.js)"]
L["ποΈ Charrette Board\nA Β· B Β· C variant cards\nColor-coded 2D minimap\nSqFt Β· Beds Β· Baths Β· Footprint"]
L --> M["π 2D Architectural Plan\nScaled room layout\nDimensions + Labels\nDoor swings"]
L --> N["π 3D Exterior View\nWhite architectural model\nSegmented roofline Β· Windows\nLawn Β· Foundation"]
L --> O["πΆ Walk Mode *(coming soon)*\nFirst-person exploration\nPointer-lock + WASD controls"]
L --> P["π² Top View *(coming soon)*\nBird's-eye colored blocks\nRoom labels overlay"]
end
M --> Q["π¦ Export DXF Β· Cost Estimate Β· Design Score"]
Buildify/
βββ backend/
β βββ main.py # FastAPI app β all API routes
β βββ generator.py # Deterministic floor plan generator
β βββ scoring.py # Design quality scoring
β βββ cost.py # Regional cost estimator
β βββ exporter.py # DXF CAD export
β βββ rag.py # RAG-based AI design chat
β βββ moe/
β βββ model.py # BuildifyMOE β PyTorch Mixture of Experts
β βββ inference.py # 5-stage generation pipeline
β βββ data.py # IRC room specs + training data synthesis
β βββ experts.py # 8 named expert definitions
β βββ config.py # MOE hyperparameters
β βββ api_auth.py # API key management
β βββ weights/
β βββ buildify_moe.pt # Trained model weights
βββ frontend/
βββ src/
β βββ App.tsx # Root layout + routing
β βββ App.css # Design system + component styles
β βββ api/client.ts # Typed API client (axios)
β βββ types/floorplan.ts # Shared TypeScript types
β βββ components/
β βββ ConstraintForm.tsx # Room catalog sidebar
β βββ FloorPlanGallery.tsx # Charrette Board (A/B/C cards)
β βββ FloorPlanPreview.tsx # Color-coded 2D SVG minimap
β βββ ArchPlan.tsx # Full 2D architectural plan renderer
β βββ View3D.tsx # Three.js 3D visualization
β βββ FloorPlanEditor.tsx # Plan detail view + mode switcher
βββ vite.config.ts
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | React 18 + Vite + TypeScript | UI framework |
| 3D Visualization | Three.js / React Three Fiber | 3D exterior, walk mode |
| 2D Rendering | SVG / Canvas (custom) | Architectural plan renderer |
| Styling | Vanilla CSS (custom design system) | Dark sidebar, Charrette Board |
| Backend | FastAPI (Python 3.11) | REST API layer |
| AI Model | PyTorch β Mixture of Experts | Room sizing intelligence |
| Spatial Layout | HouseGAN++ | Graph-based room placement |
| Building Codes | IRC 2021 (R304, R311.7) | Room minimums & compliance |
| CAD Export | ezdxf | DXF file generation |
cd backend
pip install -r requirements.txt
python3 -m uvicorn main:app --host 0.0.0.0 --port 8002 --reload
# API docs available at http://localhost:8002/docscd frontend
npm install
npm run dev
# App available at http://localhost:5173The Vite dev server proxies all
/api/*requests tohttp://localhost:8002automatically.
For a 3 bed Β· 2 bath Β· 1,800 sq ft Β· Modern home, Buildify generates 3 variants:
| Variant | Dimensions | Rooms | Total Area |
|---|---|---|---|
| Plan A β Optimized | 68 W Γ 60 D ft | 17 rooms | 2,332 sq ft |
| Plan B β Balanced | 68 W Γ 62 D ft | 17 rooms | 2,352 sq ft |
| Plan C β Efficient | 68 W Γ 60 D ft | 17 rooms | 2,388 sq ft |
Each plan includes: 2-Car Garage Β· Mudroom Β· Laundry Β· Foyer Β· Living Room Β· Dining Area Β· Family Room Β· Kitchen Β· Pantry Β· Main Hallway Β· Primary Suite Β· Primary Bath Β· Primary Closet Β· 2Γ Bedroom Β· Shared Bath Β· Rear Patio
- MOE model training pipeline
- HouseGAN++ integration with zone-based fallback
- IRC compliance validation
- Zero-gap layout guarantee
- Charrette Board UI (A/B/C variant comparison)
- 3D white architectural exterior
- DXF CAD export
- Regional cost estimator
- First-person 3D walkthrough (WASD + pointer lock)
- Top-view colored block mode (bird's-eye with room labels)
- Door/window placement in plans
- Multi-story support
- Direct integration with Autodesk, SketchUp, or Revit
This project is open-source under the MIT License.