PHII Labs
Inventory CRM: 8,000 Units
2025PropTech

Inventory CRM: 8,000 Units

Problem

~8,000 units tracked in Excel and developer PDFs; statuses out of date

Solution

Interactive floor plans, live statuses, and an AI assistant that proposes changes for approval

Result

  • Finding free units: ~2 h/day → ~10 sec
  • Status accuracy ~60% → ~98%
  • Deals lost to stale data: ~3/mo → almost zero

Stack

Next.jsPostgreSQLFastifyLLM agentBackblaze

Real estate inventory CRM: 8,000 units, one screen

A Dubai agency managed around 8,000 units across spreadsheets and developer PDFs. PHII Labs turned that into one system with interactive floor plans, live statuses, and an AI assistant that reads the database and prepares changes for confirmation

Context

The agency's inventory lived in Excel sheets and floor-plan PDFs from developers. Statuses were updated by hand. A unit could be free in reality and "occupied" in the sheet — and nobody noticed until a client called a month later asking why no one had called back

Showing a client what was available on a floor meant opening a PDF, counting units by hand, switching to Excel, and checking each status. Two screens, five minutes per question. Owner contacts were in agents' phones and notes, so a week later nobody remembered who had called whom or what was agreed

Problem

  1. Search was slow. Agents spent up to two hours a day finding which units were actually free
  2. Data was stale. Only about 60% of statuses matched reality, and around three deals a month were lost because of outdated data
  3. Nothing was connected. Plans, statuses, prices, and owner contacts lived in different places, so every answer required manual cross-checking

What was built

  • Interactive floor plans. Every unit is a shape on the plan, colored by status: free, occupied, reserved. Click a unit to see its area, price, owner contact, and who changed its status last and when
  • Editable plans. Units can be moved and reshaped on the plan; changes save instantly
  • Live statuses with an audit trail. When a tenant moves out or a unit frees up, the status changes and the change is logged with who made it
  • Ten-second filters. "What's free on floor 12 of building B" is one filter, not a spreadsheet hunt
  • Contacts in one place. Each unit has its owner with phone, email and WhatsApp — call, message, or send a brochure in one click
  • Developer data import. Exports from developers (Sobha, Creek Vista, Riverside) are parsed into buildings, floors and units from prepared files
  • AI assistant on top of the inventory. Brokers ask in plain language — "1BR for sale in The Waves A under 2M, up to floor 22" — and get exact matches or clearly labeled alternatives. Asked to change a unit, the assistant never writes directly: it shows a before/after diff and lists the missing contract details (lease dates, Ejari number, deposit, cheque schedule) before anything is saved

Results

  • Finding free units: ~2 hours a day → about 10 seconds
  • Status accuracy: ~60% → ~98%
  • Deals lost to stale data: ~3 a month → almost zero
  • Agents stopped searching and started seeing everything on one screen

Takeaway

In real estate, the expensive failure is not a missing feature — it is a unit that was free while the sheet said it wasn't. Putting plans, statuses and contacts in one place fixed that first. The AI assistant only became useful after the data underneath it was trustworthy, and it stays safe because every change it proposes waits for a human to confirm

Want something similar?

Share your workflow and we will show where AI systems can make it stronger