A consumer-first Streamlit feasibility calculator for UK domestic solar PV, batteries, inverters and EV demand. Simple mode uses cached postcode and PVGIS data; Advanced mode retains datasheet, MPPT, grid and manual-yield controls.
Results compare grid-only, solar-only, battery-only, solar-plus-battery and—when an off-peak tariff is supplied—tariff-optimised operation. Explicit configuration controls keep solar and storage optional. Battery grid charging is constrained by usable capacity, efficiency, power and the entered off-peak window. An optional local/in-session CSV parser validates canonical and Octopus-style half-hourly consumption exports. Interval dispatch is deliberately not used yet; until that model has dedicated validation, financial comparisons remain clearly labelled annual screening estimates.
Live app: UK Solar & Battery System Sizer
The live Streamlit Community Cloud deployment resolves to this repository's main branch and app.py. The in-app release marker can be used to confirm an automatic deployment after a push.
python -m pip install -r requirements.txt
streamlit run app.py
python -m pytest
python -m compileall app.py solar_sizerThis is an early-stage planning tool, not an electrical design, MCS calculation, DNO application or permission to connect. Use PVGIS monthly/hourly results and measured consumption for purchasing decisions.
Commercial offers are configured in solar_sizer/affiliates.py; one deduplicated product list orders relevant items first. Specialist solar tools and the historic SWA example require Advanced mode plus an explicit project-sourcing context. Incorrect destinations remain configured but disabled; the supplied bokman URL is currently disabled because it resolves to another product. Approved Amazon UK Associates links carry one disclosure beneath the section. The two Bimble applications remain disabled pending approval.
The quote-interest sink in solar_sizer/leads.py deliberately validates but stores and transmits nothing. Replace that function with an owner-approved service only after privacy, consent, retention and processor terms are ready. Minimal event counters remain in Streamlit session memory and contain event name/time only; they are not displayed to customers.
- Replace the placeholder contact email with an owned inbox and add privacy/legal pages.
- Recruit real UK partners; add labelled tracked links only after written programme approval.
- Add an opt-in quote/referral form with consent and analytics, then measure completed enquiries rather than clicks.
- Build a maintained product dataset with compatibility, certifications, warranty, support and pricing evidence.