The problem

Landscape-lighting contractors sell an effect their prospects can't see until after installation, making it hard to close on-site.

Hand-mocking a nighttime lighting design in Photoshop is slow, skilled work that doesn't scale to every lead.

The approach

Wrapped an image-generation model in a contractor-facing web tool: one upload in, a rendered nighttime-lit version out.

Kept the stack fully serverless and edge-native so a small contractor could run it at near-zero fixed cost.

Instrumented the flow with a before/after comparison and lightweight feedback capture to tune render quality.

What I built

  • A Cloudflare Worker API that accepts a daytime photo, calls an OpenAI image model, and returns the lit render
  • A React + Vite frontend with a drag-and-drop uploader and an interactive before/after slider component
  • R2 object storage for source and generated images, KV for feedback, and a D1 database for lead/usage records
  • SQL migrations, a typed API client, and unit tests plus a Playwright end-to-end smoke test
  • A staged product plan (foundation, auth, wizard, embeddable widget, dashboard, integrations) driving delivery
  • Cloudflare Workers
  • Cloudflare Pages
  • R2
  • KV
  • D1
  • OpenAI image generation
  • React
  • Vite
  • TypeScript
  • Playwright
View live demo ← Back to all work

Want something like this for your business?

Book a free consult