Skip to content

ShreyCh13/GridScout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GridScout

Find the best places on the US grid to build a data center or hydrogen electrolyzer.

AI compute and clean-hydrogen demand are exploding, and the hardest part of building the infrastructure to serve them isn't the building — it's siting: where on the grid can you actually get cheap, clean, available power without waiting years in an interconnection queue? GridScout ranks ~30,000 US grid nodes across 10 ISO/RTO regions on the factors that decide that question, and returns a ranked shortlist with a plain-English explanation for each site.

Built at an MIT hackathon (2025). Python/Flask ranking engine + React/Mapbox front end.

What it does

Give it a load type (data center, electrolyzer, etc.), a size, and a preference for cost vs. emissions, and GridScout scores every node and ranks the best sites. Each node is evaluated on six weighted components:

Factor What it captures
Energy cost Locational marginal price (LMP) at the node
Land $/acre in the surrounding county
Emissions Grid carbon intensity (county-level, mapped to a 150–700 kg CO₂/MWh range)
Policy fit Incentive/regulatory friendliness for the chosen load type
Interconnection-queue pressure A 4-metric composite (pending MW, advanced-stage share, queue pressure, renewable/storage share) — how hard it'll be to actually connect
Price variability Volatility penalty from historical price spread

The weights adapt to the load type, the load size, and an emissions-vs-cost slider, so a 24/7 data center and a flexible electrolyzer get different rankings from the same map.

How it works

React + Mapbox front end  ──HTTP──>  Flask REST API  ──>  ranking engine (pandas/numpy)
   (interactive map,                  /api/rank             29,998-node dataset,
    filters, results)                 /api/submit           6 weighted factors,
                                       /api/health           load-aware scoring
  • backend/node_ranking_engine.py — the core. Vectorized pandas/numpy scoring with robust (quantile-clipped) min-max normalization, load-type/size-aware weighting, an emissions-preference control, baseline-vs-scenario comparison for on-site solar/battery/ firm generation, and auto-generated ranking explanations.
  • backend/api_server.py — Flask REST API (/api/rank, /api/submit, /api/weights, /api/health). Live at https://gridscout.onrender.com.
  • frontend/ — React + Vite + Mapbox GL interactive map and results UI.

Data: 29,998 nodes across PJM, CAISO, MISO, NYISO, SPP, ISO-NE, ERCOT, and non-RTO West / Southeast / Rockies, with LMPs, county land and emissions data, and interconnection- queue metrics.

Run it locally

Backend

cd backend
pip install -r requirements.txt
python api_server.py        # serves the ranking API

Frontend

cd frontend
npm install
cp .env.example .env        # add your own Mapbox token (VITE_MAPBOX_TOKEN)
npm run dev                 # opens the map UI

Project structure

GridScout/
├── backend/
│   ├── node_ranking_engine.py   # the scoring engine
│   ├── api_server.py            # Flask REST API
│   ├── api_wrapper.py           # request/response translation
│   └── final_csv_v1_new.csv     # the ~30k-node dataset
└── frontend/
    └── src/App.jsx              # React + Mapbox UI

License

MIT — see LICENSE.

About

Ranks ~30k US grid nodes across 10 ISOs for data-center/electrolyzer siting — cost, land, emissions, policy & interconnection-queue pressure. React + Mapbox + Python/Flask.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors