Case Study

ServiceAssistant

Captures service-business leads, scores urgency, and routes to the right person.

ServiceAssistant screenshot

The Problem

Why this exists

Service businesses get leads through calls, texts, emails, and web forms. Someone has to triage urgency, figure out which tech is available, and track follow-up. High-volume shops drop leads and send the wrong person โ€” every missed call is a lost job.

โšก Emergency calls routed in seconds instead of minutes
๐Ÿ“‹ Every lead captured and tracked โ€” none lost in the shuffle

How It Works

From input to outcome

01

Lead arrives

Phone, web form, or email. The system captures contact info, service type, and description automatically.

02

Urgency scored

Keyword matching and time windows determine priority. "Water flooding basement" gets a faster response than "faucet drip."

03

Routed to the right tech

Assigns based on availability and service type. Status tracks through contact โ†’ scheduled โ†’ in-progress โ†’ completed.

Technical Decisions

Why build it this way

Urgency scoring over FIFO

First-in-first-out doesn't work for service calls. A burst pipe needs a faster response than a slow drain, and keyword-based urgency scoring handles that without needing a dispatcher.

Results

What it enables

โšก

Emergency calls routed in seconds instead of minutes

๐Ÿ“‹

Every lead captured and tracked โ€” none lost in the shuffle

What's Next

Planned improvements

  • SMS text-in support and auto-replies
  • Follow-up scheduling with SLA tracking