EverBright | solar financing platform
Cutting rejections from 55% to 34%
A rebuild that encouraged sales reps to enter real numbers instead of inflated ones
My role
Design lead (sole designer)
Timeline
Q4 2024 to Q3 2025
Team
1 PM, engineering team, 1 design reviewer
Skills
Product design, systems thinking, stakeholder management
EverBright | solar financing platform
Cutting rejections from 55% to 34%
A rebuild that encouraged sales reps to enter real numbers instead of inflated ones
My role
Design lead (sole designer)
Timeline
Q4 2024 to Q3 2025
Team
1 PM, engineering team, 1 design reviewer
Skills
Product design, systems thinking, stakeholder management


55% → 34%
Utility-bill rejection rate
I designed the rebuild and the guardrails that helped bring this rejection rate down by 21%.
2 days
To ship a surprise regulation
A new California requirement landed without warning, and we were able to implement a solution for it within two days instead of two weeks.
4 loopholes
Closed in the rebuild
Guardrails prevented inflated entered savings by addressing: projected usage, editable time-of-use, uncapped usage, and unverified rates.
55% → 34%
Utility-bill rejection rate
I designed the rebuild and the guardrails that helped bring this rejection rate down by 21%.
2 days
To ship a surprise regulation
A new California requirement landed without warning, and we were able to implement a solution for it within two days instead of two weeks.
4 loopholes
Closed in the rebuild
Guardrails prevented inflated entered savings by addressing: projected usage, editable time-of-use, uncapped usage, and unverified rates.
The stakes
A 25-year promise, entered on aging code
Financed solar is a 25-year commitment. The Usage Phase is where a sales rep enters the homeowner’s utility data: provider, rate schedule, usage, and cost. Every savings projection is built on top of it, and if it’s wrong, the savings that the homeowner signed up for never arrive.
In April 2025, EverBright implemented stricter utility bill verification to protect homeowners and reduce legal exposure. Overnight, rejected submissions jumped from 16% to 68%. The Usage Phase sat at the center of the problem, and it was running on aging, half-migrated code where every update was slow and risky. Our mission became: how can we continue to protect homeowners, without making EverBright harder to sell than other financiers?
Utility-bill rejection rate through 2025
The spike—and the climb back down
Verification launched in April 2025 and rejections spiked overnight. Training, policy, and the Usage Phase rebuild brought them back down to 34%.
16%
Before verification
68%
Verification launches
55%
Training + policy
34%
Rebuild + guardrails
Every rejection hit three personas at once
Sales reps
Every rejection meant redone paperwork and another trip back to the homeowner. Reps have options; most sales orgs work with several financiers, so they're incentivized to go with whoever makes it easier.
Homeowners
Every rejection meant a stalled sale and another ask for paperwork. For someone already nervous about a 25-year decision, each delay was a reason to back out.
Deal processing
Our internal deal processing team spent their days chasing corrections instead of moving deals forward.
The stakes
A 25-year promise, entered on aging code
Financed solar is a 25-year commitment. The Usage Phase is where a sales rep enters the homeowner’s utility data: provider, rate schedule, usage, and cost. Every savings projection is built on top of it, and if it’s wrong, the savings that the homeowner signed up for never arrive.
In April 2025, EverBright implemented stricter utility bill verification to protect homeowners and reduce legal exposure. Overnight, rejected submissions jumped from 16% to 68%. The Usage Phase sat at the center of the problem, and it was running on aging, half-migrated code where every update was slow and risky. Our mission became: how can we continue to protect homeowners, without making EverBright harder to sell than other financiers?
Utility-bill rejection rate through 2025
The spike—and the climb back down
Verification launched in April 2025 and rejections spiked overnight. Training, policy, and the Usage Phase rebuild brought them back down to 34%.
16%
Before verification
68%
Verification launches
55%
Training + policy
34%
Rebuild + guardrails
Every rejection hit three personas at once
Sales reps
Every rejection meant redone paperwork and another trip back to the homeowner. Reps have options; most sales orgs work with several financiers, so they're incentivized to go with whoever makes it easier.
Homeowners
Every rejection meant a stalled sale and another ask for paperwork. For someone already nervous about a 25-year decision, each delay was a reason to back out.
Deal processing
Our internal deal processing team spent their days chasing corrections instead of moving deals forward.
the problem
An evolving problem inside the same scope
My brief was initially to convert the Usage Phase to React, bring it onto our design system, and layer in targeted UX wins (aka not a full redesign). A previous partial migration had been done with no design involvement, and it showed.
Over time, the problem to address in the rebuild became more interesting: implementing it in a way that actually moved utility bill rejection numbers without blowing past the scope everyone had agreed to. That tension between quick tactical wins and long-term flexibility, all inside a fixed timeline, shaped the decisions that followed.
How might we
…turn a technical conversion into something that reduces rejections, continues to protect homeowners, and doesn’t expand into a full redesign?
the problem
An evolving problem inside the same scope
My brief was initially to convert the Usage Phase to React, bring it onto our design system, and layer in targeted UX wins (aka not a full redesign). A previous partial migration had been done with no design involvement, and it showed.
Over time, the problem to address in the rebuild became more interesting: implementing it in a way that actually moved utility bill rejection numbers without blowing past the scope everyone had agreed to. That tension between quick tactical wins and long-term flexibility, all inside a fixed timeline, shaped the decisions that followed.
How might we
…turn a technical conversion into something that reduces rejections, continues to protect homeowners, and doesn’t expand into a full redesign?
end-to-end Process
Process
1
Started from research, not a blank canvas
Months earlier I had run field research with sales reps. One Usage Phase-related insight informed this project: reps bend usage data to tell the savings story they think homeowners want to hear in order to sign up. The Usage Phase wasn’t just a series of routine inputs; it was where savings accuracy either held or slipped.
Insight: Sales reps often manipulate usage data to tell the homeowner what they view as a more accurate story. Since savings is a projection, they believe that they need to project the utility data as well.
2
Audited every component, then filled the gaps
I catalogued each legacy component that needed converting and found the gaps in our design system where new components were needed. I partnered with the design system team to build what was missing.
Before: legacy CSV upload

After: redesigned Document Upload

3
Designed guardrails that made it harder to inflate numbers
Product dug into the rejection data and found the two big culprits: about half the rejections came from picking the wrong utility or rate schedule, and most of the rest from usage entered incorrectly. With product, engineering, and risk, I reshaped the inputs to make the real and honest number become the easy one to enter. Although seemingly small changes to a form, they greatly impacted whether a homeowner's promised savings actually occurred.
Made the honest path easy
What we added
Historical usage inputs above the chart
Type-ahead rate schedule search
Usage and cost split into two charts
Assistance programs (CARE, FERA, etc.) surfaced, improving savings accuracy by ~40%
Made inflation hard
What we locked down
Annual usage cap (~3x typical)
Removed editable time-of-use profiles
Removed the projected-usage feature
Locked California rate selection to verified defaults
The same changes that made inflating hard made life faster for honest reps: cleaner submissions, fewer rejections, fewer trips back to the kitchen table.
4
Turned a surprise regulation around in two days
A California regulatory change landed with no warning; projects now had to include 12 months of verified interval usage data to proceed, with a documented reason whenever it was missing. On the old stack this would have been a slow and burdensome fix. On the clean React base, we built the compliance flow that surfaced the new requirement, shipping a compliant version in about two days.
The rebuilt California compliance flow

5
Held quality together through a mid-project re-org
A re-org broke our review rhythm and PRs piled up across several developers. I built a bug and UI-fix tracking table to stay organized across the team, ran reviews under a compressed timeline, and worked with product and engineering to triage what shipped. Afterward I facilitated a retro to bank the lessons.
end-to-end Process
Process
1
Started from research, not a blank canvas
Months earlier I had run field research with sales reps. One Usage Phase-related insight informed this project: reps bend usage data to tell the savings story they think homeowners want to hear in order to sign up. The Usage Phase wasn’t just a series of routine inputs; it was where savings accuracy either held or slipped.
Insight: Sales reps often manipulate usage data to tell the homeowner what they view as a more accurate story. Since savings is a projection, they believe that they need to project the utility data as well.
2
Audited every component, then filled the gaps
I catalogued each legacy component that needed converting and found the gaps in our design system where new components were needed. I partnered with the design system team to build what was missing.
Before: legacy CSV upload

After: redesigned Document Upload

3
Designed guardrails that made it harder to inflate numbers
Product dug into the rejection data and found the two big culprits: about half the rejections came from picking the wrong utility or rate schedule, and most of the rest from usage entered incorrectly. With product, engineering, and risk, I reshaped the inputs to make the real and honest number become the easy one to enter. Although seemingly small changes to a form, they greatly impacted whether a homeowner's promised savings actually occurred.
Made the honest path easy
What we added
Historical usage inputs above the chart
Type-ahead rate schedule search
Usage and cost split into two charts
Assistance programs (CARE, FERA, etc.) surfaced, improving savings accuracy by ~40%
Made inflation hard
What we locked down
Annual usage cap (~3x typical)
Removed editable time-of-use profiles
Removed the projected-usage feature
Locked California rate selection to verified defaults
The same changes that made inflating hard made life faster for honest reps: cleaner submissions, fewer rejections, fewer trips back to the kitchen table.
4
Turned a surprise regulation around in two days
A California regulatory change landed with no warning; projects now had to include 12 months of verified interval usage data to proceed, with a documented reason whenever it was missing. On the old stack this would have been a slow and burdensome fix. On the clean React base, we built the compliance flow that surfaced the new requirement, shipping a compliant version in about two days.
The rebuilt California compliance flow

5
Held quality together through a mid-project re-org
A re-org broke our review rhythm and PRs piled up across several developers. I built a bug and UI-fix tracking table to stay organized across the team, ran reviews under a compressed timeline, and worked with product and engineering to triage what shipped. Afterward I facilitated a retro to bank the lessons.
Outcome
What changed
The rebuild did its quiet job: cleaner data going in, fewer rejections coming out, and a system flexible enough to absorb whatever regulation or market threw at it next. That meant fewer corrections for deal processing, fewer redone deals for reps, and savings numbers homeowners could count on.
55% → 34%
Utility-bill rejection rate
Unnecessary inputs came out and accuracy improved—a cross-functional effort I designed key pieces of.
2 days
To ship a surprise regulation
California’s surprise requirement shipped fast on the rebuilt base, versus a slow, risky fix on the old stack.
0 old code
Left in the phase
Now runs on React and the updated design system, so future changes are fast and safe.
Strategic context: this was one prioritized initiative in a research-driven, multi-year sales-platform strategy. My guardrails were the data-integrity piece; a partner team tackled the homeowner’s proposal experience. Both traced back to the same field research. I also laid the groundwork for tracking second systems (solar added to homes that already have it, around 40% of California deals), ready for when the business prioritizes it.
Outcome
What changed
The rebuild did its quiet job: cleaner data going in, fewer rejections coming out, and a system flexible enough to absorb whatever regulation or market threw at it next. That meant fewer corrections for deal processing, fewer redone deals for reps, and savings numbers homeowners could count on.
55% → 34%
Utility-bill rejection rate
Unnecessary inputs came out and accuracy improved—a cross-functional effort I designed key pieces of.
2 days
To ship a surprise regulation
California’s surprise requirement shipped fast on the rebuilt base, versus a slow, risky fix on the old stack.
0 old code
Left in the phase
Now runs on React and the updated design system, so future changes are fast and safe.
Strategic context: this was one prioritized initiative in a research-driven, multi-year sales-platform strategy. My guardrails were the data-integrity piece; a partner team tackled the homeowner’s proposal experience. Both traced back to the same field research. I also laid the groundwork for tracking second systems (solar added to homes that already have it, around 40% of California deals), ready for when the business prioritizes it.
learnings
Key takeaways
When a team changes, re-establish how you’ll work together
Before the re-org, devs checked in often and I ran reviews along the way. After, that cadence didn’t carry over and reviews slid to right before launch, where easy fixes got dropped as “low impact.” Next time a team shifts, I would re-establish the review rhythm upfront.
A clean rebuild pays off long after launch
The two-day regulatory turnaround only happened because the system was finally in good shape. Invisible infrastructure work is easy to undervalue until the moment it saves you.
learnings
Key takeaways
When a team changes, re-establish how you’ll work together
Before the re-org, devs checked in often and I ran reviews along the way. After, that cadence didn’t carry over and reviews slid to right before launch, where easy fixes got dropped as “low impact.” Next time a team shifts, I would re-establish the review rhythm upfront.
A clean rebuild pays off long after launch
The two-day regulatory turnaround only happened because the system was finally in good shape. Invisible infrastructure work is easy to undervalue until the moment it saves you.