Problem
Like most small field-service operators, these clients were losing revenue at the seams: calls going unanswered after hours, one person overwhelmed by scheduling, and dispatch run on guesswork with no routing logic and no capacity view. Every missed call was a lost job; every manual schedule was time not spent on billable work.
Approach
I designed, built, and deployed an AI automation layer over their existing operations:
- AI scheduling + dispatch engine (Sprinkler Repair Pros pilot) with custom business logic, not generic FAQ: route optimization, technician-availability scheduling, returning-technician matching from job history, and dispatch coordination.
- 5-factor route optimization: live drive time, returning-technician matching, schedule density, zone awareness, and availability.
- Customer autocomplete over the client's full HousecallPro customer base; drive times computed on the real road network (Google Distance Matrix with traffic, with OSRM fallback and a server-side route cache) rather than straight-line estimates.
- 24/7 AI voice agent (lawn-care client, in production): answers forwarded and after-hours calls, extracts the booking with Claude, texts the owner a one-tap confirm link, then sends the customer an SMS confirmation, no human in the loop unless the owner wants one.
- AI chat engine ("Zoe") embedded on client sites and 512ai.co for lead capture and booking.
- Integrated into the clients' real stacks: HousecallPro, Google Calendar, Twilio SMS/voice (A2P 10DLC-registered), and email, so the automation drove their actual workflow rather than sitting beside it.
- Deployed fast and proven on their own data: the scheduling pilot dispatched its first real job 7 days after the discovery call, with full rollout in about two weeks.
Impact
(Sources: the client-approved public case study at 512ai.co, verified engineering benchmarks, and the product's own database, chat/voice/booking counts pulled 2026-08-27.)
- Cut the owner's scheduling time from 15–20 minutes per call to under a minute (~95%), verified with the client on live dispatch calls
- Zero double-bookings after go-live, and 100% of returning customers matched to the technician who had serviced them before
- Drive-time engine benchmarked within ~1–2 minutes of Google Maps across the Central Texas service area; 93% of job addresses geocode to exact house level
- Platform has handled 2,100+ AI chat sessions and ~70 inbound AI voice calls end-to-end since April 2026
- Voice + SMS automation live in production since July 2026, capturing after-hours calls that previously went to voicemail
The framework, in hindsight
This workflow is also the context I carried into the Harvard Data Science Initiative's AI Strategist and Builder intensive (completed October 2026), which teaches the A.G.E.N.T. operating model (Hofmann and Kruhse-Lehtonen, Harvard Data Science Review). Mapped honestly:
- Audit: mapped the real intake flow: what triggers a job, where calls die after hours, and the outcome that matters, which is a crew arriving at the right job, not a transcript.
- Gauge: after-hours intake and scheduling scored exactly how the framework predicts: repeatable, structured, high impact, and badly matched to one overloaded human.
- Engineer: redesigned the flow agent-first instead of bolting a bot onto the old one: data made accessible (customer base, calendars, real drive times), decisions made explicit (routing and matching rules), success made measurable.
- Navigate: the owner stays in the loop by design: the agent extracts the booking and proposes, the owner confirms with one tap, the customer gets the confirmation. Autonomy grows as trust is measured, not assumed.
- Track: outcomes pulled from the product's own database: scheduling minutes per call, double-bookings, returning-technician matches, after-hours calls captured. Not vanity counts.
Shipping it maps to the companion B.U.I.L.D. framework (Blueprint, Unlock, Iterate, Launch, Drive): workflow-first specs, deliberate stack choices that deliver into the tools the client already uses rather than a new dashboard, short build cycles (first real job dispatched 7 days after the discovery call), a constrained launch (one workflow, one client, one measurable problem), and metrics that fund the next build.