SolarQuote
Bill-to-Solar Estimate Lead Funnel
SolarQuote turns a single electricity bill into a personalized solar ROI estimate — no account, no phone number, no salesperson. Homeowners upload a bill as a PDF or a phone photo; OCR and an LLM read the consumption, tariff, and address straight off the page, satellite irradiance data sizes a rooftop system for that exact location, and the payback and 25-year savings are calculated in the bill's own currency. It works with bills from any country, layout, or language — and every visitor who asks for installer quotes is captured as a lead in an operator dashboard.
- Category
- Lead-Gen SaaS
- Role
- Solo design & engineering
- AI engine
- Mistral OCR + OpenAI
- Status
- Live · Open source
Next.jsReactTypeScriptTailwind CSSShadcn/UIBetter AuthPrismaNeon PostgreSQLVercel BlobUpstash RedisMistral OCROpenAI LLMGoogle Maps API

From bill to estimate.
Every number comes from the homeowner's own bill and their own roof — no tariff tables to maintain, no geographic limits.
Universal bill reading
OCR plus structured LLM extraction pulls consumption, tariff, and address off any bill — any country, language, or layout — with per-field confidence scoring.
Real irradiance, not guesses
Satellite-derived yield from PVGIS with a NASA POWER fallback sizes the system for the exact roof the user pins on a map.
Native-currency economics
The tariff is derived from the uploaded bill itself, so ROI lands in the user's own currency with no tariff database in the loop.
Resilient funnel
Manual-entry fallbacks, graceful degradation, and clear retry states keep the funnel converting even when an external API is down.
Four steps to a number.
- 1Upload an electricity bill — a PDF or a phone photo.
- 2OCR and an LLM extract usage, tariff, and address, flagging any low-confidence fields for review.
- 3Confirm the roof by dragging a pin on a satellite map.
- 4Irradiance data sizes the system and projects 25-year savings in the bill's currency.
- 5Request installer quotes — the visitor is captured as a lead.
- 6The lead surfaces in the operator dashboard with the full estimate and original bill.
Every visitor, a qualified lead.
Lead dashboard
Captured leads with search, status filtering, and estimated annual savings at a glance — behind admin authentication.
Full lead detail
Estimate breakdown, extracted bill fields, the pinned roof map, and the original uploaded document on one page.
Manual-entry leads too
Homeowners without a bill handy can type a few figures by hand and still convert into an estimate and a lead.

Behind the estimate
- OCR
- Mistral OCR reads any bill format
- Extraction
- OpenAI structures usage, tariff, and address
- Irradiance
- PVGIS with a NASA POWER fallback
- Storage
- Vercel Blob (bills) · Neon Postgres (leads) via Prisma
- Auth & limits
- Better Auth (admin) · Upstash Redis (rate limiting)
A closer look.





