What inspired you
Dominion Energy and Georgia Power sit on opposite sides of the Savannah River, but they plan their construction completely separately. When I looked through their public plans, I kept finding projects just a few miles and a few months apart that nobody seemed to have connected. That felt like a lot of wasted trips, equipment, and land work, so I wanted to build something that spots those overlaps before either utility sends out a crew.
What you learned
I learned that the math is the easy part and the real data is the hard part. Calculating distances took me about an hour; getting messy project names from PDFs onto the right spots on a map took most of the weekend. I also learned that distance isn't enough on its own: my closest pair of projects finishes more than eight years apart, so timing matters just as much. And I learned not to take an AI's numbers on trust.
How you built your project
I wrote Python to pull 182 projects out of both utilities' PDFs, including a 668-page plan, and match each substation to real locations in OpenStreetMap. From there, the tool flags pairs within 25 miles, works out what they could share, and uses ten years of weather history to find the safest months to build. An AI model on Hugging Face writes a recommendation for each pair, and my code checks its facts before showing it. The front end is an interactive map with a 3D view, and I used Claude as a coding assistant throughout.
Challenges you faced
The hardest part was place names. OpenStreetMap has two "Goshen" substations 87 miles apart, Florida and North Carolina have their own look-alikes, and one substation, "Hooks", isn't on the map at all. I fixed it by having each project's two endpoints check each other and ruling out anything outside Georgia and South Carolina. To make sure the tool worked, I tested it against my hand-built spreadsheet: it found all six overlaps, and it even caught a mistake I'd made in my own data.
Built With
- fastapi
- html/css
- huggingface
- javascript
- llama
- node.js
- openmeteohistoricalarchive
- openstreetmap
- pydantic
- pytest
- python
- react
- uvicorn
- vite
Log in or sign up for Devpost to join the conversation.