Book a 30-min call
$ cd ~/projects/solar-proposal-creation-dashboard agent.shipped · in production

Faster Solar
Proposals.

Reps were copy-pasting across CRM, proposal builder,
Twilio and the document generator. We pulled all four
into one React 19 + Next.js 15 dashboard with Server Actions,
orchestrated by AWS Step Functions Express. Proposal
creation time dropped 62%, 92% rep adoption in month one.

  • Home
  • Solar Proposal Creation Dashboard
Solar proposal creation interface

Solar Proposal Creation Dashboard

Industry
Solar Energy
Timeline
10 weeks
Key result
62% time reduction, 92% adoption
Tech stack
React 19, Next.js 15 (App Router, Server Actions), Node.js, AWS Step Functions Express + EventBridge Pipes + Lambda SnapStart, Twilio, PostgreSQL

We shipped a unified proposal dashboard that cut creation time 62% and hit 92% rep adoption in the first month. 3,200+ proposals a month across 8 regional teams and $1.1M in annual efficiency gains.

Four disconnected tools — CRM, proposal builder, Twilio calling and document generator — now live behind one React 19 + Next.js 15 dashboard. Server Actions handle the in-page mutations, AWS Step Functions Express + EventBridge Pipes orchestrate the multi-API fan-out, and Lambda SnapStart / provisioned concurrency keep cold starts off the critical path. Reps stopped tab-switching and started selling.

Full-Stack Integration Approach
  • Walk the workflow first — We sat with reps and traced their actual process across the four tools. The integration points only become obvious once you see the tab-switching in person.

  • One dashboard, four APIs — We orchestrated CRM, proposal generation and Twilio calling behind a single Next.js 15 dashboard, with AWS Step Functions Express + EventBridge Pipes handling the multi-API fan-out and Lambda SnapStart for the synchronous bits. Server Actions handle the in-page mutations — no client-side fetch sprawl.

  • Calls inside the flow — Click-to-call and call logging live in the proposal page, so a rep never bounces out to dial — and the note lands on the lead automatically.

  • Train and iterate — We ran training, wrote short docs, and shipped UX tweaks every week based on rep feedback. That’s how we got to 92% adoption without a mandate.

What was actually hard

The four tools each had a UX the reps knew by muscle memory. A unified dashboard that forced them to relearn everything would fail on day two. We had to orchestrate the third-party APIs cleanly, wire Twilio calling into the same screen, and keep the interaction model close enough to the old flow that reps adopted it voluntarily.

Solar panels on residential roof

Project Outcome

Proposal creation time dropped more than 60% and the sales team handles calls, proposals and close-out in a single dashboard. The rep feedback loop went from “the system is slow” to “what else can we put in here?” inside the first quarter.

> 62% proposal time
reduction
> 92% rep adoption
rate
> $1.1M annual efficiency
gains (est.)
> 3,200+ proposals
per month
Modern office meeting about solar proposals
Solar technician installing panels on rooftop
React 19Next.js 15Server ActionsNode.jsAWS Step Functions ExpressEventBridge PipesLambda SnapStartTwilioPostgreSQL

“Proposal time dropped by over 60% and our reps love the unified dashboard. What used to require four different tools now happens in one clean workflow.”

@ Brian C.

Sales Director — Solar Roofing Company

Solar panels silhouetted against a beautiful sunset
  • [Next.js 15] Server Actions
  • [React 19] interfaces
  • [Step Functions Express] orchestration
  • [EventBridge Pipes] fan-out
  • [Lambda SnapStart] warm start
  • [Twilio] calling