Solar kWh estimate
Clear-sky annual output, computed in your browser by pvkit: hourly NREL SPA → Ineichen clear sky → Perez POA → SAPM cell temperature → PVWatts DC, losses and inverter. No server.
Clear sky is an upper bound, not a yield forecast. It assumes a cloudless sky every hour; real output is lower by an amount that depends on the local climate.
Code for this result
The exact pvkit calls behind the numbers above, with your inputs.
Save as estimate.ts, install, then run node estimate.ts (Node 22.18+) or use any TypeScript runtime.