Intelligent, data-driven cleaning recommendations for solar panel operations using NASA satellite data and multi-objective optimization.
- Frontend (Vercel): https://solaros.vercel.app
- Backend (Render): https://solaros.onrender.com/docs
- Frontend (Vercel): https://solaros.vercel.app
- Backend (Render): https://solaros.onrender.com/docs
SolarOS is a full-stack SaaS application that helps solar farm operators optimize cleaning schedules by balancing:
- Energy Output Recovery β Maximize kWh generation
- Carbon Footprint β Minimize environmental impact
- Water Conservation β Reduce water usage through intelligent forecasting
- Economic Efficiency β Optimize cleaning ROI
Built for hackathons, research demonstrations, and production deployment on Vercel (frontend) + Render (backend).
- Digital Twin Modeling β Physics-based degradation simulation
- NASA POWER API Integration β Real-time satellite environmental data
- Multi-Objective Optimization β Balance profit, carbon, and water usage
- Autonomous Recommendations β Data-driven cleaning date suggestions
- Rain Intelligence β Defer cleaning when rain is forecast to save water
- Multi-Farm Portfolio Optimizer β Optimize resource allocation across multiple sites
- Live Analysis β Interactive parameter tuning with instant feedback
- Production-Ready Analytics β Professional charts and metrics visualization
- Next.js 14 (App Router)
- TypeScript β Type-safe development
- Tailwind CSS β Utility-first styling
- Framer Motion β Smooth, performant animations
- Recharts β Data visualization
- FastAPI β High-performance Python API
- NumPy & Pandas β Scientific computing
- NASA POWER API β Satellite weather data
- Uvicorn β ASGI server
- Node.js 18+
- Python 3.10+
- Git
cd web
npm install
npm run devFrontend runs at: http://localhost:3000
# From project root
pip install -r backend/requirements.txt
uvicorn backend.main:app --reloadBackend runs at: http://localhost:8000
API Documentation: http://localhost:8000/docs
NEXT_PUBLIC_API_BASE_URL=http://localhost:8000For production on Vercel:
NEXT_PUBLIC_API_BASE_URL=https://your-backend-url.onrender.com- Create new Web Service on Render
- Connect GitHub repository
- Start Command:
uvicorn backend.main:app --host 0.0.0.0 --port $PORT - Deploy and copy the URL
- Import repository to Vercel
- Set Root Directory:
web - Environment Variable:
NEXT_PUBLIC_API_BASE_URL=https://your-backend-url.onrender.com - Deploy
| Endpoint | Method | Description |
|---|---|---|
/health |
GET | Health check |
/analyze |
GET | Solar cleaning analysis |
/rain-forecast |
GET | Rain intelligence |
/optimize-farms |
POST | Multi-farm optimization |
Full API docs: http://localhost:8000/docs
- Analyzes 30 days of solar farm data
- Recommends optimal cleaning date
- Calculates energy gain, carbon savings, and ROI
- Checks 7-day weather forecast
- Defers cleaning if rain expected
- Estimates natural dust reduction and water savings
- Optimize resource allocation across multiple farms
- Balance profit, carbon offset, or water scarcity constraints
- Smart selection based on cleaning ROI
SolarOS/
βββ backend/
β βββ main.py # FastAPI application
β βββ requirements.txt # Python dependencies
βββ ml/
β βββ data_loader.py # NASA API integration
β βββ scenario_analysis.py # Core optimization logic
β βββ ... # ML models
βββ web/
β βββ src/
β β βββ app/ # Next.js pages
β β βββ components/ # React components
β βββ public/ # Static assets
β βββ package.json # Node dependencies
βββ .gitignore
βββ README.md
cd web
npm run buildcurl http://localhost:8000/health- β No API keys committed
- β
Environment variables excluded via
.gitignore - β CORS configured for production
- β Input validation with FastAPI Pydantic models
This project is open source and available under the MIT License.
Contributions, issues, and feature requests are welcome!
- NASA POWER API for environmental data
- Vercel for frontend hosting
- Render for backend deployment
Project Link: https://github.com/yourusername/SolarOS
Built with β€οΈ for sustainable energy infrastructure