π Professional solar PV financial & technical analysis dashboard with glassmorphism UI, high-precision modeling, AI-powered assistance, and Google Solar API integration.
Click your operating system to download the latest installer directly:
- πͺ Windows (Installer): https://github.com/leothefleo49/Solar-Panel-Calculator/releases/latest/download/Solar-Panel-Calculator-Windows.msi
- πͺ Windows (Portable EXE): https://github.com/leothefleo49/Solar-Panel-Calculator/releases/latest/download/Solar-Panel-Calculator-Windows.exe
- π macOS (Universal DMG): https://github.com/leothefleo49/Solar-Panel-Calculator/releases/latest/download/Solar-Panel-Calculator-macOS.dmg
- π§ Linux (AppImage): https://github.com/leothefleo49/Solar-Panel-Calculator/releases/latest/download/Solar-Panel-Calculator-Linux.AppImage
- π§ Linux (Debian/Ubuntu .deb): https://github.com/leothefleo49/Solar-Panel-Calculator/releases/latest/download/Solar-Panel-Calculator-Linux.deb
- π± Android (APK): https://github.com/leothefleo49/Solar-Panel-Calculator/releases/latest/download/Solar-Panel-Calculator-Android.apk
- π iOS (Simulator App β for developers): https://github.com/leothefleo49/Solar-Panel-Calculator/releases/latest/download/Solar-Panel-Calculator-iOS-Simulator.zip
Important for Desktop Users:
- π Auto-updater requires v1.4.28+: Download and install this version manually to enable automatic updates for future releases!
- Once installed, the app will notify you of new versions and offer one-click updates
Platform Notes:
- Windows: Use the MSI if unsure. The EXE is a portable run-and-go.
- macOS: If blocked, rightβclick the app β Open (first run).
- Linux AppImage: Rightβclick file β Properties β make executable.
- Android: Enable "Install unknown apps" in your device settings.
- iOS: See iOS Deployment Options below for web/PWA/self-build instructions.
- π Google Solar API Integration (Enhanced in v1.4.28+):
- Analyze any property address with real-world roof data from Google's Solar API
- Automatic geocoding and coordinate lookup
- Detailed roof segment analysis (pitch, azimuth, area, sun exposure)
- AI-powered recommendations using actual roof geometry
- Financial projections based on real sun exposure data
- Enhanced Setup Wizard: 3 recommended paths (easiest, most free, best quality)
- Instant Config Updates: Save Changes button applies settings without restart
- API Validation (v1.4.28): Pre-save key testing with detailed error messages
- Quota Monitoring (v1.4.28): Real-time usage tracking with visual indicators
- Flexible key management (unified or separate for Solar/Maps/Shopping)
- Optional - app works fully without Google APIs
- π Shopping Cart with AI Search (Enhanced in v1.4.28):
- Smart product search supporting names, model numbers, UPC, ASIN, brand names
- AI-powered query enhancement for better results
- Multi-site fallbacks with source attribution (Amazon, Walmart, Home Depot, Lowes, eBay)
- Category filtering and intelligent result ranking
- Automatic product spec extraction and compatibility checking
- Integration with Google Shopping API for real-time pricing
- Repetition-aware error reporting with timestamps
- Comprehensive Configurator: Collapsible sections for utility costs, incentives, solar hardware, battery storage, and soft costs with contextual tooltips
- High-Precision Modeling: Decimal.js engine simulates 25-year production, degradation, inflation-adjusted utility spend, net-metering cash flow, ROI, and break-even timing
- Interactive Visualizations: Multi-line crossover charts, degradation trends, monthly production vs. consumption bars, and battery/outage simulator
- Data Studio: Sortable amortization table with optional monthly expansion (up to 250 rows) for deep financial analysis
- AI Chat Assistant: Multi-provider support (Google Gemini, OpenAI GPT, Anthropic Claude, xAI Grok) with up to 5 concurrent conversation threads and Solar API context integration
- Modern UX: Dark-mode glassmorphism panels, responsive layout, accessible tooltips, auto-expanding chat input, fullscreen mode
β
Runs completely offline after installation
β
Automatic updates (v1.4.28+) β Get new features without manual downloads
β
Secure encrypted API key storage
β
Native OS integration (taskbar, notifications)
β
Faster performance vs. browser
β
No tracking or telemetry
β
Fullscreen mode support
π± Full feature parity with desktop
π± Touch-optimized UI
π± Works offline after first load
π± Install directly from APK/IPA (no app store required)
π± Persistent chat history and API keys
# Clone repo
git clone https://github.com/leothefleo49/Solar-Panel-Calculator.git
cd "Solar-Panel-Calculator/App"
# Install dependencies
npm install
# Run desktop app in development mode
npm run tauri:dev
# Build production executable
npm run tauri:buildRequirements: Node.js 20+, Rust toolchain (rustup.rs)
Output locations:
- Windows:
src-tauri/target/release/Solar Panel Calculator.exe - macOS:
src-tauri/target/release/bundle/macos/ - Linux:
src-tauri/target/release/solar-panel-calculator
# Build web assets and sync to Android
npm run cap:sync
# Open in Android Studio
npm run cap:android
# Or build APK directly (requires Android SDK)
npm run cap:build:androidRequirements: Android Studio, SDK 33+, Java JDK 17+
Output: android/app/build/outputs/apk/release/app-release-unsigned.apk
# Start Vite dev server
npm run dev
# Production build
npm run build
# Preview production build
npm run preview- Frontend: React 19 + TypeScript (Vite)
- State: Zustand for global state management
- Styling: Tailwind CSS + @tailwindcss/forms
- Math: Decimal.js for financial precision
- Charts: Recharts for data visualizations
- Desktop: Tauri 2.x (Rust + WebView)
- Mobile: Capacitor 6.x (Native Android)
- AI: Multi-provider support (Google, OpenAI, Anthropic, xAI)
The optional AI assistant supports Google Gemini, OpenAI GPT, Anthropic Claude, and xAI Grok.
- Launch the app
- Navigate to "Solar Chat Assistant" panel
- Select provider tab (Google/OpenAI/Claude/Grok)
- Enter API key in the input field
- Click "Use Key"
Desktop: Keys are encrypted and stored locally
Mobile/Web: Keys are memory-only (cleared on refresh)
Create .env in the project root:
VITE_GOOGLE_API_KEY=AIza...
VITE_OPENAI_API_KEY=sk-...
VITE_ANTHROPIC_API_KEY=sk-ant-...
VITE_GROK_API_KEY=xai-...- Google: Gemini 2.5 Pro/Flash, 2.0 Ultra/Flash, 1.5 Pro/Flash (with image upload support)
- OpenAI: GPT-5, GPT-4.1, GPT-4o, GPT-4-turbo, GPT-3.5-turbo
- Anthropic: Claude 3.5 Sonnet/Haiku, Claude 3 Opus
- xAI: Grok-2, Grok-2-mini
- β Up to 5 concurrent conversation threads
- β Auto-expanding chat input (up to 3Γ height)
- β Image upload support (Gemini only)
- β System-aware context (array size, ROI, savings)
- β Enter to send, Shift+Enter for new line
src/components/Configurator.tsxβ Input interface with tooltips and resource linkssrc/components/Dashboard.tsxβ Tabbed visualizations, charts, outage simulatorsrc/components/ChatAssistant.tsxβ Multi-provider AI chat interfacesrc/state/solarStore.tsβ Zustand store for configuration datasrc/state/chatStore.tsβ Zustand store for conversation threadssrc/utils/calculations.tsβ High-precision production/savings/ROI mathsrc/utils/aiProviders.tsβ API wrappers for AI providerssrc-tauri/β Rust backend for desktop appandroid/β Native Android project filescapacitor.config.tsβ Mobile app configuration
- β No telemetry or tracking
- β Calculations run 100% locally
- β API keys encrypted at rest (desktop)
- β Open-sourceβaudit the code yourself
- β Content Security Policy (CSP) enforced
- β Sandboxed execution (Tauri)
For production deployments, route AI API requests through a secure backend proxy with rate limiting.
Push a semantic git tag (e.g. v1.4.28) to trigger the CI matrix build:
git tag v1.4.28
git push origin v1.4.28GitHub Actions produces clearly named artifacts:
SolarPanelCalculator-Setup-x64.msi/SolarPanelCalculator-x64.exeSolarPanelCalculator-arm64.dmg/SolarPanelCalculator-x64.dmgSolarPanelCalculator-x86_64.AppImagesolar-panel-calculator_<version>_amd64.debsolar-panel-calculator-<version>.x86_64.rpmsolar-panel-calculator-release.apk- (Planned)
SolarPanelCalculator.ipa(after iOS pipeline added)
Each release also includes a checksum file SHA256SUMS.txt for integrity verification.
sha256sum -c SHA256SUMS.txt --ignore-missingMatches = file is authentic. Mismatch = re-download.
- Use
.msifor start menu shortcuts & automatic uninstall. - Use standalone
.exeif running from USB or without admin rights.
chmod +x SolarPanelCalculator-x86_64.AppImage
./SolarPanelCalculator-x86_64.AppImageIf blocked, right-click β Open (first run) or:
xattr -dr com.apple.quarantine "SolarPanelCalculator-arm64.dmg"See RELEASE_INSTRUCTIONS.md for detailed build instructions, signing, and troubleshooting.
- Windows: Install WebView2
- macOS: Allow app in System Preferences β Security & Privacy
- Linux:
sudo apt install libwebkit2gtk-4.1-dev
- Build fails (exit code 1/126): Ensure executable gradlew permissions (
chmod +x android/gradlewon Unix CI), verify JDK 17 and Android Gradle Plugin 8.7+, runnpm run cap:syncbefore building. - Dependency resolution errors: Clear Gradle cache
rm -rf ~/.gradle/caches(Unix) or use Android Studio Invalidate Caches. - Resource merge failures: Run
./gradlew cleanthen rebuild. - App crashes on launch: Confirm
minSdkVersion(23) device compatibility; runadb logcatto inspect. - APK won't install: Enable "Install from Unknown Sources"; verify architecture (x86 emulator cannot run arm64-only builds).
- Use
npm run cap:iosto open Xcode after adding iOS platform. - Set signing team: Xcode β Project Settings β Signing & Capabilities.
- Increment build number each release.
- Export via Archive β Distribute App (TestFlight or Ad Hoc).
Planned CI will produce a signed .ipa once Apple credentials & notarization flow are added.
Desktop/Android handle CORS automatically. Web deployment requires backend proxy for AI APIs.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - See LICENSE file for details.
- Built with Tauri and Capacitor
- Charts powered by Recharts
- Math precision via Decimal.js
- Icons from Heroicons
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [email protected]
- Documentation: RELEASE_INSTRUCTIONS.md
If you find this project useful, consider supporting continued development on GitHub Sponsors:
Donations are not required but are very much appreciated β they help cover maintenance, hosting, and adding new features.
Made with β€οΈ by leothefleo49