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
- amazon-web-services
- clerk
- coolers
- css
- fontshare
- google-cloud
- html
- javascript
- json
- nasa-power-api
- netlify
- nextjs
- postgresql
- react
- sql
- supabase
- tailwindcss
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.