AI-Powered Interior Design Platform - Now with 70-80% Faster Performance! β‘
Transform room photos into professional designs using state-of-the-art AI. Upload once, get object detection, segmentation, design advice, and photorealistic redesignsβall automatically.
- π Object Detection - Identify furniture and room elements with YOLOv8 (80% faster!)
- βοΈ Image Segmentation - Isolate design components with MobileSAM (37% less memory)
- π‘ AI Design Advice - Get grounded, actionable recommendations based on detected elements
- π¨ Design Generation - Create photorealistic redesigns with Stable Diffusion (37% less VRAM)
- ποΈ Structure Preservation - Maintains original layout, furniture positions, and camera angle
- β‘ Full Workflow - Process through all services automatically (30-60s)
- π° Cost Estimation - India-specific pricing with DIY vs Professional comparison (NEW!)
- π¨ DIY Guidance - Step-by-step instructions for self-implementation (NEW!)
- πΎ Save & Share - User authentication, design history, and social sharing (NEW!)
- π Shopping Integration - Smart product matching with local brands (Amazon, Flipkart, Urban Ladder)
| Metric | Before | After | Improvement |
|---|---|---|---|
| Detection Speed | 3-5s | 0.5-1s | 80%+ faster β‘ |
| Gateway Latency | 100ms | 60ms | 40% faster β‘ |
| GPU Memory (Detect) | 3GB | 2GB | 33% savings πΎ |
| GPU Memory (Generate) | 8GB | 5GB | 37% savings πΎ |
See Backend Optimization Guide for details.
- Python 3.10+
- Node.js 16+
- MongoDB Atlas account (free tier)
- 15GB disk space, 8GB RAM (reduced from 16GB!)
# 1. Clone repository
git clone https://github.com/Kush05Bhardwaj/Artistry-Redesign.git
cd Artistry-Redesign\artistry-backend
# 2. Create virtual environments and install dependencies
.\manage-dependencies.ps1 -Install
# 3. Start all optimized services
.\start-optimized-services.ps1
# 4. Verify optimizations are active
.\check-optimizations.ps1Services will start on:
- Gateway: http://localhost:8000
- Detect: http://localhost:8001
- Segment: http://localhost:8002
- Generate: http://localhost:8004
cd ../frontend npm install
VITE_GATEWAY_URL=http://localhost:8000 VITE_DETECT_URL=http://localhost:8001 VITE_SEGMENT_URL=http://localhost:8002 VITE_ADVISE_URL=http://localhost:8003 VITE_GENERATE_URL=http://localhost:8004
### Running the Application
**Option 1: Automated (Windows)**
```powershell
# Terminal 1 - Start all backend services
cd artistry-backend
.\start_all_services.ps1
# Terminal 2 - Start frontend
cd frontend
npm run dev
Option 2: Manual
# Start each service in separate terminals
cd artistry-backend/gateway && uvicorn app.main:app --port 8000
cd artistry-backend/detect && uvicorn app.main:app --port 8001
cd artistry-backend/segment && uvicorn app.main:app --port 8002
cd artistry-backend/advise && uvicorn app.main:app --port 8003
cd artistry-backend/generate && uvicorn app.main:app --port 8004
# Start frontend
cd frontend && npm run devAccess: http://localhost:5173
- Navigate to http://localhost:5173/workflow
- Upload a room photo
- Click "Start Complete Workflow"
- Wait ~30-60 seconds
- View all results: detection, segmentation, advice, and generated design
Access services separately via navigation menu:
/detect- Object detection only/segment- Image segmentation only/advise- Design advice only/generate- Design generation only
Correct High-Level Pipeline:
User Image
β
Room understanding (objects + layout + size + lighting)
β
Style intent (modern, minimal, boho, etc.)
β
Image-conditioned generation (img2img with ControlNet)
β
Final redesigned image (same room, new style)
Frontend (React + Vite)
β
Gateway Service (Port 8000)
β
ββββββββ΄βββββββ¬βββββββββββ¬ββββββββββββ
Detect Segment Advise Generate
:8001 :8002 :8003 :8004
5 Microservices:
- Gateway (orchestration + MongoDB)
- Detect (YOLOv8 - room understanding)
- Segment (MobileSAM - mask generation)
- Advise (Vision-LLM - structured recommendations)
- Generate (Stable Diffusion img2img + ControlNet - layout-preserving redesign)
- img2img, not text2img - Original image guides generation
- ControlNet integration - Canny/Depth maps preserve structure
- Structured prompts - Explicit layout preservation instructions
- Grounded recommendations - LLM uses detection data (room_type, objects, lighting)
For detailed guides, API reference, and troubleshooting:
π Complete Documentation β
Quick Links:
# Check all services
cd artistry-backend
.\test_services.ps1
# Test individual service
curl http://localhost:8000/health| Issue | Solution |
|---|---|
| Port already in use | taskkill /PID <PID> /F (Windows) or kill -9 <PID> (Unix) |
| Module not found | Activate venv: .\venv\Scripts\activate |
| CORS error | Check allow_origins in service main.py |
| MongoDB connection | Whitelist IP in MongoDB Atlas |
Full troubleshooting guide: docs/troubleshooting/
| Workflow | CPU | GPU (RTX 3060+) |
|---|---|---|
| Full Workflow | 40-60s | 12-15s |
| Detection | 2-3s | 0.5s |
| Segmentation | 3-5s | 1s |
| Advice | 5-8s | 2s |
| Generation | 30-40s | 8s |
β
Full workflow automation
β
5 microservices
β
MongoDB integration
β
Real-time progress tracking
- User authentication
- Design history & saving
- Before/after comparison
- Room templates & style presets
Contributions welcome! See our Contributing Guide.
1. Fork the repository
2. Create feature branch: git checkout -b feature/amazing
3. Commit changes: git commit -m 'Add feature'
4. Push: git push origin feature/amazing
5. Open Pull RequestMIT License - see LICENSE file.
Third-party models: Review individual licenses for YOLOv8, Stable Diffusion, SAM.
Kushagra Bhardwaj - @Kush05Bhardwaj Sahdev Sharma - @SAHDEVSHARMA
- π Issues
- π¬ Discussions
- π§ kush2012bhardwaj@gmail.com
- π§ sankusharma09@gmail.com