Multi-Agent AI Real Estate Platform
An intelligent real estate platform built with AG-UI Protocol, A2A Protocol, and CopilotKit
Features • Architecture • Quick Start • Deployment • Contributing
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.
- 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
| 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 |
┌─────────────────────────────────────────────────────────────────────────────┐
│ 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 | 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 |
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
| Requirement | Version | Purpose |
|---|---|---|
| Node.js | 20+ | Frontend runtime |
| Python | 3.11+ | Backend runtime |
| Docker | Latest | Containerization |
| Azure CLI | Latest | Azure deployment |
- Azure OpenAI - Agent reasoning
- Azure AI Search - Semantic search
-
Clone the repository
git clone https://github.com/alexandergg/PropertyGenius.git cd PropertyGenius -
Configure environment
cp .env.example .env # Edit .env with your API keys -
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
-
Access the application
- 🌐 UI:
http://localhost:3000 - 🎯 API:
http://localhost:9000
- 🌐 UI:
cd backend
python -m scripts.azure_search_setupdocker-compose -f docker-compose.dev.yml updocker-compose -f docker-compose.prod.yml up -dThis 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| Environment | Branch | Azure Resources |
|---|---|---|
| Development | develop |
paradise-estates-dev |
| Staging | staging |
paradise-estates-staging |
| Production | main |
paradise-estates-prod |
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Commit │────►│ CI │────►│ Build │────►│ Deploy │
│ │ │ (Tests) │ │ (Docker) │ │ (Azure) │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
See DEVOPS.md for detailed deployment documentation.
🔍 "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"
- Property Requirements - Capture buyer preferences
- Financial Pre-Approval - Verify financial capacity
- Offer Approval - Review and approve offers
- Appointment Confirmation - Confirm property visits
# 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:allWe welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please read our Contributing Guidelines for details.
We follow Conventional Commits:
feat: add new feature
fix: resolve bug
docs: update documentation
chore: maintenance tasks
| Component | Status | Coverage |
|---|---|---|
| Frontend | ✅ Stable | - |
| Backend | ✅ Stable | 70%+ |
| Infrastructure | ✅ Stable | - |
| CI/CD | ✅ Active | - |
- 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
- Framework: Next.js 14 (App Router)
- UI: React, Tailwind CSS
- AI Integration: CopilotKit
- State: React Context
- Framework: FastAPI (Python)
- AI/ML: Azure OpenAI, LangChain
- Search: Azure AI Search
- Protocol: A2A (Agent-to-Agent)
- Cloud: Microsoft Azure
- Containers: Azure Container Apps
- IaC: Bicep
- CI/CD: GitHub Actions
This project is licensed under the MIT License - see the LICENSE file for details.
- CopilotKit - Generative UI framework
- AG-UI Protocol - Agent-to-UI communication
- A2A Protocol - Agent-to-Agent communication
- Azure AI Services - AI infrastructure
Built with ❤️ by Alexander Gonzalez
