— Case Study · Freedom Forever

An AI photo validator for solar installers — feedback before the crew leaves the site.

Role
Lead designer · Product strategy · AI agent build
Year
2026
Context
Freedom Forever · field operations
Platform
Mobile field app

Field crews were submitting photos that failed financing requirements — and nobody knew until it was too late.

Freedom Forever installation crews are required to submit proof-of-installation photos before projects can be approved and funded by financing partners. These photos have to meet specific requirements: correct angles, visible components, sufficient clarity, documented milestones.

The problem was structural. Human review wasn't catching every issue before submission. Photos would fail days later in the financing process — after crews had already left the site. When that happened, someone had to go back. A truck roll just to retake photos. Extra labor, project delays, and a direct hit to cash flow across a large operations pipeline.

Roughly 1 in 5 jobs had issues serious enough to create rework or delays. At scale, that's not an edge case — it's an operational cost center.

01
Photo taken
02
Submitted
03
Reviewed by finco
04 · Failure
Rejected
05 · Failure
Truck roll back to site

Three places to intervene. Only one was actually broken.

Before landing on validation, two other fixes were on the table: rebuild the tool that captures photos, or speed up how fast they get submitted. Neither would have caught a bad photo before it left the site — they'd have just made the existing loop faster or shinier.

01
Photo collection
Third-party capture app — unchanged
02 · Built
AI validation
New layer — this is what shipped
03
Submission
Unchanged — now succeeds on the first try
Rebuild the collection tool so it could validate itself
A months-long rebuild of a tool that already works. We didn't have that kind of time.
Shipped in weeks, not months
Sits between collection and submission — doesn't touch either system.
Automate submission to move faster
Speeds up getting to the same rejection. Treats the symptom, not the cause.

Catch the problem before the crew leaves the site.

The core insight was about timing. The failure wasn't happening at submission — it was happening because crews had no way to know a photo was bad until days after the fact. Move the feedback earlier, to the moment the photo is taken, and the problem largely disappears.

The solution is a mobile-first validation tool embedded in the field app. Installers upload a photo, the AI vision model evaluates it against financing requirements, and a result is returned in seconds — with specific, plain-language guidance on what's wrong and how to fix it while they're still on site.

— The AI pipeline
01
Photo uploaded
02
Vision model reviews
03
Requirements checked
04
Instant feedback
05
Crew corrects on site
06
Clean submission

The key design decision in the AI layer was output format. Financing requirements are written in compliance language. The validation result had to be translated into plain, actionable field guidance — not "image does not satisfy milestone documentation standard 4.2" but "panel is partially obstructed — retake from a wider angle."

A few directions got explored. Only one of them scaled to 40 checks.

Two early passes leaned on showing the actual photo next to each flagged item — it felt like the natural approach. Both ran into the same wall: photos dominate the screen at the expense of the fix itself, some checks need more than one photo per requirement, and the most common failure — a missing photo — is the one case a photo-based layout has nothing to show a photo of. The direction that actually held up dropped the photo and led with the fix.

Early pen-and-paper sketches of four layout ideas
Where it started — pen and paper before pixels
Job #4521 — 7 of 40 flagged
Review flagged photos
Elec
Battery photo missing — cover on.
Only wiring-compartment photos found (cover removed). Take a separate full-unit photo with the cover installed.
No photo captured
Roof
Array 2 module labels missing.
Array 1 has 3 label photos. Array 2 is empty. Each array needs a label photo with a readable serial barcode.
Comm
Wrong screen captured for Customer Reg.
Photo feed Real photo, or an explicit placeholder, paired with the fix text. More honest about missing photos, but each row runs roughly 3× the height of a text-only one.
Job #4521
Not ready
Not ready to submit.
7 of 40 photos need attention before this can go out.
7
Failed
33
Passed
40
Total
Panel — front
Meter
Panel — back
Inverter
Roof penetration — not captured
Disconnect
Grid + summary Adds a pass–fail count up top. Answers "am I done?" at a glance — but you're still scanning 40 tiles to find which ones need attention.
Job #4521
Not ready
Not ready to submit.
7
Failed
33
Passed
Comm
Company / Partners field is wrong.
Must read "Sunrun Inc (USA)" — re-take after editing Settings.
Comm
Wrong screen captured for Customer Reg.
Re-take on the address form screen instead.
Comm
Backup Test screenshots missing.
Requires 2 screenshots from the backup transfer test.
Comm
On Grid screenshots missing.
Requires 2 "On Grid" screenshots while live on grid.
Elec
Battery photo missing — cover on.
Take a full-unit photo with the cover installed.
Elec
Utility meter photo missing.
Photograph the meter socket separately.
Roof
Array 2 module labels missing.
Each array needs its own label photo.
✓
33 passed of 40
▾
Error list Text-only, grouped by category, ranked by severity. Nothing competes with the fix for attention — this is the direction that shipped.

Designed for a rooftop in direct sunlight on a five-year-old Android.

Every design decision was constrained by field conditions. Crews are on ladders and rooftops, often in direct sunlight, with one hand occupied. They need an answer in under three seconds and a clear next step with no ambiguity.

The previous submission flow gave them nothing — upload, submit, wait. The redesign inverts that: the verdict is immediate, specific, and actionable before the crew moves on.

Verdict first
Pass or fail is always the dominant element on screen.
One action per state
No scanning, no decision fatigue.
Color only for signal
Green for pass, red for critical error, nothing decorative.
Dark high-contrast UI
Readable in direct sunlight without squinting.
Plain language
Financing requirements translated into crew-level instructions.
Ready
Clear prompt, low friction to start.
Loading
Manages wait anxiety, maintains trust.
Error
Specific issue named, exact corrective action provided.
Pass
Confident confirmation, clear next step.

Improved financing acceptance rate. Faster payment. Fewer truck rolls.

75%+
Reduction in financing rejections
0
Unnecessary truck rolls for photo errors
Faster
Financing approval & payment flow

The tool improved the quality of field submissions, reduced preventable financing rejections, and helped accelerate payment by catching photo issues before crews left the job site. Manual review burden on the operations team decreased as submission quality improved upstream.

At scale across a large solar installation pipeline, eliminating unnecessary site revisits and accelerating financing approval has direct cash-flow impact — each avoided truck roll and each faster funding cycle compounds.

  1. 01Aggregate rejection patterns by photo type, installer, and region to surface systemic training gaps.
  2. 02Shift from reactive validation to proactive coaching — guidance before the photo is taken, not after.
  3. 03Expand the validation model as financing partners update their requirements, without requiring UI changes.
— End of case study

More work, conversations, and process notes on the main portfolio.

← Back to portfolio