Client work - HVAC data

    How an HVAC company surfaced $1.3M–$2.1M in unsold estimates.

    Connected ServiceTitan records to a warehouse and operating dashboards, with agreed metrics and representative revenue reconciliation.

    $1.3M-2.1M
    unsold pipeline identified
    46%
    close rate surfaced
    End to end
    integration platform built
    Source-checked
    representative revenue reconciliation

    The Challenge

    ServiceTitan had the data. The business still could not see what mattered.

    A growing HVAC company running on ServiceTitan had all the data — jobs, invoices, technician performance, memberships — but it was trapped inside a system that only showed surface-level reports.

    Decisions were made on gut feeling because no one had time to dig through the numbers or stitch together what was really happening across sales, dispatch, invoicing, and memberships.

    Revenue was growing, but nobody could clearly explain where it was coming from, where it was leaking, or which technicians and workflows were actually driving performance.

    What the operation was fighting

    • ServiceTitan reports were too shallow for real business decisions
    • No visibility into unsold pipeline or close rates
    • Technician performance was invisible beyond basic job counts
    • Revenue was growing but nobody could tell where or why

    What We Built

    A complete intelligence stack for the whole business.

    The work covered the warehouse, dashboards, and the custom tooling needed to get ServiceTitan data into usable form.

    Real-time dashboards in Metabase

    Technician Scorecard, Revenue Command Center, Good-Better-Best Analysis, and Membership Performance all update from live warehouse data instead of manual spreadsheet pulls.

    A full ServiceTitan data pipeline

    We built ServiceTitan -> Fivetran -> BigQuery infrastructure with Bronze, Silver, and Gold layers so the business had clean data it could trust.

    A custom ServiceTitan MCP server

    AI tools can query jobs, invoices, customers, dispatch, technicians, and more directly through a controlled interface tied to the business's real data.

    A ServiceTitan CLI for instant access

    Power users can pull jobs, revenue, estimates, memberships, and technician data directly from the terminal without clicking through the web UI.

    How We Built It

    Warehouse first, then dashboards and AI-ready access on top.

    The stack was designed to make ServiceTitan data accurate, queryable, and usable across both human dashboards and machine interfaces.

    The pipeline runs ServiceTitan -> Fivetran -> Google BigQuery -> Metabase. Bronze holds raw immutable source data, Silver handles cleansing and deduplication, and Gold exposes business-ready marts optimized for real reporting patterns.

    On top of the warehouse, we built two open-source tools: a Model Context Protocol server that lets AI assistants query ServiceTitan data directly, and a CLI with 88 named commands for jobs, revenue, technicians, estimates, memberships, and more.

    Representative revenue output was reconciled against the ServiceTitan Reporting API source used by the dashboard. That check supported this implementation's operating reports; it does not certify every report or company.

    Implementation notes

    • ServiceTitan -> Fivetran -> BigQuery -> Metabase pipeline
    • Bronze/Silver/Gold data architecture
    • MCP server: 264 read-only tools by default across 15 domains, 458 total with experimental writes
    • CLI: 88 named commands, oclif v4, 212 tests passing
    • Representative revenue reconciliation via ServiceTitan's Reporting API

    The Result

    Unsold estimate value and operating metrics became visible.

    The business gained a clearer view of pipeline, close rates, technician performance, and revenue, with agreed definitions and representative source checks.

    The dashboards surfaced $1.3M-2.1M in unsold pipeline that was sitting in ServiceTitan the entire time, invisible. A 46% close rate was made visible, giving the sales team a concrete number to improve against. The pipeline figure describes unsold estimate value identified, with no recovered-revenue claim.

    The custom integration platform connected dispatch, invoicing, customer history, and technician performance into a single system the business fully controls. Two open-source tools came out of this work and are now public for ServiceTitan teams with API access.

    $1.3M-2.1M
    unsold pipeline identified
    46%
    close rate surfaced
    End to end
    integration platform built
    Source-checked
    representative revenue reconciliation

    Next Step

    Start Your Conversation

    If your business software is full of data you still cannot act on, let's fix that.