A multi-location flooring contractor

Crew scheduling, field inventory, and a live KPI dashboard for a $1.8M home-services company, each build standing on the plumbing of the one before it.

Client:

A multi-location flooring contractor

Year:

2026

Industry:

Home Services

Duration:

Two weeks for build one; three builds in three months

Visit Website
Three builds in three months for a $1.8M flooring contractor

The Problem

A floor-coating company doing $1.8M a year, growing 43 percent quarter over quarter and opening its second and third cities, was still running operations the way it did at a tenth of the size: Excel sheets, a monthly audit, and people checking Jobber by hand.

  • Scheduling: sales reps could not see which crews were open. Jobber only lets the account admin authorize API access, so booking a full-day install meant calling the office or waiting. Competitors at this volume hire three to five full-time schedulers, roughly $150,000 to $250,000 a year in salary, to answer that one question.
  • Inventory: stock lived in a spreadsheet reconciled by a monthly audit. No real-time count, no view of which city held what, and a purchase order went out when someone noticed the rack was down to half a pallet.
  • Reporting: four to five hours every single week spent exporting Jobber reports into a workbook and reconciling receivables by hand.
  • Off-the-shelf tools were considered and rejected over lock-in. Waiting on a vendor roadmap for every missing feature is how the spreadsheets happened in the first place.

Each problem had the same shape: the data already existed in Jobber, and nothing the company could buy would read it the way their operation actually runs.

Three builds in three months for a $1.8M flooring contractor

Solution

Three sharply scoped builds in three months, each priced in thousands rather than tens of thousands, each one standing on the plumbing of the one before it.

Feature

How It Works

Build one: crew availability on one screen. Delivered, in daily use.

A live matrix of which crew leads are open, reading Jobber directly. Quote and invoice reminders are filtered out so free crews show as free, the business timezone comes from the account, and a crew lead added in Jobber appears on the screen with no developer involved. Jobber only grants API access to the account admin, so one admin authorization is shared behind a team password scoped to this app alone, and reps never touch the owner's Jobber login. Built in two weeks, in production since May 2026, with zero reported issues in week one.

Build two: inventory on the crews' phones. First working version delivered.

An installable app where the phone camera is the barcode scanner: pallets scan in as they arrive, material scans out as crews load trailers, and pre-printed barcode sheets cover loose stock that carries no label. Scans queue on the device when a job site has no signal and post once a connection returns. Per-location stock, low-stock thresholds, valuation, and a ledger of every movement with who, what, where, and when. Five days, one developer, and no scanner hardware bought.

Build three: the weekly KPI dashboard. In build now.

Currently replacing the four-to-five-hour weekly reporting ritual with a live view fed straight from Jobber: rolling seven-week collections, live receivables, scheduled versus completed revenue, per-rep quote performance, and a lead-source funnel from lead to invoice. It sits behind a separate finance password so reps never see revenue. Scoping caught that part of the client's workbook tracked ad-spend data that does not exist in Jobber at all, the kind of thing you only find by reconciling the actual artifacts before writing code.

The AI request came from the client

Days after the first delivery, the owner asked, unprompted, whether Claude could be wired to the schedule so his reps get a morning text with the next open install slots. That request became a standing proposal: the back office asks who is free Monday, and the answer comes from live schedule data.

Build one became a product

The availability system was productized as CrewSyncer for Jobber, now multi-tenant with its own billing, and a second company in a different trade connected to it on its own.

Three builds in three months for a $1.8M flooring contractor
Three builds in three months for a $1.8M flooring contractor
Three builds in three months for a $1.8M flooring contractor

How we work with clients

The same eight steps ran this build, and run every one before and since. A case study raises one question: would that happen for us too. This is the answer.

  1. 1

    The first call costs you nothing and commits you to nothing

    Both founders join. We ask about your operation before we say anything about software: where the hours go, what gets retyped, what breaks when a key person is on vacation. Most calls surface a smaller problem than the one you booked about, and sometimes a bigger one. We do not quote on this call. A number given before we understand the scope is a guess, and you would end up paying for our guess being wrong.

  2. 2

    We scope against your actual artifacts, not your description of them

    Before we estimate anything we ask for the real material: the spreadsheet your team fills in every week, the reports you export, a recording of how the work is done today. The spec in someone's head and the spec in their Excel file are never the same document. If you have an existing system that needs rescue or extension, we audit the code first, and the audit fee is credited toward the build.

  3. 3

    The proposal is a fixed price against a written scope

    Feature by feature: what is included, what is explicitly excluded, what we assume about your side, and what happens if scope changes. The price is fixed. Payment is tied to milestones, and each milestone is a working deliverable you can see and use, never a status report. Where our numbers will intentionally differ from your current spreadsheets, and they often do because live data catches what formulas miss, the proposal says so up front and we walk the difference together before go-live.

  4. 4

    Every proposal carries guarantees with teeth

    Stop after the first phase and you get a refund and keep every deliverable. If something does not work as specified we fix it at our cost, with no time limit. If we miss a milestone date, the next phase is discounted. In exchange we ask one thing: feedback within two business days, so the timeline holds.

  5. 5

    The build is short and visible

    Most projects run in weeks, not quarters. You see working software at the first milestone, usually within the first week or two, and every week after. We build on your data from day one so problems surface while they are cheap to fix. Questions come to you in batches, decisions get written down, and nothing important lives in anyone's head.

  6. 6

    Delivery means production, not a demo

    Before handoff the system carries what a decade of production work says it must: proper handling of the third-party APIs it depends on, meaning rate limits, retries and failover to last-known-good data instead of blank screens. Caching so it stays fast without hammering upstream systems. Access control that matches who in your company should see what. Timezone and edge-case correct business logic, tests, and error logging that tells us about a problem before you do.

  7. 7

    You own everything

    Source code, documentation, designs and infrastructure access transfer to you progressively during the build, not at the end. If the engagement stops, everything built stays yours. We build systems clients own and extend, because renting your core operations to a vendor's roadmap is how the four-hours-a-week spreadsheet was born in the first place.

  8. 8

    After launch we stay accountable

    Delivery includes a handoff period where we watch the system in real use and fix what surfaces. After that clients keep us on a monthly retainer for maintenance, monitoring and evolution, or take the documentation and run it themselves. Most stay, and most come back with the next project. Our longest accounts started with one small, sharply scoped build that worked in its first week.

Conclusion:

The first build cost $7,000, went live in two weeks, and now runs across 22 Jobber users and nine crew leads for $300 a month, which is under 3 percent of one scheduler's salary. One scheduler's salary would fund it for roughly fourteen years. Three months in, the account has grown to five phases, every one of them requested by the client. Their own board deck now reports on the work under a single name and lists scaling it across three locations as a company goal.