/ SYSTEM VALIDATION

We Audited a 34-Year HVAC Company Nobody Asked Us To. Here's the Full Technical Breakdown.

Last updated: March 2026

KEY FACTS

  • • Subject: Tampa Bay HVAC Operator — Est. 1991, Oldsmar FL area, 25,000+ service calls, 4.9★ average
  • • Audit Type: Independent Proactive Audit — not a commissioned engagement
  • • Pre-Audit GEO Score: 29/90 (AI Invisible tier)
  • • Critical Failures: 2/10 Entity Architecture, 0/10 Agent Enablement, 1/10 Schema Markup
  • • System Built: GEO Website Rebuild + AI Voice Agent + Operations Intelligence Dashboard
  • • Framework: UNBACKED 9-Pillar GEO Methodology, based on Princeton/Georgia Tech KDD 2024 research

Quick Answer

UNBACKED independently selected a Tampa Bay HVAC operator with 34 years of history and 25,000+ service calls to validate the 9-Pillar GEO framework in a real-world context. Despite a 4.9-star reputation, the operator scored 29/90 on AI visibility — placing them in the AI Invisible tier. UNBACKED rebuilt their entire digital infrastructure across three layers: a GEO-optimized website, a 24/7 AI Voice Agent with ServiceTitan API integration, and a real-time operations revenue dashboard. This page documents every technical finding, every fix, and every system deployed.

The Before State: A 4.9-Star Business Scoring 29 Out of 90

Despite 34 years of operation, 25,000+ completed service calls, and a 4.9-star rating, this Tampa Bay HVAC operator was completely invisible to AI search systems. Our independent 9-Pillar audit revealed a score of 29/90 — placing them in the AI Invisible tier — driven by three critical infrastructure failures.

Failure 1

Schema Contamination

The LocalBusiness JSON-LD schema used a generic template that parsed the phone number as an integer rather than a string — causing AI parsers to reject the entity data entirely. The sameAs array was completely empty, meaning no Knowledge Graph relationships existed.

Failure 2

Agent Blindness

No llms.txt, no agent.json, and no AI crawler permissions in robots.txt. GPTBot, ClaudeBot, and PerplexityBot had no explicit access or context files. The business was invisible to every major AI crawler by default.

Failure 3

Entity Fragmentation

NAP (Name, Address, Phone) data showed inconsistency across 14 of 20 tracked directory aggregators — triggering entity fragmentation. LLMs discount unstructured entity mentions by up to 67% compared to explicitly linked schema. Every inconsistency reduced model confidence in the entity.

Initial 9-Pillar Audit Findings

Pillar Score Critical Failure
1. Entity Architecture 2/10 Severe NAP inconsistency across 14/20 aggregators
2. Schema Markup 1/10 Template contamination; phone number parsed as integer
3. Citable Content 4/10 Single-page structure; no BLUF formatting; zero RAG-ready blocks
4. Proof Over Claims 8/10 Strong operational history; license numbers absent from site
5. Knowledge Graph 0/10 Empty sameAs array; zero entity relationships established
6. Platform Distribution 5/10 Missing from Yelp and Apple Maps — both Perplexity-path
7. Agent Enablement 0/10 No llms.txt, agent.json, or AI-optimized robots.txt
8. Moat Building 4/10 High trust, zero dense data tables or expert-authored content
9. Measurement 5/10 Standard GA4 only; no AI crawler traffic segmentation
Total Score 29/90 Tier: AI Invisible

UNBACKED's March 2026 AI citation analysis of the Tampa market confirmed what this audit revealed at the individual level. Full market research →

The 3-Layer System We Built

We rebuilt the operator's entire AI infrastructure across three integrated layers. Each layer addresses a distinct revenue leak: AI invisibility, missed inbound calls, and backend operational waste. The system was built to production-ready standards and deployed in 14 days.

Layer 1: GEO-Optimized Web Architecture

The website was rebuilt from scratch on a clean architecture optimized for generative engine extraction. Every page follows BLUF formatting with passage lengths calibrated to 134–167 words — the optimal range for RAG retrieval probability.

  • LocalBusiness JSON-LD completely rewritten — phone as string, all fields validated
  • sameAs array built with 6 platform links (GBP, Yelp, Apple Maps, Bing Places, BBB, Angi)
  • llms.txt deployed summarizing entity in markdown
  • agent.json deployed for agentic tool discovery
  • robots.txt updated — GPTBot, ClaudeBot, PerplexityBot all explicitly allowed
  • Multi-page site structure replacing single-page
  • BLUF-formatted service pages, FAQ schema on each
View GEO Rebuild Demo →

Independent demo build — not the operator's live website. Built by UNBACKED as proof of concept.

Layer 2: 24/7 AI Voice Agent Integration

The AI Voice Agent answers 100% of inbound calls with sub-500ms latency, pre-qualifies the caller's issue using HVAC-specific logic trees, and books appointments directly into ServiceTitan via webhook API — eliminating the 27% revenue leak caused by missed calls.

Performance Benchmarks

Metric Benchmark This Build
End-to-End Latency <500ms industry standard <500ms
Emergency Keyword Detection Gas leak, flooding, no heat, burst pipe ✓ Configured
CRM Integration ServiceTitan / Jobber ✓ Live API
After-Hours Coverage 24/7 ✓ Always on
Fallback Routing Human transfer <70% confidence ✓ Configured
Call Transcript Logging Full text + sentiment ✓ Active

Caller Input (Scenario: 2AM Emergency)

C

"My water heater just broke and there's water everywhere! Do you guys have anyone available right now?!"

AI

"I'm so sorry, that sounds extremely stressful. First, have you located the water shut-off valve to stop the leaking? Yes, we have an emergency plumber on call for the Tampa area. What is your address?"

System Output (JSON Webhook)

{
  "call_id": "ai_req_982x7b",
  "status": "booked",
  "customer": {
    "phone": "+14075550198",
    "name": "John Davis",
    "address": "4420 Oak Street, Orlando, FL"
  },
  "job_details": {
    "trade": "HVAC",
    "issue_summary": "Carrier AC unit blowing warm air, thermostat reads 82.",
    "priority": "HIGH_SAME_DAY",
    "scheduled_window": "2026-03-09T14:00:00Z"
  },
  "sentiment": "Frustrated, urgent",
  "ai_confidence_score": 0.98
}

Fallback Logic: If ai_confidence_score drops below 0.70 or the caller explicitly requests a human, the agent immediately routes to on-call staff with full call context pre-loaded.

LIVE DEMO

Watch the AI Answer a Real Call

A homeowner calls. The AI answers, checks the caller history, books the appointment, and sends the confirmation — without a human touching it.

Demo video coming soon

Recording in progress — check back shortly

GEO-Optimized Website

GEO-Optimized HVAC Website Demo
View Demo →

Live Operations Dashboard

HVAC Operations Dashboard Demo
View Dashboard →

Layer 3: Operations Intelligence Dashboard

The operations dashboard connects directly to the CRM backend and surfaces three levels of data simultaneously: executive revenue view, strategic service line view, and tactical technician view — eliminating the blind spots that cause revenue leakage.

KPI Hierarchy

View Level Metrics Tracked
Executive Total Revenue, Gross Margin, Missed Call Recovery Rate
Strategic Service Line Revenue (AC Repair vs Installation vs Maintenance), Lead Conversion Rate
Tactical Real-time Job Status, Technician Utilization Rate, First-Time Fix Rate

Key Formulas

Technician Utilization Rate = (Billable Work Hours / Total Paid Hours) × 100

Revenue at Risk = Missed Calls × Average Job Value ($350–$6,000)

All metrics shown use synthetic data modeled on industry benchmarks. Real client deployments connect directly to live ServiceTitan or Jobber API data.

View Live Dashboard Demo →

Synthetic data demo — not live client financials.

How the Full System Was Deployed

Phase 1 — Days 1–5

GEO Foundation

Entity architecture audit across 20+ aggregators. Schema rewrite and validation. llms.txt + agent.json deployment. Platform distribution across GBP, Yelp, Apple Maps, Bing Places, Angi, BBB.

Phase 2 — Days 6–10

Voice Agent Deployment

Logic tree mapping for HVAC/plumbing scenarios. ServiceTitan API authentication and webhook configuration. Emergency routing setup. Live testing across 20+ scripted and unscripted call scenarios.

Phase 3 — Days 11–14

Ops Intelligence

Dashboard build and CRM data pipeline. Revenue tracking and missed call recovery setup. GA4 AI traffic segment configuration. Reactivation automation sequences for unconverted leads.

Notice on "After" Scores

UNBACKED does not publish fabricated "After" scores immediately following an install. True GEO validation requires 30-60 days for Large Language Models to re-crawl the new schema, update the entity in their Knowledge Graphs, and adjust weights in RAG retrieval. The system is live, and citation tracking is underway.

Frequently Asked Questions

Why did UNBACKED audit a business without being hired?

To validate the 9-Pillar GEO framework against a real-world legacy operator before charging clients. We built the complete 3-layer system — website, voice agent, and dashboard — to prove the methodology works in production conditions. No client money. No fabricated results.

Is the deployed system real or a demo?

Both layers are production-ready builds. The GEO website is a fully functional Vite deployment. The voice agent uses real ServiceTitan API webhook architecture. The dashboard runs on live infrastructure with synthetic data substituted for client financials to protect privacy. Every component would function identically with real client data connected.

Why is the subject business not named?

Standard anonymization practice for independent innovation studies. The technical findings — pillar scores, schema failures, entity gaps — are based on a real public-facing audit. The business identity is withheld to avoid implying endorsement and to protect their brand. Full disclosure: no commercial relationship exists.

What does a real UNBACKED installation include that this demo doesn't?

A live client installation adds: the voice agent running on the client's actual business phone number, real CRM data flowing through the dashboard, Knowledge Graph submission to Wikidata, ongoing citation tracking across ChatGPT and Perplexity, and 90-day guarantee monitoring. Full system deployed in 14 days. Starts at $700.

How do I know this would work for my specific HVAC or plumbing business?

Book a free AI Visibility Audit. We score your domain across all 9 pillars and show you exactly where your gaps are — before you spend a dollar. If you score above 75/90, we will tell you that you don't need us and decline the engagement.

"We don't sell AI. We sell the recovery of the 27% of revenue HVAC companies are bleeding to voicemail and disorganized dispatch. The technology is just the mechanism."

— Abdelghani Mellal, Founder, UNBACKED