Good afternoon, Keystone.
0 overlaps between neighboring utilities across FL, GA and AL, worth about $0M if they coordinate.
Overlap pressure by quarter
Conflict windows active in each quarter, stacked by severity
Where utilities collide
Overlaps by state boundary
Highest-priority overlaps
Ranked by GridLock score (proximity × schedule)
FERC Order 1920 requires utilities to plan together.
Neighboring utilities have historically planned in isolation, leading to duplicated mobilizations, conflicting outages and delays. GridLock turns public filings into a shared picture — before the first crew rolls.
Overlap Map
Every planned project in the region. Overlaps update as you change the filters.
Construction timeline
Every planned project on one calendar. Hatched red windows show where two utilities are working near each other at the same time.
Plan & Check
Sketch the project you're bidding on or planning. GridLock checks it against every public utility plan in the region and tells you who you'll run into — and what you could share.
Project registry
Every planned project GridLock knows about — extracted from public filings or registered directly by contractors and utilities.
| Project | Utility | Type | kV | Schedule | Status | Cost | Overlaps | Source |
|---|
Public data sources
GridLock continuously ingests public planning data, normalizes it into one schema with real geometry and dates, then runs overlap detection on every change.
Ingest
Pull filings, GIS layers and capital-plan PDFs from FERC, SERTP, state PSCs and HIFLD.
Normalize
LLM extraction turns PDFs into rows; routes are geocoded and snapped to HIFLD corridors.
Detect
Segment-level proximity + schedule-window overlap, scored and ranked per pair.
Coordinate
Notify both planning teams with a shared brief and suggested resource-sharing plan.
How overlap detection works
Runs in your browser on every threshold change — no black box.
d = min( segDist(ai, bj) ) // 0 if routes cross
// 2. Temporal — overlap or gap between build windows (days)
overlap = max(0, min(endA, endB) − max(startA, startB))
gap = max(0, max(startA, startB) − min(endA, endB))
// 3. Flag
SPACE+TIME if d ≤ R and gap ≤ W
PROXIMITY if d ≤ R (same corridor, different season)
SCHEDULE if overlap > 0 and d ≤ 3R (shared labor pool)
// 4. Score 0–100
score = 50 + 50·(0.6·(1 − d/R) + 0.4·st)
Normalized schema
One row per project, whatever the source.
id: "PSE-1041",
utility: "Peach State Electric",
geometry: LineString[ … ],
window: ["2027-01-15", "2027-11-30"],
kv: 230, cost_musd: 84, crew: 46,
equipment: ["80-ton crane", …],
source: "GA PSC IRP · Docket 90412",
confidence: 0.94
}