3 Commits

Author SHA1 Message Date
Joey Eamigh
d8478ace96
fixups and such 2026-02-11 21:35:03 -05:00
Joey Eamigh
ad1a6792f5
phase 8: UI/UX overhaul — layout, charts, map, data freshness
- Fix ticker tape CLS with skeleton loader and fixed height
- Add Inter font, max-width container, responsive dvh units
- Hero metrics: trend deltas, per-metric sparkline colors, 3+2 grid
- GPU calculator: step=100 slider + text input, PUE factor, region comparison bars
- Grid stress: replace misleading arc gauges with demand status bars
- Demand summary: expand to 4-metric highlights grid
- Charts: responsive heights, ISO/non-ISO toggle, correlation R² + trend line
- Map: US-wide default view, marker clustering, enriched region panels, zoom controls
- Fix NYISO polygon (NYC), MISO polygon (Michigan), MISO south (MS/LA)
- Add automated ingestion via instrumentation.ts
- Add data freshness indicator in footer
- Fix backfill start date to 2019-01-01 (EIA RTO data availability)
2026-02-11 19:59:01 -05:00
Joey Eamigh
564d212148
phase 6: post-review enhancements — data, map UX, charts, navigation
Data:
- Expand datacenter inventory from 38 to 108 facilities
- Add 14 North Carolina datacenters (Apple, Google, AWS, Microsoft, etc.)
- Add missing operators (Cloudflare, Switch, Vantage, Apple, Aligned, Iron Mountain)
- Fill geographic gaps (Southeast, Northwest, Midwest)

Map UX:
- Dark mode via ColorScheme.DARK, hide all default UI controls
- Center on Chapel Hill, NC (lat 35.91, lng -79.06) at zoom 6
- New map legend component (price gradient, marker scale, pulse/glow key)
- Floating region price labels via AdvancedMarker at region centroids
- Tune breathing animation: 8s period, only stressed regions, 5 FPS
- Enhanced markers: capacity labels on 200+ MW, status-based styling

Charts:
- Fix generation chart timestamp duplication (use epoch ms dataKey)
- Fix correlation chart black-on-black axis labels
- Context-aware tick formatting (time-only for 24h, date for longer ranges)

GPU Calculator:
- Default to B200 (1,000W), add R200 Rubin (1,800W)

Navigation:
- Granular Suspense boundaries on all 5 pages
- Extract data-fetching into async Server Components per section
- Page shells render instantly, sections stream in independently
2026-02-11 14:44:46 -05:00