DispoTree
DispoTree is a B2B real estate wholesale deal management platform connecting wholesalers with institutional buyers (hedge funds). It is the central hub of Dora's Deal Operating System — every skill, integration, and workflow connects to it.
Architecture
| Layer | Technology |
|-------|-----------|
| Backend | Node.js, Express, TypeScript (port 3001) |
| Database | PostgreSQL with Sequelize ORM (Supabase-hosted) |
| Cache | Redis (with in-memory fallback) |
| Vector DB | Pinecone (RAG & memory) |
| Frontend | Next.js 16, React 19, Tailwind CSS 4, shadcn/ui |
| AI/LLM | OpenRouter, OpenAI, LangChain |
| ML | TensorFlow.js |
| E-Signature | DocuSeal (self-hosted at sign.dispotree.com) |
| Voice | Twilio + Telnyx + OpenAI Realtime |
Path: /home/ubuntu/Dispotree/
Live at: https://dispotree.emprezario.com
API Surface
DispoTree exposes 976+ route patterns across 60+ route files under [50+ mount points](raw/articles/dispotree-api-route-map.md). Key categories:
| Category | Routes | Purpose |
|----------|--------|---------|
| Listings | 56 | Create, read, update, delete, enrich, extract, notes, photos, reports |
| Compliance | 155 | State rules, document templates, fraud detection, sanctions |
| Marketplace | 54 | Swipe feed, buy boxes, user management, matching |
| State Compliance | 41 | Per-state rules, disclosures, contact requirements |
| Buyers | 13 | CRUD, match, stats, hot buyers |
| Contracts | 23 | Submissions, auto-send, funnel analytics |
| Pipeline | 14 | Stages, conversion rates, bulk operations |
| Broker | 32 | MSAs, approvals, applications, stats |
| Contacts | 25 | CRUD, tags, bulk operations |
| AI | 18 | Compliance analysis, buy box matching, guardrail checks |
Auto-Enrichment Pipeline
When a listing is created via POST /api/listings or POST /api/listings/admin/create, DispoTree automatically runs:
1. Zillow enrichment — zestimate, rent zestimate, tax history, nearby homes, schools, construction type
2. Skip trace — owner names, ages, associated addresses
3. Comparables — up to 5 recent sales with Zillow photos and Street View
4. Compliance check — state-specific rules (NJ has 8+ rules)
5. Email notification — sends to relevant parties
6. RAG indexing — vectorizes for AI retrieval
7. Broker notification — routes to broker
8. Contacts — creates contact records
Integration Points
- civilview-scraper — daily scrape → property_intel DB → via Dora to DispoTree
- gmail — send deal blasts, monitor replies
- google-drive — organize deal docs
- whatsapp — send deal notifications
- gohighlevel — campaign push + tracking
- docuseal — e-signature contracts
Key Business Concepts
- Deal Pipeline (7 stages): New → Analyzing → Due Diligence → Offered → Negotiating → Under Contract → Closed Won/Lost
- Buy Boxes: Weighted criteria — geography 30%, price 25%, property type 15%, bedrooms 10%
- Compliance (5 pillars): Fraud Detection, Sanctions Screening, Property Verification, Title Verification, State Rules
- Deal Financials: asking_price, ARV, rehab_cost, equity = ARV - price - rehab
- Marketplace: Swipe-style deal feed for buyers (like/pass/offer)
Property Model
The property-model has 165+ fields. Key notes:
contractOcrData(JSONB) holds civilview-scraper raw datamarketDataEnrichment(JSONB) holds Zillow + skip trace results- Scoring fields:
compositeScore,dealTier,sellerMotivationScore - 158 fields are nullable — most fill in during enrichment