Solar Arbitrage Calculator

Bill → roof → panels → strings → battery → BOM

◌ checking…

① Bill OCR Import Module 1

Drop a ConEd (or any utility) bill image/PDF. Auto-extract kWh, tiers and rates into every calculator below.

What this does · steps · status
What: Reads your bill with vision OCR and fills the whole app so you never type numbers twice.
Steps:
  1. Drag a bill image/PDF onto the box (or tap to browse).
  2. Wait for extraction — fields highlight in teal.
  3. Correct any wrong value; edits flow everywhere.
Status: Waiting for a bill. Using default presets (549 kWh/mo) until then.

Upload

📄
Drag & drop your bill here, or tap to browse
PNG · JPG · PDF · HEIC — processed via Cloudflare Workers AI, with offline manual fallback

Extracted bill data — editable



Rates ($/kWh) — supply + delivery per tier. ConEd EL7 defaults; override from your bill.

TierSupply $/kWhDelivery $/kWhAll-in $/kWh
Super-peak 0.415
On-peak 0.290
Off-peak 0.130

② Roof Space Module 2

Usable roof area and how many panels physically fit — portrait vs landscape.

What this does · steps · status
What: Turns roof dimensions into a real panel count after setbacks.
Steps:
  1. Enter roof length × width.
  2. Set usable % (setbacks/vents).
  3. Read max-fit grid below.
Status: Ready.

Roof inputs

40 ft
25 ft
70 %
25 °

Result

Usable area
—
Max panels (portrait)
—
Max panels (landscape)
—
Azimuth derate
—

Layout preview

Portrait fit Landscape fit

③ Consumption Analyzer Module 3

Daily / monthly / annual kWh by TOU tier, with NYC seasonal projection.

What this does · steps · status
What: Projects a year of usage from one bill using NYC climate factors (1.3× summer, 0.8× winter).
Steps:
  1. Values come from Module 1.
  2. Read the KPIs and monthly chart.
Status: Ready.
Avg daily use
—
Annual (seasonal)
—
Est. peak demand
—
Peak-tier share
—

Monthly usage by tier (seasonally adjusted)

Super-peak On-peak Off-peak

④ Panel Selector Module 4

Commercial-grade panel database, ranked warranty → efficiency → temp-coeff → price.

What this does · steps · status
What: Picks a panel and sizes the array to your consumption target and roof.
Steps:
  1. Pick a model — specs auto-fill.
  2. Set your offset target %.
  3. Read panels-needed vs roof-fit check.
Status: Ready.

Select panel

100 %
auto

Array result

Panels needed
—
System DC
—
Est. annual yield
—
Roof fit
—

Panel database

#ModelWEff %VocVmpImpIscTemp co.CellWarrantyPrice

⑤ String Sizing & Inverter Module 5

Temperature-corrected Voc, MPPT window check, and inverter match.

What this does · steps · status
What: Keeps cold-morning string voltage under 600 V and warm-day voltage inside the MPPT window.
Steps:
  1. Set design min/max temps.
  2. Read panels-per-string & string count.
  3. Confirm the recommended inverter.
Status: Ready.

Design temps

-15 °C
40 °C
600 V

String result

Voc @ min temp
—
Max panels / string
—
Config
—
String Vmp @ max temp
—

Recommended inverter

InverterAC kWPV kWMPPTsGrid chargePrice

⑥ Battery & Arbitrage Module 6

The money engine — shift peak load to off-peak charging and count the savings.

What this does · steps · status
What: Charges from solar + cheap off-peak grid, discharges super-peak first. Computes daily savings, bill before/after, and payback.
Steps:
  1. Pick a battery module and count.
  2. Set DoD & round-trip efficiency.
  3. Read savings, payback, and the 24 h flow.
Status: Ready.

Battery bank

4
90 %
90 %
$3,500

Bank capacity

Total capacity
—
Usable / day
—
Daily peak load
—
Sizing
—

Arbitrage savings

Monthly savings
—
Annual savings
—
Payback period
—
Nightly grid charge
—

Bill: before → after

24-hour energy flow

Solar Battery discharge Grid charge Grid draw

⑦ Wire & Component Sizing Module 7

NEC 690 conductor, conduit, voltage-drop, disconnect, EGC and rapid-shutdown sizing.

What this does · steps · status
What: Sizes DC wiring to code so the BOM buys the right copper.
Steps:
  1. Set the one-way run length.
  2. Read gauge, conduit, Vdrop, disconnect.
Status: Ready.

Run

45 ft
3 %

NEC 690 result

⑧ Material Sourcing & BOM Module 8

Complete bill of materials with vendor, SKU, and grand total. Export CSV.

What this does · steps · status
What: Rolls every module into a priced shopping list from real solar vendors.
Steps:
  1. Everything above feeds this automatically.
  2. Export CSV to price-shop.
Status: Ready.
ComponentQtyUnit $Line $VendorSKU / partAvailability

⑨ Visualization Dashboard Module 9

Production vs consumption, cost breakdown, and the 25-year payback curve.

Monthly production vs consumption

Solar production Consumption

25-year cumulative savings

Cost breakdown

⑩ Report & Export Module 10

Full project report, JSON save/load, and cloud sync via Cloudflare D1.

Project summary

Installation checklist

NEC compliance verification