Inspiration
South Carolina and Georgia utilities often plan transmission projects a few miles apart, but they plan in separate forums. When nearby projects are built at the same time, they could share outages, roads and staging yards, but only if someone spots the overlap. The challenge's own sample overlaps were already out of date, so we built a tool that reads the current public filings.
What it does
Gridlock reads 321 projects from DESC, Santee Cooper and the Georgia ITS utilities, then finds 95 cross-border pairs whose centers are less than 25 miles apart:
Pairs are ranked by proximity (up to 60 points) plus timing (up to 40). Each pair gets a map, a location certainty level, its overlapping build windows, the ground conditions nearby, and a printable coordination brief.
How we built it
- Pipeline: Python and
pdftotextparse the utilities' filings into records. Every field links back to its source page. - Locations: substation names are matched to OpenStreetMap, and each location carries an uncertainty radius.
- App: static JavaScript with a MapLibre map.
- Agentic ingestion: a Claude agent on Amazon Bedrock finds new public filings and reads them. When a layout is new, it writes its own parser, which runs in a sandbox. In a live test with Santee Cooper, the agent extracted all 12 projects correctly.
Challenges
- Stale data: we had to track down newer filings from SCRTP and the Georgia PSC.
- Ambiguous names: there are two "Goshen" substations 87 miles apart, and some Atlanta-area projects geocoded to Savannah street names.
- Contradictory filings: impossible dates such as 04/31/26, cost rows that don't add up, and a Project ID used for two projects. We flag these instead of guessing.
- Trusting AI-written code: we sandboxed it and cross-checked every value it extracted. It's deterministic because the Agent only writes the parser, so nothing is guessed.
What we learned
In each utility's own documents, its plans are consistent. The problems appear only when you line two plans up side by side. Showing uncertainty is also more useful than a confident guess.


Log in or sign up for Devpost to join the conversation.