Your Location's Solar Potential, Instantly
A full-stack web app that shows exactly how much solar energy potential any location has — and what that means for your wallet and the planet. Enter a city, zip code, or address and get real NREL irradiance data, estimated annual savings, and CO₂ offset figures in seconds.
Solar adoption is often blocked not by cost, but by uncertainty — most people have no idea how much sunlight their location actually gets, or what that translates to in dollars saved or emissions avoided. Existing calculators tend to be complex, form-heavy, or require users to already know their energy usage in detail.
SolarSave reduces the interaction to a single input — your location. The server geocodes it using OpenCage, fetches real irradiance data from the NREL Solar Resource API, and returns a clear picture: peak sun hours per day, estimated annual savings, and CO₂ offset. No solar expertise required.
Accepts city names, zip codes, or full addresses. The backend uses the OpenCage Geocoder API to convert any human-readable location to precise coordinates, filtering out low-confidence results to ensure accurate solar data retrieval.
Coordinates are sent to the NREL Solar Resource API, which returns real-world irradiance data (kWh/m²/day) for that specific location from NREL's national solar database — not estimates or regional averages, but actual measured data.
Solar potential is translated into two tangible outputs: estimated annual electricity savings in dollars, and estimated CO₂ offset in metric tons. These make the abstract concept of "solar irradiance" immediately meaningful to the user.
Geocoding first, then solar lookup, required careful error handling at each step. A low-confidence geocoding result needed to be caught before hitting NREL, or users would get solar data for the wrong location entirely.
"4.8 kWh/m²/day" means nothing to most people. The key design challenge was converting raw irradiance numbers into savings dollars and CO₂ tons — units people actually care about.
Using React Router v7 to build a multi-page flow (search → results) instead of a single-page form kept the UI focused and prevented users from being overwhelmed with inputs and outputs on one screen.
Keeping both API keys (OpenCage, NREL) on the server side via environment variables, never exposed to the frontend, was non-negotiable. Even for a personal project, good security habits matter.
I'm always open to discussing clean energy projects, internship opportunities, or full-stack applications.