Working example, built for A. Hoffman Awning Co.

The update customers currently have to call and ask for, sent to them automatically instead

A BBB complaint from September 2025 describes a chipped, peeling coating job where a 2-week parts delivery was promised and then stretched past four months, with multiple no-show appointments along the way. A separate BBB complaint from July 2024 describes a failed awning motor and repeated promised callbacks that never came. Different jobs, same underlying gap: nothing in the current process tells a customer their status changed until they call and ask.

What's real: both complaints above are drawn directly from A. Hoffman Awning's BBB complaint history (filed 09/03/2025 and 07/29/2024). Across the complaints reviewed, the recurring thread is the same one the original outreach note flagged: a scheduled visit or parts order with no proactive update, leaving the customer to chase. The company's founding in 1910 and three-generation, family-run history (Andrew, then John Sr., then John Hoffman and Donna Hoffman today) are also public record, referenced only for framing, not implying anything about how the shop currently handles scheduling internally.

What's illustrative: the jobs, customers, and installer name below are fictional, not real Hoffman customers or open tickets. Nothing here sends a real text or email, this shows exactly what a customer would receive at each step. A real build would connect to whatever scheduling process the shop already uses and swap in an actual SMS/email service to send it.

Shop view: update a job

Sample jobs, fictional

What the customer sees

New estimate request: replaces phone-only intake

What I'd flag before this goes further

Nothing here sends a real text or email. This demo shows exactly what a customer would receive at each step. A real version needs an actual SMS/email service (for example Twilio or SendGrid) connected to whichever calendar or job-tracking system the shop already uses.
The six stages shown (request received, appointment scheduled, parts ordered, parts in stock, installer en route, job complete) are a typical awning install/repair flow, not copied from Hoffman's internal process. Worth a short conversation before this gets built for real; a coating touch-up, a motor swap, and a full flat-pan install likely move through different steps.
The BBB complaints are real and quoted from public record; the fix is a reasonable response to the documented pattern, not a guarantee it eliminates every delay. A part can still take four months to arrive. What this changes is whether the customer hears that automatically, on a schedule, instead of finding out by calling repeatedly.
The appointment-reminder button is separate from advancing a job's stage. That mirrors the two things the original note called out: confirmations/reminders tied to the existing scheduling process, and a proactive ping during longer parts waits. They don't have to ship together.
The intake form only captures a request, it doesn't book a specific time. Keeping it to "what you need and how to reach you" is deliberate, matching phone-based intake rather than promising a live scheduling calendar this demo doesn't have.