One visual layer over the whole TAM machine.
Every source, every business, every enrichment cache and channel feeds one hub-and-spoke flywheel. This is the live map of the repo and the Supabase prospects schema.
Sources flow into one hub, then back out through the spokes
2,621,193 provenance links across 2,207,619 businesses · 1,522,551 per-metro channel-state rows · 4,040 competitor tenants in the conquest layer.
Channel-routable pools
Eligibility lives in business_channel_state flags, picked up on each routing run.
Verified emails (ZeroBounce-passed).
v_routable_cold_emailMailable street addresses.
v_routable_direct_mailHashed custom-audience matches.
v_route_meta_audience_pendingCustomer-match eligible.
v_route_google_audience_pendingDialable phone numbers.
v_routable_cold_callRingless voicemail eligible.
v_route_cold_call_pendingThe prospects schema
Supabase warespace-data · schema prospects
Source tables
46src_*Raw pulls, ingested statewide and filtered at query time.
Enrichment caches
22enr_*Pay-once lookup caches. Re-check before spending again.
Core hub
40tablesCanonical identity, provenance, channel state, conquest layer.
Live views
80+v_*The system of record output. No master CSVs.
Explore the dashboard
Which channels are live in which metro.
The auto-reinforcing routing loop + funnel.
Sources → hub → enrichment → channels, with counts.
Every spoke sync run + outcome.
Provider waterfall, budgets, hit rates.
Spoke ↔ audience wiring per metro.