| # InteriorFusion: AI Interior Designer β Product Architecture |
|
|
| ## Product Vision |
|
|
| **"Any room photo β editable 3D design space in 30 seconds"** |
|
|
| Transform interior design from a manual, weeks-long process into an AI-assisted, real-time creative tool. Users upload a room photo, and InteriorFusion creates a complete 3D scene they can redesign, refurnish, and redecorate β all before their coffee gets cold. |
|
|
| --- |
|
|
| ## Feature Matrix |
|
|
| ### Core Features |
|
|
| | Feature | Description | Priority | Status | |
| |---------|-------------|----------|--------| |
| | **Photo Upload** | Upload any room photo | P0 | β
Prototype | |
| | **3D Room Generation** | Generate complete 3D scene | P0 | β
Prototype | |
| | **Furniture Editing** | Move/remove/scale objects | P0 | β
Design | |
| | **Material Swap** | Change wall/floor/furniture materials | P0 | β
Design | |
| | **Relight Room** | Adjust lighting, add light sources | P1 | π Planned | |
| | **Style Transfer** | Transform to different interior styles | P1 | π Planned | |
| | **Export to Blender** | One-click Blender import | P0 | β
Prototype | |
| | **Export to UE5** | Direct Unreal Engine asset export | P1 | π Planned | |
| | **Export to Unity** | Unity package export | P1 | π Planned | |
| | **AR Preview** | View in real room via phone AR | P1 | π Planned | |
| | **Furniture Recommendations** | AI-suggested furniture from catalog | P2 | π Planned | |
| | **Room Style Quiz** | "What style is this room?" | P2 | π Planned | |
| | **Before/After Comparison** | Side-by-side design iterations | P1 | π Planned | |
| | **Design Share** | Share interactive 3D scenes via URL | P1 | π Planned | |
| | **Professional Report** | Generate PDF design proposal | P2 | π Planned | |
|
|
| ### Interior Style Support |
|
|
| | Style | Training Data | Quality Target | |
| |-------|--------------|---------------| |
| | **Modern** | 3D-FRONT + Pinterest | βββββ | |
| | **Scandinavian** | 3D-FRONT + InteriorNet | βββββ | |
| | **Luxury / High-end** | 3D-FRONT luxury subset | ββββ | |
| | **Indian / Traditional** | Custom dataset + Pinterest | ββββ | |
| | **Commercial / Office** | HM3D office scenes | ββββ | |
| | **Industrial** | 3D-FRIND + InteriorNet | ββββ | |
| | **Minimalist** | 3D-FRONT + curated | ββββ | |
| | **Bohemian** | Pinterest + custom | βββ | |
| | **Japanese** | Custom dataset | βββ | |
| | **Art Deco** | Curated subset | βββ | |
|
|
| ### Room Type Support |
|
|
| | Room Type | Supported | Notes | |
| |-----------|-----------|-------| |
| | **Living Room** | β
Full | Best supported | |
| | **Bedroom** | β
Full | Full support | |
| | **Kitchen** | β
Full | Appliances as objects | |
| | **Dining Room** | β
Full | Table + chairs pattern | |
| | **Home Office** | β
Full | Desk + chair + shelf | |
| | **Bathroom** | β οΈ Partial | Mirrors, fixtures simplified | |
| | **Hallway** | β οΈ Partial | Limited furniture | |
| | **Outdoor Patio** | β Not supported | Future scope | |
| | **Commercial Retail** | π Planned | v2.0 | |
| | **Restaurant / Cafe** | π Planned | v2.0 | |
|
|
| --- |
|
|
| ## Backend Architecture |
|
|
| ### Service Topology |
|
|
| ``` |
| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |
| β API Gateway β |
| β (Rate limiting, Auth, SSL, CDN) β |
| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |
| β |
| ββββββββββββββββββββββΌβββββββββββββββββββββ |
| β β β |
| βββββββββΌβββββββ ββββββββββΌβββββββββ ββββββΌββββββ |
| β REST API β β WebSocket API β β Webhook β |
| β (FastAPI) β β (Real-time β β (Export β |
| β β β progress) β β notify) β |
| βββββββββ¬βββββββ ββββββββββ¬βββββββββ ββββββ¬ββββββ |
| β β β |
| βββββββββΌβββββββββββββββββββββΌβββββββββββββββββββΌββββββββββββββ |
| β Task Queue (Redis/RabbitMQ) β |
| β Priority: free < premium < enterprise β |
| βββββββββ¬ββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββ |
| β β |
| βββββββββΌβββββββββ ββββββββββΌβββββββββ |
| β GPU Workers β β CPU Workers β |
| β (Ray/K8s) β β (Pre/Post proc) β |
| β β β β |
| β - Generation β β - Segmentation β |
| β - Rendering β β - Mesh cleanup β |
| β - Export β β - Format conv β |
| ββββββββββββββββββ βββββββββββββββββββ |
| ``` |
|
|
| ### GPU Orchestration (Ray + Kubernetes) |
|
|
| ```yaml |
| # k8s/interiorfusion-gpu-worker.yaml |
| apiVersion: apps/v1 |
| kind: Deployment |
| metadata: |
| name: interiorfusion-gpu-worker |
| spec: |
| replicas: 5 |
| selector: |
| matchLabels: |
| app: interiorfusion-gpu |
| template: |
| spec: |
| containers: |
| - name: worker |
| image: stevee00/interiorfusion:latest |
| resources: |
| limits: |
| nvidia.com/gpu: 1 |
| memory: "32Gi" |
| cpu: "8" |
| env: |
| - name: MODEL_SIZE |
| value: "L" |
| - name: BATCH_SIZE |
| value: "1" |
| ``` |
|
|
| ### Queueing Strategy |
|
|
| | Tier | Max Queue Time | Priority | GPU Allocation | |
| |------|---------------|----------|---------------| |
| | **Free** | 5 minutes | Low | Shared A10G | |
| | **Pro** ($20/mo) | 30 seconds | Medium | Dedicated A10G | |
| | **Enterprise** | 5 seconds | High | Dedicated A100 | |
| | **Batch API** | 1 hour | Lowest | Spot instances | |
|
|
| ### Caching Strategy |
|
|
| | Cache Layer | TTL | Size | Purpose | |
| |-------------|-----|------|---------| |
| | **CDN Edge** | 24h | Infinite | Generated GLB/PLY files | |
| | **Redis Hot** | 1h | 10GB | Depth maps, segmentation | |
| | **Redis Warm** | 24h | 50GB | Scene graphs, metadata | |
| | **GPU VRAM** | 5m | Per-GPU | Model weights, active scenes | |
| | **Disk Cache** | 7d | 1TB | Model checkpoints, datasets | |
|
|
| ### Vector Database (ChromaDB / Pinecone) |
|
|
| Store: |
| - Furniture embeddings for similarity search |
| - Room style embeddings for style matching |
| - User preference history for personalization |
|
|
| Schema: |
| ```python |
| { |
| "id": "furniture_12345", |
| "embedding": [768-dim vector], |
| "metadata": { |
| "type": "sofa", |
| "style": "scandinavian", |
| "dimensions": [2.0, 0.9, 0.8], |
| "material": "fabric", |
| "color": "gray", |
| "source": "ikea_catalog", |
| } |
| } |
| ``` |
|
|
| --- |
|
|
| ## Inference Service Architecture |
|
|
| ### Model Registry (HF Hub) |
|
|
| ```python |
| # Model versions managed via HF Hub |
| MODEL_REGISTRY = { |
| "InteriorFusion-S": { |
| "repo": "stevee00/InteriorFusion-S", |
| "size": "1.5B", |
| "speed": "5s", |
| "quality": "preview", |
| }, |
| "InteriorFusion-L": { |
| "repo": "stevee00/InteriorFusion-L", |
| "size": "4B", |
| "speed": "15s", |
| "quality": "production", |
| }, |
| "InteriorFusion-XL": { |
| "repo": "stevee00/InteriorFusion-XL", |
| "size": "10B", |
| "speed": "30s", |
| "quality": "research", |
| }, |
| } |
| ``` |
|
|
| ### Auto-scaling Rules |
|
|
| | Metric | Threshold | Action | |
| |--------|-----------|--------| |
| | Queue depth | > 10 tasks | Scale up GPU workers +2 | |
| | Queue depth | < 2 tasks | Scale down GPU workers -1 | |
| | Avg inference time | > 20s (L model) | Switch to S model for free tier | |
| | GPU memory | > 90% | Clear LRU cache | |
| | Error rate | > 5% | Alert + fallback to S model | |
| | Cost/hour | > $100 | Enable spot instance preference | |
|
|
| --- |
|
|
| ## Rendering Pipeline |
|
|
| ### Real-time Preview (Gaussian Splatting) |
|
|
| For the interactive 3D viewer: |
| - Scene loaded as Gaussian splatting PLY |
| - Web-based viewer using Three.js + GaussianSplatting |
| - FPS target: 60fps on RTX 3060, 30fps on integrated GPU |
| - Level-of-Detail: Reduce Gaussian count for distant objects |
|
|
| ### Production Quality (Path Tracing) |
|
|
| For final export / marketing renders: |
| - Export to Blender / UE5 / Unity |
| - Use native path tracing (Cycles, Lumen, HDRP) |
| - Bake lighting into lightmaps for static scenes |
| - Real-time GI for dynamic objects |
|
|
| ### Web Viewer Architecture |
|
|
| ```html |
| <!-- Simplified web viewer --> |
| <interiorfusion-viewer |
| scene-url="https://cdn.interiorfusion.ai/scenes/abc123/scene.ply" |
| editable="true" |
| ar-support="true" |
| vr-support="false" |
| > |
| </interiorfusion-viewer> |
| ``` |
|
|
| Features: |
| - Orbit controls (rotate, zoom, pan) |
| - Object selection (click to select furniture) |
| - Property panel (position, rotation, scale, material) |
| - Material picker (swatches from PBR library) |
| - Lighting control (time of day, intensity) |
| - AR mode (place in real room via WebXR) |
|
|
| --- |
|
|
| ## Asset Management |
|
|
| ### Furniture Catalog |
|
|
| | Source | Items | License | Integration | |
| |--------|-------|---------|------------| |
| | **IKEA API** | ~10,000 | Commercial | Direct purchase links | |
| | **Wayfair API** | ~100,000 | Commercial | Affiliate links | |
| | **3D-FUTURE** | ~10,000 | Research | Training + reference | |
| | **Objaverse** | ~10M | Mixed | Generic placeholders | |
| | **Custom Models** | User uploads | User-owned | Premium feature | |
|
|
| ### Material Library |
|
|
| | Category | Count | Source | |
| |----------|-------|--------| |
| | **Wood** | 500 | CC0 Textures, Poliigon | |
| | **Fabric / Upholstery** | 300 | Custom scans | |
| | **Tile / Stone** | 200 | CC0 Textures | |
| | **Paint** | 1000 | Sherwin-Williams, Benjamin Moore | |
| | **Wallpaper** | 500 | Spoonflower, Wallcoverings | |
| | **Metal** | 150 | CC0 Textures | |
| | **Glass** | 50 | Custom | |
|
|
| --- |
|
|
| ## Business Model |
|
|
| ### Pricing Tiers |
|
|
| | Tier | Price | Generations/mo | Quality | Export | API | Support | |
| |------|-------|---------------|---------|--------|-----|---------| |
| | **Free** | $0 | 5 | S model | GLB only | β | Community | |
| | **Pro** | $20/mo | 100 | L model | All formats | β
100/day | Email | |
| | **Studio** | $99/mo | 500 | XL model | All + batch | β
1000/day | Priority | |
| | **Enterprise** | Custom | Unlimited | XL + custom | All + white-label | β
Unlimited | Dedicated | |
|
|
| ### Revenue Streams |
|
|
| 1. **Subscription**: Monthly plans (primary revenue) |
| 2. **API Usage**: Per-generation pricing for integrations |
| 3. **Furniture Affiliates**: Commission on furniture purchases |
| 4. **Professional Services**: Custom training, fine-tuning |
| 5. **White-label**: Licensed SDK for furniture retailers |
| 6. **Data**: Anonymized trend reports (industry insights) |
|
|
| --- |
|
|
| ## Moat & Competitive Advantage |
|
|
| ### Technical Moat |
|
|
| 1. **Interior-specific architecture**: No competitor has scene-aware 3D generation |
| 2. **Proprietary dataset**: Curated 85K interior rooms, multi-modal |
| 3. **Training cost barrier**: $65K to replicate, 4 weeks on 32ΓA100 |
| 4. **Integration depth**: Blender/UE/Unity/ComfyUI plugins (network effects) |
|
|
| ### Data Moat |
|
|
| 1. **User-generated scenes**: Every generation improves dataset |
| 2. **Feedback loop**: User edits provide preference signals |
| 3. **Style trends**: Real-time interior design trend detection |
| 4. **Furniture catalog**: Deep embedding of commercial products |
|
|
| ### Network Effects |
|
|
| 1. **Community models**: Users fine-tune and share LoRAs |
| 2. **Template library**: Popular room designs become templates |
| 3. **Plugin ecosystem**: Third-party tools extend capabilities |
|
|
| --- |
|
|
| ## Roadmap |
|
|
| ### Q3 2026 (Launch) |
| - β
Single photo β 3D scene |
| - β
GLB/PLY export |
| - β
Gradio web app |
| - β
Blender plugin |
| - β
Basic editing (move, remove, replace) |
|
|
| ### Q4 2026 (Growth) |
| - π FastAPI backend + API |
| - π Mobile app (iOS/Android) |
| - π AR preview (ARKit / ARCore) |
| - π Furniture recommendations |
| - π Style transfer |
| - π Material swap UI |
|
|
| ### Q1 2027 (Scale) |
| - π ComfyUI nodes |
| - π Unreal Engine / Unity plugins |
| - π Batch generation API |
| - π Enterprise white-label |
| - π Video-to-3D extension |
|
|
| ### Q2 2027 (Maturity) |
| - π Multi-room generation |
| - π Floor plan import |
| - π Lighting design |
| - π HVAC/ electrical visualization |
| - π Construction document generation |
|
|