← Back to Portfolio
Case study · B2B distribution · May 2026 · 7 min read

OD Granite: replacing the SDR floor with AI voice

OD Granite is a Ukrainian-American granite distributor moving stone into US commercial construction and high-end residential. B2B outbound was the bottleneck. Buyers don't read cold email. They take calls when the call sounds qualified. Hiring 4 SDRs at NYC payroll rates wasn't on the table.

This is what we built instead, why it broke for the first six weeks, and what's running today.

The starting problem

B2B granite distribution lives on two outbound surfaces: commercial general contractors specifying material for new builds, and residential remodelers placing recurring orders. Both expect a real conversation. Both speak a mix of languages in NY, NJ, FL, and TX markets. Both ignore cold email at scale.

The math on hiring SDRs to cover that surface: $90K base + 30% loaded cost + 4-person floor + 2-month ramp + multilingual requirement = $500K+ year-one burn before any pipeline lift. Not affordable at this revenue band.

The choice was: keep the surface unanswered, or build the operator stack to handle it without humans.

What we built

An AI voice operator stack tuned for B2B distribution outbound. Multi-turn qualification on the call. State-aware handoff to my Calendly when the lead qualifies. Real-time escalation to my phone when the lead is hot but the operator hits an edge case.

15+Languages in production
24/7Operating cadence
$0SDR headcount

Stack components:

What broke (first six weeks)

The honest part of every case study, which most consulting decks leave out.

Week 1. First production call ran 47 seconds of dead silence. Regional carrier flagged the line as "Scam Likely." Fixed by registering with the carrier reputation database and rotating to a branded calling number.

Week 2. Language detection picked Spanish on a Polish-speaking prospect because the first word was ambiguous. Fixed by switching to multi-second language detection window with confidence threshold.

Week 3. Calendly handoff fired before qualification completed. Booked 7 unqualified meetings before I noticed. Fixed by adding explicit qualification gate before any handoff intent triggers.

Week 4. Voice model started hallucinating granite grades that don't exist. Fixed by tightening the prompt with the actual SKU catalog and adding a refusal pattern on novel grades.

Week 5. Operator answered calls outside calling hours (7 AM to 7 PM local). Fixed by enforcing local-time calling windows per area code.

Week 6. Carrier reputation re-degraded after a spike in unanswered rings. Fixed by adding ring-time cap (4 rings) and pacing the call cadence.

By end of week 7, the operator was stable. Now it breaks about once a week. Usually a regional carrier change or a new vertical-specific term the model doesn't know. Fixes ship from my phone, usually inside 20 minutes.

What's running today

OD Granite voice operator handles outbound across 15+ languages, 24/7. Books qualified meetings directly to my Calendly. Escalates hot edge cases to my phone in real time. Daily summary lands in Telegram every morning.

No SDR floor. No managed services contract. No platform lock-in. The system runs on infrastructure I can swap if the underlying vendor changes pricing or capability.

The lesson isn't that AI works. The lesson is that production AI looks brittle until it doesn't, and you have to be the operator running it through that six-week ugly stretch before it earns the right to scale.

What I'd do differently

  1. Start with carrier reputation, not the model. The model was never the bottleneck. Carrier flags killed the first six weeks of pipeline. Carrier reputation management should be the week-one project.
  2. Lock the SKU catalog before going live. The model will hallucinate if you let it. Build the explicit refusal pattern before the first production call, not after the seventh meeting got booked on a phantom granite grade.
  3. Telegram escalation from day one. The first production calls need a human on standby in real time. Email is too slow. Telegram with audio attachments is what works.
  4. Soft-launch on one geography. Don't run 50 states on day one. One state, one language, two weeks. Then expand.

What this would cost a buyer

Hiring 4 multilingual SDRs to cover the same surface: $500K+ year-one loaded cost. 2-month ramp. Turnover risk. Management overhead.

The AI voice operator stack: $2,500 productized AI Growth Audit to validate fit, then a 4-8 week Sprint to ship the system. Client keeps the infrastructure. No retainer required after the Sprint closes. No lock-in.

Run the 60-second AI Ops Vulnerability Audit on your operation

Three pain hypotheses + three quick fixes you can run before spending a dollar. Tells you whether the full $2,500 audit is worth it for your shape. No fit, no fee on the paid version.

Get my audit →