Bilaad AI is an enterprise-grade, investor-focused real estate RAG (Retrieval-Augmented Generation) prototype. It connects high-net-worth investors with the sustainable, destination-themed property portfolio of Bilaad Realty in Abuja, Nigeria.
# Bilaad AI: Luxury Real Estate RAG Portfolio Assistant
Bilaad AI is an enterprise-grade, investor-focused real estate RAG (Retrieval-Augmented Generation) prototype. It connects high-net-worth investors with the sustainable, destination-themed property portfolio of **Bilaad Realty** in Abuja, Nigeria.
The application features a modern dual-theme workstation dashboard built with **Next.js 15 (App Router, Turbopack)** and a resilient asynchronous search agent built with **FastAPI**, **LangGraph**, and **Supabase (pgvector)**.
---
## 🏗️ Architecture Overview
The project is structured as a monorepo separated into two decoupled components:
```mermaid
graph TD
A[Next.js 15 Workstation Client] |HTTP /chat| B[FastAPI Backend Server]
B -->|State Machine Execution| C[LangGraph Agent Engine]
C -->|Query Embeddings| D[Google Gemini API]
C -->|pgvector Query| E[Supabase Vector Database]
B -->|Live Web Crawler| F[Bilaad WordPress Site]
```
### 1. Backend Workstation (`/backend`)
* **FastAPI Server**: Lightweight API controller exposing `/chat` and `/ingest` endpoints.
* **LangGraph Agent Engine**: Formulates retrieval-augmented system responses by checking user intents and dynamically routing logic between semantic searches and structural component renders.
* **Supabase pgvector Adaptor**: Implements low-latency vector similarity searching using Google's `gemini-embedding-001` model (dimension 768).
* **Robust Ingestion Pipeline**: Live WordPress site scraping merged with high-fidelity, hand-verified property specifications. Features batch-10 upload sizing and 20-second pauses to guarantee safety under strict Gemini Free Tier rate limits (100 RPM).
### 2. Frontend Workstation (`/frontend`)
* **Next.js 15 (App Router, TS)**: Optimized production client built for performance and speed.
* **Luxury CSS Workspace Layout**: Ivory-Alabaster (light) and Obsidian-Charcoal (dark) color systems utilizing a custom glassmorphism style sheet.
* **Split-Pane Workstation**: Multi-colum …