Greenlight
Landscaping proposals · B2B SaaS · early access
Problem
Landscaping contractors close deals with words and estimates. The sale dies in the gap between what the client imagines and what gets quoted. When excitement cools, quotes get forgotten. Consumer AI landscape tools are homeowner-first style pickers. Contractor software treats design as an afterthought.
Solution
I built Greenlight so contractors can see the finished yard before they quote it. Snap a photo on-site, get a photoreal redesign in seconds, swap materials and features while the homeowner watches, and leave with a clean visual takeaway that keeps selling after the truck pulls away.
The app runs a wizard for address, site context, and style, then generates a budget- and climate-aware brief, photoreal renders via Imagen, and an auto-critique loop that refines weak outputs before export.
Next.js · Supabase · Vertex Imagen
Early access. Demo uses synthetic renders where noted.
How it works
Greenlight is a Next.js App Router app with Supabase auth and storage. The contractor uploads a property photo, sets ZIP, budget, style, and maintenance level, and the server builds a structured brief: scope summary, key features, cost range, timeline, and an image prompt tuned to climate zone and site constraints.
Renders go through Google Imagen on Vertex. A critique agent scores each output and can trigger one auto-refine pass before results land in the proposal view. Refinement accepts natural-language edits ("swap gravel for flagstone") and regenerates from the same base photo. PDF export bundles the render, plant list, and scope into something the contractor can hand off at the end of the visit.
| Layer | What |
|---|---|
| Frontend | Next.js 16, React 19, Tailwind design tokens from Stitch export |
| Auth + storage | Supabase (saved proposals, project photos) |
| Brief | Server-side LLM expands site inputs into scope, materials, and prompt hints |
| Render | Vertex Imagen with climate- and budget-aware prompt assembly |
| Quality loop | Critique route scores renders and triggers auto-refine on failure |
| Export | HTML-to-PDF proposal with render, features, and cost range |