JR&CO
Portfolio Map
Help & Reference
← Back to Map

Overview

A live operational + marketing intelligence map for the JRCO field and sales teams.

Mode — Ops
portfolio-map.html — full operational view with jobs, crews, service, customers, GC data, and hail.
Mode — Marketing
?mode=marketing — streamlined view focused on Property Portfolio, Hail, and Growth Markets layers.
Data Source
All layers load lazily from Supabase. Layers marked lazy fetch only when you enable them.

The map starts at the JRCO service area. Layers are grouped in the left sidebar. Enable any layer to load its data; disable it to remove it from the map. Data is cached locally where possible — look for the cache-age indicator next to the Property Portfolio count.

Map Layers

Grouped by sidebar section. All layers are lazy-loaded on first enable.

🏗 Operations

LayerDescription
ProjectsActive commercial jobs with health color coding (blue/green/amber/red). Default filter shows Red + Yellow only. Click a pin to open the project detail popup.
Residential JobsActive residential jobs. Purple pin with house icon.
Live Crew PositionsReal-time BT manpower crew positions pulled from the API. Refreshes on enable; use the header ⟳ Force Sync to force a refresh.
Assignment RoutesCrew-to-job assignment lines for active routes.
AssetsEquipment and vehicle assets on map.
Medical FacilitiesNearby hospitals, clinics, and urgent care facilities. Loads within visible map bounds.

🏢 Commercial Ops

LayerDescription
CustomersActive commercial customers. Filter by Sales Rep when enabled.
By VerticalCustomer pins colored by industry vertical (sub-layer of Customers).
Local GCsGeneral contractor offices in the visible map area. Use Search GC button to SERP-discover more.
Bid QueueActive A & B rated bids. Sub-layer shows bids colored by vertical.
CE PropertiesCenterEdge project properties with geocoded addresses.
WeatherWeather radar and LSR (Local Storm Reports) hub. Enables sub-layers including hail and tornado LSR markers.
Researched PropertiesCanvas property research snapshots. Sub-layer GC Data overlays contractor intelligence.

🔧 Service

LayerDescription
PropertiesAll service properties with geocoded locations.
Customer BubblesAggregated service customer clusters by location.
Dormant CustomersCustomers with no activity beyond the dormancy threshold. Sorted by lifetime value.

🏘 Property Portfolio

LayerDescription
PropertiesFull JRCO property portfolio — customers (blue) and leads (amber). Switches automatically between pin and heat-map view based on zoom. Filter by type and sq footage. Click a pin to see full property detail and owner info.
Tip: The portfolio count and cache age appear next to the layer label. Click ↻ to force a fresh server fetch and bypass the cache.

⛈ Hail Reports

LayerDescription
Hail ReportsAll ingested hail alert events. Color-coded by damage severity. Click any marker for size, date, travel tier, and pipeline status. Found inside the Weather Hub sidebar group.
Last 2 Days OnlySub-filter showing only hail alerts from the past 48 hours.
Note: Hail markers stay visible during map pans and zooms — they only re-render when data is confirmed loaded. If the layer is checked but no markers appear, wait a moment for the network fetch to complete.

Filters & Search

All filters are in the sidebar and apply instantly across all visible layers.

Search
Full-text across job code, company, address, PM name, and customer. Works across Projects, Customers, Service, Hail, and GC layers simultaneously.
Health (Projects)
Filter jobs by RAG status. Default is Red + Yellow (critical & watch). Set to All to see every active job including healthy ones.
State / PM / PEx
Narrow the Projects layer by geography or by responsible PM or Project Executive.
Starting In
Show only jobs starting within 30, 60, or 90 days — or filter to those with no start date set.

Storm Workflow

Two entry points — both produce a Storm Plan and a Geo Hail Review report.

Entry Point A — Storm Area Button

1
Pan the map to the storm-impacted area. Click ⛈ Storm area in the header.
2
The current map bounds are sent to the Plan & Scan panel. A Storm Plan is created automatically for this area.
3
Click Check Hail to run the storm grid scan. A Storm Event Name is auto-generated (city + date/time) and saved.
4
When the scan completes, click ↗ Geo Hail Review to open the property lead report for this run.

Entry Point B — Lasso (Draw Tools)

1
Open Draw Tools in the sidebar. Use the lasso tool to draw a custom fence around the storm area.
2
Click Check Hail. JRCO will grid-scan the lasso area and automatically save it as a Storm Plan.
3
On completion, a ↗ Geo Hail Review link appears in the Plan & Scan panel — takes you directly to the hail property report.
Draw / BoundsPick area
Check HailRun scan
Storm PlanAuto-created
Geo Hail ReviewProperty leads
CSV ExportNamed by scan
Storm Event Name is auto-derived from the most common city + state in the scan area and the run timestamp. It is saved back to the Storm Plan and stamped on every property lead in the export.

Property Portfolio

The full JRCO customer and lead database on the map.

Customers
Blue pins — existing CenterPoint customers with at least one property record.
Leads
Amber pins — property leads ingested via hail scans, property import, or enrichment pipelines. Include ATTOM ownership, sq footage, and market value.
Heat Mode
At low zoom levels the layer automatically switches to a density heat map. Zoom in to switch back to individual pins.
Sq Ft Filter
Set a minimum building sq ft to show only commercial-scale properties. Useful for targeting larger leads.
Data quality: ATTOM enrichment is skipped for properties with incomplete addresses (numbers-only). If you see an owner name shared across many properties, run a data quality check — these records may need re-enrichment.

Draw Tools

Available in the sidebar — used for lasso selections, building scans, and storm grid planning.

ToolWhat it does
LassoDraw a closed polygon. Used as the boundary for Check Hail storm scans, building scans, and customer density snapshots.
Building ScanRequires zoom 18+ and a tight lasso fence. Sends a satellite tile to Vision AI to detect rooftops within the boundary. Best for blocks with visible address numbers.
Storm GridThe Plan & Scan panel divides the lasso or map-bounds area into a grid and runs a hail-property cross-check for each cell.

URL Parameters

Deep-link to specific views, locations, or layer states.

ParameterExampleEffect
?mode=marketingportfolio-map.html?mode=marketingActivates Marketing Map mode — hides ops noise, auto-enables Property Portfolio and Hail layers.
?lat=&lng=&zoom=?lat=38.9&lng=-94.6&zoom=10Opens map centered at the specified coordinates and zoom level.
?job=?job=KC-2024-001Focuses the map on a specific job code and opens its popup.
?customer=?customer=ACME-CorpOpens the customer portfolio panel for the specified customer.
?layers=?layers=hail-reportsPre-enables one or more layers by name. Comma-separated. Valid names: hail-reports, prop-portfolio, service, customers.
?view=growth?mode=marketing&view=growthOpens directly in the Growth Markets view (requires marketing mode).
Storm Inbox links to the portfolio map use ?lat=&lng=&zoom=9&layers=hail-reports — the hail layer is automatically enabled when you open the map from a storm notification.

Signed-In User

Your Cloudflare Access identity is shown in the header banner.

The header displays your name and initials once the map resolves your identity from the resolve-user-context edge function. The badge pulls your Display Name from your app_user_profiles record. Hover the badge to see your full email address.

JC
Julian Caldwell
← Example — appears in the top-right of the map header after sign-in resolves.
Identity Source
Cloudflare Access JWT header (Cf-Access-Jwt-Assertion) or dev email fallback on localhost.
Permissions
Your app_roles control access to admin-only actions like Force Sync and Bulk CenterPoint push.
Display Name
Set in Supabase app_user_profiles.display_name. Falls back to the email local part if not set.