Inspiration

Most people have no idea what powers their home at any given moment. Flip on your AC at 2PM on a hot Texas summer day and you're likely drawing from a gas peaker plant running at full blast, yet nothing in your home tells you that. There's a massive information gap between the energy grid and the people it serves, and that gap makes it nearly impossible for individuals to make climate-conscious decisions about their electricity use. We were inspired by the idea that visibility drives behavior. If people could see their grid's carbon intensity in real time, the way they see a weather forecast, they'd naturally shift energy-heavy tasks to cleaner windows. GridSense was built to close that gap.

What it does

GridSense is a full-stack energy intelligence platform with four core experiences: The Pulse, A live hero dashboard showing your grid's current carbon intensity (gCO₂/kWh), renewable vs. fossil energy mix, and a plain-language verdict on how clean your electricity is right now. The number glows green when your grid is clean, amber when mixed, and red when it's running heavy on fossil fuels. Tomorrow's Grid, A 24-hour forecast combining solar irradiance and wind speed data with a machine learning model to predict renewable energy availability. It highlights the single cleanest 6-hour window of the day so you know exactly when to run your dishwasher, charge your EV, or schedule energy-intensive tasks. State Breakdown, A choropleth map of all 50 US states colored by renewable percentage, with an interactive leaderboard of the cleanest and dirtiest grids in the country. Hover any state for a full energy mix breakdown. AI Briefing, An AI-powered daily energy analyst (powered by Claude) that synthesizes grid data into a sharp headline, a two-sentence analysis of current conditions, and one actionable tip to reduce your carbon footprint right now.

How we built it

Backend: FastAPI (Python) serving four data endpoints, live energy mix from the EIA API, solar/wind potential from Open-Meteo, real-time carbon intensity from ElectricityMaps, and a 24-hour renewable forecast. The forecast model is a scikit-learn LinearRegression trained on weather features (solar irradiance, wind speed) mapped to estimated renewable output, fit on the past 24 hours and projected 24 hours forward. Frontend: React + Vite with Recharts for all data visualizations, Framer Motion for page transitions and animated number reveals, and react-simple-maps for the US choropleth. The design system uses a dark "mission control" aesthetic with a custom CSS noise texture, split-flap clock animation, and color-coded carbon intensity that makes the data readable at a glance without any explanation. AI Layer: Claude Haiku via the Anthropic API parses structured grid metrics and returns a three-part briefing (headline / analysis / action tip) that refreshes every 15 minutes. Infrastructure: All APIs are free-tier or open access. The app ships with a full demo mode using synthetic but realistic Texas grid data, so it runs out of the box without any API keys.

Challenges we ran into

The hardest challenge was making the data tell a story without labels. Energy data is inherently abstract, a number like "340 gCO₂/kWh" means nothing to most people. We went through several iterations of the hero section trying to find a visual language that communicated urgency or safety instantly, eventually landing on the pulsing concentric rings that change color with the carbon intensity. Getting the color and animation thresholds right so the UI felt right, not just displayed the right number, took longer than the data pipeline itself. The EIA API's data structure is also non-trivial to work with. Fuel type codes aren't labeled intuitively, the hourly aggregation requires careful windowing, and getting clean renewable vs. fossil bucketing across all 50 states meant building a mapping layer we hadn't originally scoped.

Accomplishments that we're proud of

The 24-hour "cleanest window" feature feels genuinely useful, not just a demo showcase. The ML model is simple by design, but the output (a highlighted 6-hour band on a forecast chart) is the kind of thing you'd actually use before scheduling a laundry cycle. Shipping something that's both technically interesting and practically actionable in 48 hours is the thing we're most proud of. We're also proud of the design. The carbon intensity hero, a massive number that pulses and glows based on grid cleanliness, communicates the entire project's purpose without a single word of explanation. That's a hard thing to pull off with data that's this abstract.

What we learned

The US electricity grid is far more fragmented and regional than we expected. Texas (ERCOT) is its own isolated grid with completely different dynamics than the PJM interconnect covering the mid-Atlantic. Washington state runs at 85%+ renewable thanks to hydropower; West Virginia barely clears 5%. This geographic variation made the state map the most surprising feature to build, the data told a story we didn't expect. We also learned a lot about the right level of ML complexity for a time-constrained project. Our first instinct was to reach for a neural network for the renewable forecast. A LinearRegression on two weather features turned out to be nearly as accurate for a 24-hour window and shipped in an hour instead of a day.

What's next for Gridsense

Real personalization - Connect to smart home APIs (Google Nest, SPAN panel) so GridSense can automatically shift non-urgent loads (EV charging, water heater, dishwasher) to the cleanest grid windows without any manual input. Carbon savings tracker - A running tally of how much CO₂ you've avoided by shifting usage to cleaner windows, visualized over time with a shareable "your grid impact" card. Push alerts - Notify users when their grid dips below a carbon intensity threshold, so the cleanest windows are actionable even when you're not looking at a dashboard. Utility bill integration - Overlay real-time carbon data with time-of-use pricing so users can optimize for both cost and emissions simultaneously. International expansion - ElectricityMaps covers 50+ countries. The core architecture works globally; it's a configuration change, not a rebuild.

Built With

  • eiaapi
  • electricitymaps
  • fastapi
  • open-meteo
  • python
  • react
  • react-simple-maps
Share this project:

Updates