An interactive solar planning workspace for rooftop mapping, AI-assisted roof detection, panel layout simulation, and financial estimation.
Solar feasibility tools are often fragmented across GIS software, internal spreadsheets, and engineering workflows. This project demonstrates how a single app can guide users from location discovery to actionable planning output, while keeping AI suggestions reviewable and editable.
This is not just a detection demo. It's a complete product-style workflow that balances:
- ✨ Interactive map UX
- 🤖 Assistive computer vision
- 📐 Geospatial calculations
- 💰 Planning and financial context
- Address & Place Search: Fast rooftop lookup.
- Map-first Workspace: Centered automatically on the selected property.
- Satellite Analysis Flow: Visual roof clarity with high-res imagery.
- Manual Drawing: Interactive map editing tools.
- Separate Layers: Editable layers for roof polygons and obstacles.
- Complex Geometries: Support for irregular shapes and exclusion zones.
- Direct Integration: Send snapshots directly to Roboflow hosted workflows for analysis.
- Plane & Obstacle Detection: Identify roof structures directly from imagery.
- Review & Apply: Preview detections before applying to the workspace. Tune confidence and area filters.
- Metrics Computation: Calculate gross area, blocked area, and net usable area.
- Orientation Estimation: AI-driven orientation candidates.
- Solar Exposure Heatmap: Overlay visual zones showing stronger and weaker exposure areas based on sun position and context.
- Manual & Auto-pack Placement: Fine-grained manual control or automatic maximization.
- Capacity-Aware Selection: Select panel types with real-time capacity counting.
- Validation: Prevent overlaps and invalid placements using worker-based operations for responsive UI.
- Financial Dashboard: Sizing inputs, planning assumptions, and real-time estimation charts.
- Export Options: GeoJSON export of roof/obstacle geometry.
- Reporting: Generate blueprint-style PDF reports for planning handoffs.
- 🔍 Search for a property.
- 🗺️ Enter the map workspace and switch to imagery mode.
- 🏗️ Draw roof and obstacles manually, or run auto-detection.
- ✅ Review detection results and accept only what looks correct.
- 📊 Calculate usable roof area and inspect solar heatmap hints.
- 📦 Simulate panel placement manually or with auto-pack.
- 💵 Review estimated system capacity and financial outcomes.
- 📤 Export geometry/report artifacts.
- 🗺️ Interactive mapping and draw/edit UX (Leaflet, Turf.js)
- 🔎 Address search integration (OpenStreetMap Nominatim)
- ⚙️ Panel layout logic and worker offloading
- ☀️ Solar heatmap visualization
- 💰 Financial dashboard components (Recharts)
- ☁️ Serverless workflow called directly from the browser (
POST https://serverless.roboflow.com/<workspace>/workflows/<workflow_id>) - 🧾 Structured output parsing from
svg_outputandjson_output - 📋 Metadata shaping into app-compatible roof/obstacle results
- Node.js 20+
-
Clone the repository:
git clone https://github.com/anomalyco/Solar-Roof-AI.git cd Solar-Roof-AI -
Install dependencies:
npm install --workspace frontend
-
Set up Environment Variables: Create a
.envfile in thefrontenddirectory with the following variables: -
Run the development server:
npm run frontend:dev
The app will be available at http://localhost:5173.
- 🖼️ Detection quality heavily depends on imagery quality, zoom level, and roof contrast.
- 📐 Pitch, aspect, and height values are estimation-grade derived from 2D imagery.
- 🎯 Results are intended for planning and pre-sales exploration, not permit-ready engineering.
- ✏️ Manual edits remain essential for complex edge cases.
- Stronger model-based detection beyond classical CV heuristics.
- More explicit setback and code-rule constraints for panel placement.
- Time-series irradiance simulation and seasonal production profiles.
- Authentication, saved projects, and collaboration workflows.
Contributions, issues, and feature requests are welcome! Feel free to check issues page if you want to contribute.
This project is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0) License.
.png)
%20(2).png)
