Skip to content

alexandergg/PropertyGenius

Repository files navigation

Paradise Estates RD

🏠 Paradise Estates RD

Multi-Agent AI Real Estate Platform
An intelligent real estate platform built with AG-UI Protocol, A2A Protocol, and CopilotKit

FeaturesArchitectureQuick StartDeploymentContributing

Status Python Node.js License PRs Welcome

CI Status CD Status


📋 Overview

Paradise Estates RD is a cutting-edge multi-agent AI system designed for the real estate industry. It leverages the power of Large Language Models (LLMs), semantic search, and agentic architectures to provide an intelligent, conversational experience for property search, comparison, financial simulation, and transaction management.

🎯 Key Highlights

  • Multi-Agent Architecture: 6 specialized AI agents working in coordination
  • Semantic Property Search: Powered by Azure AI Search with vector embeddings
  • Human-in-the-Loop: Critical decision checkpoints for user approval
  • Real-time Streaming: Live agent responses via AG-UI Protocol
  • Enterprise-Ready: Deployed on Azure Container Apps with full CI/CD

✨ Features

Feature Description
🔍 Semantic Search Natural language property search with Azure AI Search vector capabilities
🤖 Multi-Agent Orchestration Specialized agents coordinated via A2A Protocol
💬 Generative UI Dynamic interface generation with CopilotKit
👤 Human-in-the-Loop Approval workflows for critical decisions
⚖️ Smart Comparison AI-powered multi-property comparison matrix
💰 Financial Simulation Mortgage calculations and affordability analysis
📝 Intelligent Offers Data-driven offer generation based on market analysis
📅 Appointment Scheduling Automated booking with real estate agents

🏗️ Architecture

┌─────────────────────────────────────────────────────────────────────────────┐
│                              CLIENT LAYER                                    │
│  ┌───────────────────────────────────────────────────────────────────────┐  │
│  │                    Next.js 14 + CopilotKit                            │  │
│  │                    (Generative UI Components)                         │  │
│  └───────────────────────────────────┬───────────────────────────────────┘  │
└──────────────────────────────────────┼──────────────────────────────────────┘
                                       │ AG-UI Protocol (SSE)
┌──────────────────────────────────────┼──────────────────────────────────────┐
│                           ORCHESTRATION LAYER                                │
│  ┌───────────────────────────────────┴───────────────────────────────────┐  │
│  │                     A2A Orchestrator (FastAPI)                        │  │
│  │                     - Request routing & coordination                  │  │
│  │                     - Agent discovery & health checks                 │  │
│  │                     - Response aggregation                            │  │
│  └───────────────────────────────────┬───────────────────────────────────┘  │
└──────────────────────────────────────┼──────────────────────────────────────┘
                                       │ A2A Protocol (JSON-RPC)
┌──────────────────────────────────────┼──────────────────────────────────────┐
│                              AGENT LAYER                                     │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐           │
│  │   Search    │ │    Zone     │ │   Compare   │ │   Contact   │           │
│  │   Agent     │ │   Agent     │ │   Agent     │ │   Agent     │           │
│  │  (Python)   │ │  (Python)   │ │  (Python)   │ │  (Python)   │           │
│  └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘           │
└─────────┼───────────────┼───────────────┼───────────────┼───────────────────┘
          │               │               │               │
┌─────────┼───────────────┼───────────────┼───────────────┼───────────────────┐
│         │          EXTERNAL SERVICES    │               │                    │
│  ┌──────┴──────┐                 ┌──────┴───────┐                           │
│  │ Azure AI    │                 │ Azure OpenAI │                           │
│  │ Search      │                 │ GPT-4o       │                           │
│  └─────────────┘                 └──────────────┘                           │
└─────────────────────────────────────────────────────────────────────────────┘

Agent Responsibilities

Agent Responsibility Key Capabilities
Orchestrator Coordination & routing Request parsing, agent discovery, response aggregation
Search Agent Property discovery Semantic search, filtering, ranking
Zone Agent Location intelligence Neighborhood analysis, amenities, safety scores
Compare Agent Property comparison Multi-property matrix, pros/cons analysis
Contact Agent Appointment management Scheduling, notifications, calendar integration

📁 Project Structure

paradise-estates-rd/
├── 📂 frontend/                 # Next.js 14 Application
│   ├── app/                     # App Router
│   │   ├── api/copilotkit/      # CopilotKit API endpoint
│   │   └── page.tsx             # Main page
│   ├── components/              # React Components
│   │   ├── a2a/                 # A2A protocol components
│   │   ├── feed/                # Activity feed
│   │   ├── forms/               # HITL forms
│   │   └── hitl/                # Human-in-the-loop
│   └── lib/                     # Utilities
│
├── 📂 backend/                  # Python Backend
│   ├── agents/                  # Specialized A2A Agents
│   │   ├── property_search_agent.py
│   │   ├── zone_agent.py
│   │   ├── compare_agent.py
│   │   └── contact_agent.py
│   ├── core/                    # Shared modules
│   │   ├── azure_search_client.py
│   │   └── property_data.py
│   ├── tests/                   # Test suite
│   └── orchestrator.py          # Main orchestrator
│
├── 📂 infra/                    # Infrastructure as Code
│   ├── main.bicep               # Azure Bicep templates
│   └── modules/                 # Bicep modules
│
├── 📂 .github/                  # GitHub Configuration
│   ├── workflows/               # CI/CD pipelines
│   └── CODEOWNERS               # Code ownership
│
├── docker-compose.yml           # Local development
├── azure.yaml                   # Azure Developer CLI config
└── DEVOPS.md                    # DevOps documentation

🚀 Quick Start

Prerequisites

Requirement Version Purpose
Node.js 20+ Frontend runtime
Python 3.11+ Backend runtime
Docker Latest Containerization
Azure CLI Latest Azure deployment

API Keys Required

Local Development

  1. Clone the repository

    git clone https://github.com/alexandergg/PropertyGenius.git
    cd PropertyGenius
  2. Configure environment

    cp .env.example .env
    # Edit .env with your API keys
  3. Start with Docker Compose (Recommended)

    docker-compose up -d

    Or manually:

    # Frontend
    cd frontend && npm install && npm run dev
    
    # Backend (in separate terminal)
    cd backend && pip install -e ".[dev]" && python orchestrator.py
  4. Access the application

    • 🌐 UI: http://localhost:3000
    • 🎯 API: http://localhost:9000

Setup Azure AI Search (First time)

cd backend
python -m scripts.azure_search_setup

🐳 Docker

Development

docker-compose -f docker-compose.dev.yml up

Production

docker-compose -f docker-compose.prod.yml up -d

☁️ Deployment

Azure Container Apps (Recommended)

This project is configured for deployment to Azure Container Apps using Azure Developer CLI (azd).

# Login to Azure
azd auth login

# Provision infrastructure and deploy
azd up

Environments

Environment Branch Azure Resources
Development develop paradise-estates-dev
Staging staging paradise-estates-staging
Production main paradise-estates-prod

CI/CD Pipeline

┌─────────────┐     ┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   Commit    │────►│     CI      │────►│    Build    │────►│   Deploy    │
│             │     │  (Tests)    │     │  (Docker)   │     │  (Azure)    │
└─────────────┘     └─────────────┘     └─────────────┘     └─────────────┘

See DEVOPS.md for detailed deployment documentation.


💬 Usage Examples

Natural Language Queries

🔍 "Find me a luxury villa in Cap Cana with ocean view"
🏠 "I'm looking for a 3-bedroom apartment in Santo Domingo under $500k"
⚖️ "Compare properties PC-001 and PC-002"
📅 "Schedule a visit for the beachfront property tomorrow at 3pm"

Human-in-the-Loop Workflows

  1. Property Requirements - Capture buyer preferences
  2. Financial Pre-Approval - Verify financial capacity
  3. Offer Approval - Review and approve offers
  4. Appointment Confirmation - Confirm property visits

🧪 Testing

# Backend tests
cd backend
pytest tests/ -v --cov=agents --cov=core

# Frontend tests
cd frontend
npm test

# Full test suite with coverage
npm run test:all

🤝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please read our Contributing Guidelines for details.

Commit Convention

We follow Conventional Commits:

feat: add new feature
fix: resolve bug
docs: update documentation
chore: maintenance tasks

📊 Project Status

Component Status Coverage
Frontend ✅ Stable -
Backend ✅ Stable 70%+
Infrastructure ✅ Stable -
CI/CD ✅ Active -

Roadmap

  • Multi-agent orchestration
  • Azure AI Search integration
  • Human-in-the-loop workflows
  • CI/CD pipeline
  • Multi-language support
  • Mobile responsive improvements
  • Advanced analytics dashboard
  • Integration with external MLS systems

🛠️ Tech Stack

Frontend

  • Framework: Next.js 14 (App Router)
  • UI: React, Tailwind CSS
  • AI Integration: CopilotKit
  • State: React Context

Backend

  • Framework: FastAPI (Python)
  • AI/ML: Azure OpenAI, LangChain
  • Search: Azure AI Search
  • Protocol: A2A (Agent-to-Agent)

Infrastructure

  • Cloud: Microsoft Azure
  • Containers: Azure Container Apps
  • IaC: Bicep
  • CI/CD: GitHub Actions

📝 License

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


🙏 Acknowledgments


Built with ❤️ by Alexander Gonzalez

Report BugRequest Feature

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors