Skip to content

SOLPOP

Multimodal AI Inspection Platform for Solar Fleets

RoleSolo build — Founder, Designer, Full-stack & AI Engineer. End-to-end ownership: research, schema, backend pipeline, two-stage AI orchestration, frontend UX, design system, audit infrastructure, deploy.
Built byShaurya Punj
LocationIndia
Year2026
SOLPOP hero

Overview

SOLPOP is a multimodal AI platform that turns a single solar panel photo into an inspector-grade O&M report in under a minute. Drop one image or batch up to 24 — the system auto-detects every distinct module in the frame, grades each against a 21-defect taxonomy, and synthesizes a fleet-level report with severity heatmap, prioritized 7/30/90-day actions, and quantified kWh/kW loss. Built for solar farm operators, asset owners, drone inspectors, and insurance claims adjusters who need fast, evidence-backed condition data without hiring a thermal-imaging crew.

Access on Request

Not publicly deployed.

Book a 20-minute private walkthrough and I will run the whole system end-to-end: architecture, code path, live UI, and the edge cases that shaped it.

Book a private demo

The Problem

Solar fleets quietly lose 5 to 15% of annual output to defects visible from the ground — soiling, microcracks, hotspots, partial shading. Diagnosing it today means hiring a thermal-drone service, waiting weeks, and paying four to five figures per site. Existing analytics platforms charge enterprise contracts and ignore the long tail of installers and asset owners running 100 kW to 10 MW fleets.

The Solution

A two-stage AI pipeline. Gemini 2.5 Flash sees the array — detects every panel, grounds defects with bounding boxes at cell-region precision, and emits strict JSON. Llama 3.3 70B on Groq aggregates that into an executive O&M report with health scores, ranked risks, and quantified energy loss. Results stream as NDJSON so panels light up live. Every AI call is audit-logged with pinned model versions for warranty-grade reproducibility. Free tier with BYO keys, scaling into a multi-tenant SaaS for solar farms.

Project Walkthrough

Agent Architecture

01

Panel-Gate Classifier

InputNormalized image buffer (≤768px long edge)
EngineGemini 2.5 Flash (JSON mode + fallback chain)
Output{ isSolarPanel, confidence, reason, imageDescription }
Speed: ~1 s per image (preflight, kills hallucinated reports)
02

Multi-Panel Detector

InputWider drone / array image
EngineGemini 2.5 Flash (grounding mode, NMS dedup)
OutputArray of normalized bboxes [ymin, xmin, ymax, xmax] + confidence
Speed: ~2 s per source image
03

Per-Panel Vision Inspector

InputSharp-cropped per-panel JPEG
EngineGemini 2.5 Flash (Zod-validated structured output)
OutputPanelAnalysis JSON — type, scores, defects + bboxes, actions
Speed: ~3 s per panel, parallelized at concurrency 2
04

Fleet Synthesis Analyst

InputArray of PanelAnalysis JSON
EngineLlama 3.3 70B Versatile via Groq (JSON-mode forced)
OutputSystemReport JSON — fleet score, severity dist, risks, recs
Speed: ~3-5 s for fleets up to 24 panels
05

Inspector Chat (fleet copilot)

InputSession JSON + chat history (last 30 turns)
EngineLlama 3.3 70B Versatile, streaming
OutputMarkdown stream with panel-IDs, severity tags, ROI numbers
Speed: ~250 tok/s, 4 personas × 7 locales
06

Defect Educator

InputDefect type + severity
EngineLlama 3.3 70B Versatile, streaming
Output4-section markdown (what / why / matters / fix), <180 words
Speed: ~250 tok/s, in-memory cached per defect type

System Architecture

SOLPOP architecture flowchart

Technology Stack

frontend

  • Next.js 16 (App Router, Turbopack, React 19)
  • TypeScript end-to-end
  • Tailwind v4 + custom industrial-brutalist design system
  • Framer Motion (springs, useScroll + useSpring parallax, count-ups)
  • Lenis smooth-scroll
  • Geist Sans + Geist Mono + Instrument Serif
  • react-dropzone, react-markdown, react-pdf, lucide-react

backend

  • Next.js Route Handlers (Node runtime, maxDuration 300 s)
  • NDJSON streaming (start / progress / detected / panel / synthesizing / report / done / rejected)
  • Zod schemas validate every model response before state
  • sharp (image normalize, EXIF-preserved crop, JPEG re-encode)
  • exifr (GPS, altitude, heading, takenAt, device extract)
  • In-memory token-bucket rate-limiting (per-IP, swappable to Redis)
  • @react-pdf/renderer (server-side PDF claim packet)

ai

  • Gemini 2.5 Flash for vision (panel-gate, multi-panel detect, per-panel) + Gemini 2.0 Flash fallback
  • Llama 3.3 70B Versatile on Groq for synthesis, chat, explainer
  • Prompt-version pinning (SHA-256 hash of system + user prompt)
  • Per-call audit log: { model, version, prompt-hash, payload-hash, latency, status, error }
  • JSON-mode forced on all structured outputs
  • Rate-limit-aware retry w/ Retry-After parsing
  • NMS dedup on overlapping detection bboxes

data

  • Drizzle ORM (sqlite default via better-sqlite3, Postgres swap on DATABASE_URL)
  • 18-table schema: orgs, users, memberships, sites, strings, modules, inspections, inspection_images, panel_results, defects, reports, audit_log, model_versions, api_keys, usage_events, shares, jobs, webhook_subs
  • IndexedDB via idb (per-browser session history, thumbnails)
  • Append-only JSONL audit log (.solpop-audit/<date>.jsonl)
  • 30-day TTL DB-backed shareable links

infrastructure

  • Local dev: Next dev (Turbopack), sqlite WAL, filesystem audit
  • Production-ready: Postgres swap via DATABASE_URL, Vercel deploy target
  • R2/S3 image storage hook, Inngest queue hook (jobs table scaffolded)
  • BYO API keys (per-org Gemini + Groq) + metered fallback path
  • 17 routes (9 pages + 8 API), build-static or server-rendered as appropriate
  • Tagged releases: v1.0.0 (capstone), v2.0.0-alpha (SaaS foundation)

Key Features

01

21-defect taxonomy with severity-graded bounding-box grounding (cracks, hotspots, soiling, PID, delamination, shading, more)

02

Multi-panel auto-segmentation from a single drone shot (Gemini grounding → server-side sharp crop → parallel per-panel analysis)

03

Live streaming dashboard — panels flip green as their analyses land

04

Per-panel deep-dive sheet: PDF claim packet, annotated PNG export, time-series re-inspection diff, cross-session compare, what-if ROI simulator

05

AI Inspector Chat scoped to session JSON, with 4 personas (engineer, junior, claims, investor) and 7-language synthesis

06

Audit log + model-version pinning on every AI call — reproducible reports for warranty, insurance, compliance audits

Screenshots

Project Presentation

15 slides

Full SOLPOP deck — problem space, two-stage AI pipeline, 21-defect taxonomy, audit-grade reproducibility, and the SaaS evolution plan.

Download deck PDF