Inspiration

We wanted to make solar energy accessible to everyone. Many homeowners are interested in solar panels but don't know if their roof is suitable or what system size they need. Our app provides instant, personalized solar recommendations by analyzing roof photos and location data.

What it does

Solar Panel Optimization analyzes your roof's solar potential in three simple steps:

Upload a roof photo

Enter your address

Get instant results with:

Suitability score (0–100)

Recommended system size and panel count

Annual energy production estimate (kWh)

Personalized optimization tips (roof improvements, efficiency suggestions, etc.)

How we built it

Tech Stack:

Next.js 14 (App Router)

TypeScript

Tailwind CSS

Radix UI components

APIs & Services:

Google Geocoding API (when available) for address → latitude/longitude

NASA POWER API for solar irradiance and climate data

Google Gemini API for AI-generated financial and recommendation summaries

Features:

Custom scoring algorithm that analyzes roof characteristics, shading assumptions, and solar irradiance

Server-side image handling for roof photo uploads

Location-based solar potential estimation

AI-generated summaries for user-friendly insights

UI:

React components with drag-and-drop file upload

Real-time form validation

Responsive, mobile-friendly design

Challenges we ran into

API Integration Bug: Discovered that some location data was falling back to defaults due to geocoding availability checks

Security Issue: Accidentally committed API keys to GitHub, requiring immediate key regeneration and proper .env configuration

Complex Scoring: Balancing multiple factors (roof assumptions, irradiance, efficiency, and climate) into a single meaningful score

Error Handling: Adding proper validation for image uploads, API failures, and edge cases

Accomplishments that we're proud of

Clean, modular codebase with TypeScript throughout

Smart recommendation engine with AI-generated summaries

Responsive design that works on all devices

Robust API handling with graceful fallbacks

What we learned

How to integrate and secure multiple external APIs

The critical importance of environment variable security (never commit .env files!)

Combining scientific data (irradiance, climate) with user-friendly scoring

Managing parallel async calls for better performance

What's next for Solar Panel Optimization

Short-term:

Improve real roof image analysis with computer vision

Add cost estimates and ROI calculations

Support utility bill uploads for more accurate savings

Long-term:

3D roof modeling with panel layout visualization

Connect users with local solar installers

Battery storage recommendations

Community features to share installations

Built With

Share this project:

Updates