Skip to content

nobitanobi22/SmartHome-Architect-Agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏠 SmartHome Architect Agent

AI-powered home renovation planning with multi-agent orchestration, visual analysis, and photorealistic rendering using Google's Gemini 2.5 Flash

Python 3.10+ Google ADK Gemini License: MIT

🌟 Overview

SmartHome Architect Agent is an intelligent multi-agent system that revolutionizes home renovation planning. Upload photos of your space and inspiration images, and watch as AI agents collaborate to analyze your room, create detailed design plans, estimate budgets, and generate photorealistic renderings of your transformed space.

✨ Key Features

  • πŸ“Έ Visual Intelligence - Upload photos of your current space for AI-powered analysis
  • 🎨 Style Transfer - Share inspiration images to match your desired aesthetic
  • πŸ’° Smart Budgeting - Get realistic cost estimates tailored to your budget constraints
  • πŸ–ΌοΈ Photorealistic Rendering - Generate professional-quality visualizations of your renovated space
  • πŸ”„ Iterative Refinement - Easily modify renderings with natural language ("make cabinets darker")
  • πŸ€– Multi-Agent Orchestration - Specialized AI agents work together seamlessly
  • πŸ“‹ Complete Planning - Timeline, budget breakdown, contractor list, and action checklist

🎯 What It Does

Transform your renovation planning process:

Before SmartHome Architect:

  • ❌ Struggle to visualize renovation outcomes
  • ❌ Uncertain about costs and timelines
  • ❌ Difficult to communicate ideas to contractors
  • ❌ Expensive to hire design consultants

With SmartHome Architect:

  • βœ… See your renovated space in photorealistic detail
  • βœ… Get accurate budget estimates and timelines
  • βœ… Communicate your vision clearly with professional renderings
  • βœ… Plan confidently with AI-powered recommendations

πŸ—οΈ Architecture

Multi-Agent Design Pattern

This project demonstrates Google ADK's Coordinator/Dispatcher Pattern with specialized agents:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         HomeRenovationPlanner (Coordinator)         β”‚
β”‚            Routes requests to specialists            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚          β”‚           β”‚
        β–Ό          β–Ό           β–Ό
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚ Info   β”‚ β”‚Render  β”‚ β”‚   Planning   β”‚
   β”‚ Agent  β”‚ β”‚Editor  β”‚ β”‚   Pipeline   β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
                                 β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚            β”‚            β”‚
                    β–Ό            β–Ό            β–Ό
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚ Visual   β”‚ β”‚ Design  β”‚ β”‚  Project  β”‚
              β”‚Assessor  β”‚ β”‚ Planner β”‚ β”‚Coordinatorβ”‚
              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Agent Responsibilities

Agent Role Key Functions
Coordinator Routes requests Analyzes user intent, delegates to specialists
Info Agent Q&A Answers general questions, provides system info
Render Editor Refinement Modifies existing renderings based on feedback
Visual Assessor Analysis Examines photos, detects room type, identifies issues
Design Planner Specifications Creates detailed design plans with materials & colors
Project Coordinator Execution Generates renderings, timelines, budget breakdowns

Why This Pattern?

  • 🎯 Efficient - Only runs workflows that are needed
  • 🧩 Modular - Each agent has clear, focused responsibilities
  • πŸ“ˆ Scalable - Easy to add new capabilities
  • 🏭 Production-Ready - Real-world agentic system design

πŸš€ Quick Start

Prerequisites

  • Python 3.10 or higher
  • Google API Key (Gemini 2.5 Flash)
  • Google ADK 1.15.0+

Installation

  1. Clone the repository
git clone https://github.com/nobitanobi22/SmartHome-Architect-Agent.git
cd SmartHome-Architect-Agent
  1. Install dependencies
pip install -r requirements.txt
  1. Set up your API key

Get your API key from Google AI Studio

Option A: Environment Variable

export GOOGLE_API_KEY="your_gemini_api_key_here"

Option B: .env File

echo "GOOGLE_API_KEY=your_gemini_api_key_here" > .env
  1. Launch ADK Web Interface
adk web
  1. Open in browser

Navigate to http://localhost:8000 and select "SmartHome Architect Agent"


πŸ’‘ Usage Examples

Example 1: Basic Kitchen Renovation

User: "What can I improve in my kitchen with a $15k budget?"
[Upload photo of current kitchen]

β†’ Agent analyzes space
β†’ Suggests budget-friendly upgrades
β†’ Generates before/after rendering
β†’ Provides timeline and contractor list

Example 2: Style Transfer

User: "Transform my bathroom to look like this"
[Upload photo 1: Current bathroom]
[Upload photo 2: Pinterest inspiration - modern spa bathroom]

β†’ Visual Assessor extracts style from inspiration
β†’ Design Planner applies style to your space
β†’ Project Coordinator generates photorealistic rendering
β†’ Complete budget breakdown provided

Example 3: Text-Only Planning

User: "Renovate my 12x14 bedroom. It has beige carpet and boring white walls. 
I want a cozy modern aesthetic with darker walls, hardwood floors, and 
better lighting. Budget: $10,000"

β†’ Agent creates design plan from description
β†’ Generates rendering based on specifications
β†’ Provides detailed renovation roadmap

Example 4: Iterative Refinement

[After initial rendering is generated]

User: "Make the cabinets cream instead of white"
β†’ Rendering Editor updates cabinet color

User: "Add pendant lights over the island"
β†’ Lighting fixtures added

User: "Change the flooring to lighter oak"
β†’ Floor material updated

All changes versioned automatically (v1, v2, v3...)

πŸ“‹ Sample Prompts

Kitchens:

  • "Small galley kitchen (8x12), oak cabinets from 90s. Want modern farmhouse. Budget: $25k"
  • "Outdated kitchen with dark cabinets and laminate counters. Make it bright and airy. $30k budget"

Bathrooms:

  • "Tiny bathroom (5x8) with cramped tub. Want spa-like retreat with walk-in shower. $15k"
  • "Master bath renovation, upgrade to marble and luxury fixtures. Budget: $35k"

Bedrooms:

  • "Boring 10x12 bedroom needs personality. Thinking accent wall, better lighting. $8k"
  • "Convert spare room into cozy home office. Need built-ins and good lighting. $12k"

Living Rooms:

  • "Open concept living room feels cold. Want warmer colors, better furniture layout. $20k"
  • "1970s living room stuck in time. Modernize everything. Budget: $40k"

πŸ› οΈ Tools & Capabilities

Built-in Tools

Tool Purpose Example
google_search Find renovation costs, materials, trends "search for 2024 quartz countertop prices"
estimate_renovation_cost Calculate costs by room type and scope kitchen, moderate, 120 sq ft
calculate_timeline Estimate project duration cosmetic bathroom β†’ 2-3 weeks
generate_renovation_rendering Create photorealistic images 16:9 aspect ratio, ultra-detailed
edit_renovation_rendering Refine existing renderings "make walls lighter gray"
list_renovation_renderings View all generated versions v1, v2, v3 tracking

Rendering Quality

  • Resolution: 8K quality, photorealistic
  • Aspect Ratios: 16:9 (default), 1:1, 9:16
  • Style: Professional interior photography
  • Lighting: Natural, bright, magazine-quality
  • Version Control: Automatic versioning (v1, v2, v3...)

πŸ“Š How It Works

Step-by-Step Process

1. πŸ“€ User Input
   ↓
2. 🧠 Coordinator Analyzes Intent
   ↓
3. πŸ“Έ Visual Assessor Analyzes Photos
   β”œβ”€ Detects room type automatically
   β”œβ”€ Identifies current condition
   β”œβ”€ Extracts style from inspiration
   └─ Estimates initial costs
   ↓
4. 🎨 Design Planner Creates Specifications
   β”œβ”€ Budget-conscious material selection
   β”œβ”€ Color palette (with exact codes)
   β”œβ”€ Fixture and appliance choices
   └─ Timeline estimation
   ↓
5. πŸ—οΈ Project Coordinator Generates Deliverables
   β”œβ”€ Photorealistic rendering
   β”œβ”€ Detailed budget breakdown
   β”œβ”€ Timeline with phases
   β”œβ”€ Contractor recommendations
   └─ Action checklist
   ↓
6. βœ… Results Delivered to User

Technical Implementation

Frontend: Google ADK Web Interface Backend: Python with Google GenAI SDK Image Generation: Gemini 2.5 Flash (multimodal) Pattern: Coordinator/Dispatcher + Sequential Pipeline State Management: Tool Context with version tracking


🎨 Rendering Examples

Before & After Transformations

Kitchen Renovation

  • Current: Dated oak cabinets, laminate counters, poor lighting
  • Generated: Modern white shakers, quartz counters, recessed lighting
  • Budget: $28,000 | Timeline: 8-10 weeks

Bathroom Upgrade

  • Current: Cramped 5x8 with tub
  • Generated: Spa-like walk-in shower, marble tiles, modern fixtures
  • Budget: $16,500 | Timeline: 4-6 weeks

Bedroom Refresh

  • Current: Boring beige carpet, white walls
  • Generated: Accent wall (navy), hardwood floors, modern lighting
  • Budget: $9,200 | Timeline: 2-3 weeks

πŸ“‚ Project Structure

SmartHome-Architect-Agent/
β”œβ”€β”€ agent.py                 # Main multi-agent orchestration
β”œβ”€β”€ tools.py                 # Image generation & editing tools
β”œβ”€β”€ __init__.py             # Package initialization
β”œβ”€β”€ requirements.txt         # Python dependencies
β”œβ”€β”€ README.md               # This file
β”œβ”€β”€ SETUP.md                # Detailed setup guide
β”œβ”€β”€ USAGE.md                # Advanced usage patterns
β”œβ”€β”€ .env.example            # Environment template
└── .gitignore             # Git exclusions

πŸ”§ Configuration

Cost Estimation Rates (2024)

Costs per square foot:

Room Type Cosmetic Moderate Full Luxury
Kitchen $50-100 $150-250 $300-500 $600-1200
Bathroom $75-125 $200-350 $400-600 $800-1500
Bedroom $30-60 $75-150 $150-300 $400-800
Living Room $40-80 $100-200 $200-400 $500-1000

Timeline Estimates

  • Cosmetic: 1-2 weeks (paint, fixtures, minor updates)
  • Moderate: 3-6 weeks (some structural work)
  • Full: 2-4 months (complete transformation)
  • Luxury: 4-6 months (custom work, high-end finishes)

🀝 Contributing

Contributions are welcome! Here are ways you can help:

  1. πŸ› Report bugs and issues
  2. πŸ’‘ Suggest new features or improvements
  3. πŸ“ Improve documentation
  4. πŸ”§ Submit pull requests

Development Setup

# Fork and clone
git clone https://github.com/YOUR_USERNAME/SmartHome-Architect-Agent.git

# Create feature branch
git checkout -b feature/your-feature-name

# Make changes and test
adk web

# Commit and push
git commit -m "feat: your feature description"
git push origin feature/your-feature-name

# Open pull request

πŸ“š Learn More

Resources

Tutorial

πŸ“Ί Step-by-Step Video Tutorial: Coming soon!

Learn how to build this from scratch with detailed explanations of:

  • Multi-agent orchestration patterns
  • Visual analysis with Gemini 2.5 Flash
  • Image generation and editing workflows
  • State management and version control

πŸ”’ Privacy & Security

  • Images: Uploaded photos are processed in-memory only
  • API Keys: Never logged or stored in conversation history
  • Data: No renovation data saved externally
  • Renderings: Stored locally in session artifacts only

βš™οΈ Troubleshooting

Common Issues

Issue: "GOOGLE_API_KEY not set"

# Solution: Export your API key
export GOOGLE_API_KEY="your_key_here"
# Or create .env file

Issue: "Model not found"

# Solution: Ensure you're using correct model name
model="gemini-2.5-flash"

Issue: "Image generation failed"

# Solution: Check prompt is detailed enough
# Minimum: room type, style, colors, materials

Issue: "Rendering edit doesn't work"

# Solution: Ensure rendering was generated first
# Check version history with list_renovation_renderings

For more troubleshooting, see USAGE.md


πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments

  • Google ADK Team - For the excellent agent development framework
  • Gemini Team - For powerful multimodal AI capabilities
  • Open Source Community - For inspiration and collaboration

πŸ“§ Contact

For questions, suggestions, or collaborations:


πŸ—ΊοΈ Roadmap

Current Version (v1.0)

  • βœ… Multi-agent orchestration (Coordinator/Dispatcher)
  • βœ… Visual analysis of room photos
  • βœ… Style extraction from inspiration images
  • βœ… Photorealistic rendering generation
  • βœ… Iterative rendering refinement
  • βœ… Budget and timeline estimation

Planned Features (v2.0)

  • πŸ”„ 3D room scanning integration
  • πŸ”„ AR preview on mobile devices
  • πŸ”„ Material cost database integration
  • πŸ”„ Contractor matching system
  • πŸ”„ Project management dashboard
  • πŸ”„ Multi-room renovation planning

Future Enhancements (v3.0)

  • πŸ“… Virtual staging for real estate
  • πŸ“… Energy efficiency recommendations
  • πŸ“… Smart home integration suggestions
  • πŸ“… ROI calculators for resale value
  • πŸ“… Community sharing of designs

⭐ If you find this project useful, please star it on GitHub! ⭐

Built with ❀️ using Google ADK and Gemini AI

Report Bug Β· Request Feature Β· Documentation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages