You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AI Construction & Property Management Intelligence Platform
Two domains. One platform. Document-aware AI that works like an expert who never sleeps.
Upload contracts, drawings, RFIs, daily reports, leases, and maintenance requests — get instant insights, risk flags, delay claim detection, approval workflows, and ready-to-send documents. Built for how construction and property management actually works.
What PRISM Does
Most construction and property management software is just digital paperwork. PRISM is different — it reads your documents, understands your project, and acts like an expert assistant with full context of your entire document stack.
Construction side: Upload a contract and PRISM extracts every obligation, deadline, and risk clause. Upload a daily report and it writes the formal narrative, flags potential delay claims, and detects weather impact events. Upload an RFI and it drafts a professional response referencing your indexed documents.
Property management side: Upload a lease PDF and PRISM extracts every key term — rent escalations, CAM caps, renewal options, TI allowances. Score tenant creditworthiness with AI. Forecast NOI and cap rates. Track maintenance orders with AI diagnosis. Everything that gets submitted — leases, high-priority maintenance, CAM bills, NOI reports, high-risk tenants — flows through a human approval queue before activation.
One-click generation of RFI responses, delay notices, change order assessments, and weekly summaries
Property Management — Lease Abstraction
Capability
What it does
AI Lease Parsing
Upload any lease PDF — extracts rent, escalations, CAM cap, TI allowance, renewal options, termination clauses
Key Term Summary
Plain-English summary of every lease alongside the raw extracted data
Approval Gate
Every abstracted lease is submitted to the Approval Queue before status becomes Active
Status Tracking
Pending Approval → Active / Rejected — shown inline on each lease row
Property Management — Tenant Risk Scoring
Capability
What it does
AI Credit Assessment
Scores each tenant across 5 risk dimensions — payment history, financial stability, business type, lease terms, references
Risk Level Classification
Low / Medium / High with detailed narrative
Auto-Escalation
High-risk tenants are automatically submitted to the Approval Queue for supervisor review
Manual Escalation
One-click escalate button for any tenant flagged as high risk without a pending approval
Property Management — NOI Forecaster
Capability
What it does
NOI Calculation
Gross potential rent → vacancy loss → other income → effective gross → operating expenses → NOI
Cap Rate Analysis
Automatic cap rate with AI performance benchmarking
AI Recommendations
Actionable suggestions to improve NOI based on the property's numbers
Approval Gate
Every NOI report requires supervisor approval before it can be Published
Property Management — Maintenance Orders
Capability
What it does
Work Order Tracking
Full maintenance lifecycle — Open → In Progress → Resolved with vendor assignment and cost tracking
AI Diagnosis
AI assesses the issue, estimates root cause, and recommends resolution approach
Dispatch Approval
High-priority maintenance orders require dispatch approval before work begins
Approval Status
Awaiting Dispatch / Dispatch Approved / Dispatch Rejected — shown inline on each order
Property Management — CAM Reconciliation
Capability
What it does
Pro-Rata Allocation
Calculates each tenant's CAM share based on leasable area
Cap Enforcement
Applies CAM cap percentages and flags tenants over cap
AI Summary
Narrative explaining the reconciliation, variances, and billing recommendations
Approval Gate
Every CAM reconciliation requires supervisor sign-off before billing goes out
Property Management — Unit Turnover
Capability
What it does
25-Point Checklist
Covers all rooms, systems, appliances, and exterior items
Auto-Save on Toggle
Every checkbox change is debounced 800ms and persisted to Supabase — no Save button needed
Multi-Unit Management
Switch between units; each unit's checklist is independently saved and loaded from DB
Completion Tracking
Saved units strip shows Complete (green) or In Progress (amber) status across all units
Notes
Free-text notes field per unit — also auto-saved
Human Guardrails — Approval Queue
Every significant action flows through a supervisor approval layer. No AI decision takes effect without a human sign-off.
Trigger
Type
Approval Required
Status Transition
Lease abstracted
lease
Supervisor
Pending → Active / Rejected
High-priority maintenance
maintenance
Dispatch manager
Pending → Dispatch Approved / Open
CAM reconciliation run
cam
Supervisor
Pending → Finalized / Draft
NOI report generated
noi
Supervisor
Pending → Published / Draft
High-risk tenant added
tenant
Supervisor
Pending → Reviewed / Action Required
The Approval Queue page shows:
Stats cards: Total · Pending · Approved · Rejected
Pending tab with full context cards (type, title, description, submitted by, date, reference ID)
Approve / Reject with a notes modal — review notes are stored and shown on the record
History tab with all resolved approvals and reviewer identity + timestamp
AI Copilot — Streaming Multi-Agent Chat
Every page has a floating AI Copilot panel powered by a LangGraph multi-agent system with real-time token streaming.
Feature
Detail
Multi-Agent Routing
Keyword supervisor routes to the right specialist — SiteOps, RFI & Contracts, Schedule & Punch, Risk & Analysis, or Property Management
SSE Token Streaming
Token-by-token output via Server-Sent Events — text appears as it generates, no waiting
Live Tool Chips
Yellow pulsing chips show tools being called in real time; turn green when complete
Smart Model Routing
Simple questions → LLaMA 3.1 8B (fast). Complex analysis → LLaMA 3.3 70B. Falls back automatically on rate limit
Cross-Session Memory
Key facts extracted from conversations and stored in Supabase — surfaced as context in future sessions
Semantic Cache
Repeat questions answered instantly from cache (0.92 cosine similarity threshold) — no LLM call needed
Feedback Buttons
👍 / 👎 on every response — stored in Supabase for continuous evaluation
RAG Integration
All specialists can call search_documents to answer questions grounded in your uploaded documents
Voice Agent
🎙 mic button → speak your question → agent answers → 🔊 browser reads response aloud (Web Speech API, Chrome/Edge)
Write Tools
Agents can create records directly — create_maintenance_request (unit, category, priority), create_rfi (subject, assigned_to, priority, due_date) — Pydantic-validated schemas, results visible in UI immediately
Specialists:
Agent
Handles
SiteOps
Daily logs, weather risk, crew, project status
RFI & Contracts
RFIs, change orders, obligations, submittals
Schedule & Punch
Tasks, overdue items, punch list, progress
Risk & Analysis
Weather impact, delay claims, compliance, general questions
Property
Leases, tenants, maintenance, NOI, CAM
Guardrails — Safe AI at Every Layer
Four layers of protection run on every input and output before the agent ever sees a message.
Layer
What it catches
Prompt Injection Detection
16 regex patterns — jailbreaks, role-play overrides, "ignore previous instructions", DAN, system prompt leaks
Topic Guardrail
Off-domain questions (recipes, politics, harmful content, weapons) are rejected with a clear message
Output Moderation
Harmful content patterns blocked on the way out — with construction-safe exceptions (e.g. "explosive" in a demolition context is fine)
JSON Schema Validation
Every agent response coerced to AgentResponse Pydantic schema — malformed outputs never reach the UI
RAG Pipeline — Document-Grounded Answers
Component
Detail
Embeddings
fastembed with BAAI/bge-small-en-v1.5 (384-dim, ONNX, CPU-only — no GPU needed)
Vector Store
PGVector in Supabase — document_chunks table with pgvector extension
Chunking
Smart chunking: section-aware for contracts, paragraph-aware for reports, 512-token overlap fallback
Hybrid Retrieval
70% cosine similarity + 30% BM25 keyword score — best of both worlds
Reranking
Cohere Rerank API (optional) for precision boost; falls back to hybrid score if key absent
Semantic Cache
Cache hits at ≥0.92 cosine similarity skip the LLM entirely — 20-minute TTL, auto-invalidated on any write operation
Cross-Session Memory
LLM extracts key facts after each answer and stores them in agent_memory — recalled by future sessions
Evaluation & Observability
Feature
Detail
RAGAS Metrics
faithfulness, answer_relevancy, context_precision — run with python -m eval.ragas_eval --mlflow
Benchmark Runner
20 Q&A pairs across all 5 agents — scores routing accuracy, tool accuracy, keyword hit rate, latency
MLflow Tracking
--mlflow flag on both eval scripts logs all metrics to prism-benchmark / prism-ragas experiments — view at mlflow ui
DVC Pipelines
dvc repro runs the full eval pipeline (benchmark → ragas) and tracks data + output versions
Local Trace Logging
Every agent run logged to agent_traces in Supabase — latency, model, tools called, estimated cost
Human Feedback
POST /eval/feedback stores 👍/👎 with session and message ID — queryable via GET /eval/feedback/{session_id}
LangSmith
Set LANGCHAIN_TRACING_V2=true + LANGCHAIN_API_KEY in .env for full LangSmith trace dashboard
E2E Tests
25 Playwright tests covering auth, navigation, copilot, and RFI — run with npm run test:e2e from frontend/
MCP Integration — Talk to Your Project in Claude Desktop
This branch adds an MCP (Model Context Protocol) server so Claude Desktop can call all of PRISM's construction AI tools directly in conversation — no UI required.
"Create an RFI asking about the rebar spec at grid line C4""Assess this change order — $45,000 for unforeseen rock excavation""What does the contract say about liquidated damages?""Predict delay risk for Foundation, Structure, and MEP phases"
25 tests covering auth, sidebar navigation, AI Copilot, and RFI Register.
cd frontend
npm run test:e2e # headless, all tests
npm run test:e2e:ui # Playwright UI mode (interactive)
npm run test:e2e:report # open last HTML report
Against production:
$env:PLAYWRIGHT_BASE_URL="https://your-app.web.app"$env:CI="true"
npx playwright test
Eval Pipeline (MLflow + DVC)
cd backend
# Run benchmark only
python -m eval.runner --session_id demo --mlflow
# Run RAGAS only
python -m eval.ragas_eval --session_id demo --mlflow
# Run full pipeline (both stages, tracks data versions)
dvc repro
# View metrics in MLflow UI
mlflow ui # open http://localhost:5000
MCP Setup
1. Start the PRISM backend
cd backend
venv\Scripts\activate
uvicorn main:app --reload --port 8000