ULDA Lead-360 — Enterprise Gap Analysis & Roadmap

What’s missing to make the platform attractive, intelligent, and production-ready

Senior Enterprise Architect Review

2026-07-16

1. Executive Summary

ULDA today is a strong data foundation: one immutable master identity per lead (1.07M), an event-sourced activity ledger with automatic first/last-channel tracking, a 75-field Lead-360 record, serviceability + compliance data, a premium filterable grid, and a nightly off-host backup. The data layer is enterprise-grade.

What’s missing is the layer above the data — the dashboards, workflows, AI, and governance that turn a clean database into a product sales and management actually run on. This review inventories those gaps across 10 domains and prioritizes them by business impact × implementation effort.


2. Gap Inventory by Domain

Impact: 🟢 high · 🟡 medium · ⚪ low · Effort: S/M/L

2.1 Dashboards & Visualization

Missing Why it matters Impact Effort
Executive dashboard (KPIs, trends, funnel) Leadership has no single pane; decisions run on gut 🟢 M
Sales funnel / conversion viz (lead→contacted→booked→sold) See where leads leak 🟢 M
Source/campaign ROI dashboard Kill losing sources, scale winners 🟢 M (needs order data)
Geographic heat map (state/county serviceability + leads) Territory planning, fiber targeting 🟡 M
Agent leaderboard / activity dashboard Performance visibility & motivation 🟡 S
Cohort & trend charts (leads by week/source/score) Spot momentum & decay 🟡 S
Real-time ops board (today’s dials/texts/replies) Floor management 🟡 M

2.2 Workflows & Automation

Missing Why Impact Effort
Lead assignment / routing engine (by territory/score/round-robin) Leads sit unassigned; no ownership 🟢 M
Cadence / follow-up automation (next-touch scheduling) Missed follow-ups = lost deals 🟢 M
Lifecycle state machine (stages + transitions + SLAs) No governed pipeline 🟢 M
Event alerts (hot reply, high-intent, litigator hit) React in the moment 🟡 S
Auto-enrichment orchestration (fill gaps on ingest) last_enrichment_* still empty 🟡 M
Reverse-ETL activation (segments → dialer/SMS/Instantly) Contract exists, not running 🟡 M
Dedup auto-merge workflow (302K review queue) Duplicate identities linger 🟡 M

2.3 KPIs & Metrics

Missing Why Impact Effort
Governed KPI framework — speed-to-lead, contact rate, conversion %, cost-per-lead, cost-per-acquisition, MRR/ARR, source ROI, agent productivity, list decay You can’t manage what you don’t measure 🟢 M
SLA tracking (time-to-first-touch, follow-up adherence) Enforce responsiveness 🟡 S
Data-freshness & coverage KPIs Trust the data S

2.4 AI & Intelligence

Missing Why Impact Effort
Full pgvector embeddings (currently 200-row sample) Semantic “similar leads” at scale 🟢 M (replica)
ML lead-scoring v2 (trained on outcomes) Heuristic score → real propensity 🟢 L
Lookalike / audience modeling Find more of your best leads 🟢 L
Next-Best-Action (which channel/offer/time) Lift conversion per touch 🟡 L
NL→SQL query assistant (“show TX fiber litigators”) Self-serve for non-technical users + AI agents 🟢 M
LLM enrichment/summarization (lead brief, call-notes) Faster context for reps 🟡 M
Anomaly/drift detection (source quality, dup spikes) Catch data problems early 🟡 M
Churn / re-engagement propensity Reactivate dormant leads 🟡 L

2.5 Security Controls

Missing Why Impact Effort
Least-privilege app role (app runs as superuser now) Breach blast-radius = total 🟢 S
RLS / role-scoped access (agent sees own leads) Data minimization 🟡 M
Secrets vault (passwords currently file-based) Credential theft risk 🟡 M
MFA + SSO on the apps Account takeover defense 🟡 M
PII masking / field-level encryption for non-privileged roles Compliance 🟡 M
Audit-log UI + immutable trail Forensics & SOC-2 🟡 M

2.6 Governance & Compliance

Missing Why Impact Effort
Consent gate enforced at send-time (view exists, not wired) TCPA fines / litigators 🟢 S
Data catalog + lineage UI (partial today) Discoverability, trust 🟡 M
Data-quality dashboard (DQ findings, trends) Ongoing quality mgmt 🟡 S
DSAR / right-to-erasure automation Legal obligation 🟡 M
Retention & archival policy (events grow forever) Cost + compliance 🟡 M
Data contracts per source Stop bad data at the door 🟡 M

2.7 Reporting Modules

Missing Why Impact Effort
Scheduled / emailed reports (daily digest, weekly ROI) Push insight to inboxes 🟢 S
Export center (async large exports, history, PII gating) Ops need bulk data safely 🟡 M
Self-serve report builder (pick fields → chart/table) Reduce ad-hoc requests 🟡 L

2.8 UX Enhancements

Missing Why Impact Effort
Saved filter presets (table ready, not wired) Power-user speed 🟢 S
Bulk actions (assign, tag, export, add-to-campaign) Operate at scale 🟢 M
Lead timeline visualization (journey as a vertical timeline) Instant context 🟡 S
Inline edit + column customization Personalization 🟡 M
Global command palette / quick nav Speed S
Notifications center Don’t miss events 🟡 M

2.9 Data Platform / Ops

Missing Why Impact Effort
Read replica + PITR (single host, ~24h RPO) DR / scale-out reads 🟢 L (needs host)
External observability (Prometheus/Grafana + alerts) Operate blind today 🟡 M
Migration framework (added baseline table; adopt Sqitch) Reproducible change mgmt 🟡 S
Partition automation (pg_partman) Event scale S
Order/revenue integration (65K paysheet rows unlinked) Close the ROI loop 🟢 M

2.10 Integration & Extensibility

Missing Why Impact Effort
Public API + API keys (for partners/tools) Ecosystem & automation 🟡 M
Webhook/event bus (lead events → subscribers) Real-time integrations 🟡 M
b2c/ad_leads real-time CDC (batch today) Freshness M

3. Prioritization — Impact × Effort

quadrantChart
  title Business Impact vs Implementation Effort
  x-axis Low Effort --> High Effort
  y-axis Low Impact --> High Impact
  quadrant-1 Big Bets (plan)
  quadrant-2 Quick Wins (do now)
  quadrant-3 Fill-ins (later)
  quadrant-4 Money Pits (defer)
  Least-privilege role: [0.15, 0.9]
  Consent gate wiring: [0.15, 0.85]
  Saved presets: [0.2, 0.7]
  Agent leaderboard: [0.25, 0.6]
  Scheduled reports: [0.25, 0.72]
  Exec dashboard: [0.5, 0.92]
  Lead routing: [0.55, 0.9]
  KPI framework: [0.5, 0.85]
  Order/revenue integ: [0.55, 0.88]
  NL to SQL assistant: [0.5, 0.78]
  Full embeddings: [0.6, 0.75]
  Read replica/PITR: [0.8, 0.85]
  ML scoring v2: [0.85, 0.8]
  Self-serve report builder: [0.85, 0.55]
  RLS + secrets vault: [0.6, 0.6]

4. Prioritized Roadmap

P0 — Quick Wins (this sprint · high impact, low effort): 1. Least-privilege app role (drop superuser) — security. 2. Wire the consent gate into dialer/SMS — TCPA. 3. Saved filter presets (table ready) + lead timeline viz — UX. 4. Scheduled digest report (daily leads/activity email) — reporting. 5. Agent leaderboard — visibility.

P1 — Big Bets (next quarter · high impact, medium effort): 6. Executive + funnel dashboard with the governed KPI framework. 7. Lead assignment/routing + cadence workflow engine. 8. Order/revenue integration (accounting_db.paysheet_lines) → close the ROI loop. 9. NL→SQL assistant (self-serve + AI-agent querying). 10. Full pgvector embeddings + semantic “similar leads”.

P2 — Foundations (parallel · medium impact): 11. Read replica → PITR + OLAP offload; external observability. 12. RLS + secrets vault + audit-log UI; DSAR + retention policy. 13. Reverse-ETL activation live; auto-enrichment orchestration. 14. Bulk actions, export center, saved views.

P3 — Strategic (later · high effort): 15. ML scoring v2 / lookalike / next-best-action. 16. Self-serve report builder; public API + webhook bus.


5. The Top 5 to Do Next

  1. Executive + KPI dashboard — turns the clean data into decisions (highest visible ROI).
  2. Lead routing + cadence workflow — converts stored leads into worked leads.
  3. Least-privilege role + consent-gate wiring — closes the two live risk items (security + legal), both low effort.
  4. Order/revenue integration — unlocks source/agent ROI, the CFO question.
  5. NL→SQL + full embeddings — makes the platform intelligent and self-serve for humans and AI agents.

Bottom line: the database is done right; the next dollar of effort belongs above the data — dashboards, workflows, and AI — plus closing the two live risk items. That is what turns ULDA from an excellent lead database into an indispensable lead platform.