Our work · Case studies

Real builds. Real businesses.

Three systems we designed and built for three owners — what was broken, what we shipped, and where each one stands today. Two are running in production; the third is still being built, and says so. No hypotheticals.

Case study 01

One click by the customer. Zero clicks for the office.

How Accent Painting, a Denver residential painting contractor, eliminated double data-entry across five systems and got true per-job profit visibility.

DenverOwner-operated, sub crews15–30 jobs a monthDelivered live in ~3 weeks

What we built

  • Deep audit. Every zap, workflow, and bookkeeping habit mapped before a line was built, which is where the landmines turned up.
  • One job registry. A single system of record ties each job's IDs across all five platforms, written once and read by everything downstream.
  • Bank-grade guardrails. Every money-writing step is idempotent, so double-posting is impossible and nothing moves money without an open gate.
  • Quote accepted → books ready. An accepted quote opens the job and its estimate in QuickBooks without anyone re-keying the customer.
  • Sub bills that file themselves. Subcontractor bills arrive attached to the job they belong to instead of a monthly pile nobody can allocate.
  • Paint costs, per job. The supplier statement is split job by job, turning one lump sum into real per-job material cost.
  • Walkthrough done → invoice sent. Finishing the walkthrough builds and sends the customer invoice the same day rather than days later.
  • Payment → marketing, automatically. A paid customer lands on the marketing list on their own, so review requests and neighbor mailings stop depending on memory.
  • Crew checkbox → customer text. The crew ticks one box on site and the customer gets the update, with no office step in between.
  • Keep what works. His existing tools and habits stayed put; Zapier was demoted to a thin sensor layer feeding a monitored core.

Download this case study (PDF)

5

Platforms unified behind one system of record

9

Production automations

~2 min

From accepted quote to books-ready

$0

Moved by the system — humans approve all money

The challenge

Five capable tools that didn't talk.

Every accepted quote meant the same job got typed into three or four systems by hand.

Double data-entry everywhere

Customer info, job records, sub bills, and invoices were re-keyed between PaintScout, HeyPros, QuickBooks, and the CRM.

No per-job profitability

Paint costs landed as one monthly lump sum and sub bills weren't tied to jobs, so the owner couldn't see which jobs made money.

Invoicing lag

Customer invoices were built by hand after walkthroughs, sometimes days later. Slow invoice, slow cash.

A silent bookkeeping time bomb

The paint-supplier statement routine was one workflow change away from double-counting five figures a month in materials costs.

Marketing on pause

Completed customers never reached a marketing list, so neighbor mailings and review requests depended on someone remembering.

A fragile inherited mesh

A previous agency left ~10 Zapier zaps with no error handling, no deduplication, and no documentation.

The approach

Audit first. Then one spine for everything.

01

Deep audit

We mapped every zap, workflow, and bookkeeping habit before building — and found the landmines.

02

One job registry

One system of record ties every job's IDs across all five platforms — written once, read by everything downstream.

03

Bank-grade guardrails

Every money-writing step is idempotent, so double-posting is impossible — and nothing moves money without an open gate.

04

Keep what works

His tools and habits stayed; Zapier became a thin sensor layer feeding a monitored automation core.

What we built

What we built.

Quote accepted → books ready

A customer accepts a PaintScout quote and QuickBooks instantly gets the customer, the job, and an estimate at the accepted price. About 2 minutes, zero touches.

Sub bills that file themselves

A subcontractor invoice approved in HeyPros becomes a QuickBooks bill in seconds, correct vendor, tagged to the job, change orders included.

Paint costs, per job

Supplier invoice emails become per-job bills automatically, and every month a robot reconciles the supplier statement against the books and emails the verdict.

Walkthrough done → invoice sent

The final walkthrough triggers the customer invoice at the accepted price, payment link included — piloted behind an approval gate, now fully automatic.

Payment → marketing, automatically

When the invoice is paid, the customer moves to "Past Customer," gets tagged, and joins a self-filling marketing list.

Crew checkbox → customer text

Subs check "1 hour out" or "final walk complete" on their existing checklist and the customer gets the text, the thank-you, and a review request. Nothing new for crews to learn.

Nothing fails silently: every edge case emails the owner a plain-English explanation and the 20-second fix.

Results

Proven on live jobs, not promised.

15–25 hrsOf office data entry eliminated, per month
100%Of workflow paths verified on live traffic
0Duplicate transactions possible, by architecture
DaysTo first fully hands-free jobs after go-live
  • True per-job P&L, live in QuickBooks: revenue vs. sub labor vs. paint, updated the moment costs occur.
  • Caught before it cost anything: a five-figure-per-month double-count risk in materials bookkeeping and a bank-feed misclassification creating phantom receivables.
  • Same-day proof: a sub's invoice, change order included, became a paid bill in the books without anyone typing a number.
  • Owner adoption on day one: he paid the first system-created bill through his normal flow instead of re-entering it.

The full lifecycle

Down to the last postcard.

The whole customer lifecycle runs on its own, from the first quote to the neighbor mailing.

  • Quarterly email and postcard nurture goes to the self-filling past-customer list
  • A thank-you gift and neighbor mailing go out automatically on final payment
  • Review requests feed the client's existing crew review-bonus program
  • Full documentation handed off, with an optional monthly care plan keeping watch
PaintScoutHeyProsGoHighLevelQuickBooks OnlineSendJimZapier · sensor layerMake · automation core

Case study 02

A 50-page work order in. A priced job workbook out.

How Advantage Security — and Scott Honsberger, the Site Supervisor who runs the paperwork on its Denver single-family-rental turnovers — stopped hand-transcribing every line item on every job. The build we delivered for his own work orders became SubCost.

DenverSingle-family rental turnoversInvitation Homes work ordersSubCost · web app

What we built

  • Parse the real thing. Extraction tuned to the actual Invitation Homes scope-of-work format and developed against his own work orders, not a generic PDF reader.
  • Nothing to install. He opens SubCost in the browser and signs in with an emailed link — no password to keep, because none is stored.
  • Upload, wait, done. A 50-plus page work order comes back as a finished Excel job workbook; the validated build turned one around in about two to four seconds.
  • The file doesn't linger. An uploaded work order is parsed to produce the workbook and then deleted, not kept on file.
  • Price it on import. Every line arrives carrying its approved price and his 60% cut, computed the moment the work order is read.
  • A checklist in build order. Line items are grouped into real construction phases, demo first through final clean, instead of the order the PDF happened to list them.
  • Two inputs, nothing to break. He marks an item done and types what it actually cost; every other cell is locked so a stray keystroke can't destroy a formula.
  • Margin graded live. Each line flags itself OK, TIGHT, or OVER as costs go in, so a job going sideways shows up while he can still act on it.
  • Checks its own math. The parsed line items are summed against the printed project total and any drift is flagged, so a missed line surfaces immediately instead of quietly costing him margin.
  • Change orders, print-ready. A change-order request fills itself from his working numbers and deliberately shows printed-price terms only, keeping his cost and margin internals off the page.
  • Knobs per job, not per app. Subcontractor rate, warning threshold, and change-order markup are editable inside each workbook without touching the app.

Download this case study (PDF)

50+

Pages in a single work-order PDF

73

Line items on one job — 62 on another

60%

Subcontractor cut, previously figured by hand per line

Daily

In use on live jobs today

The challenge

Hours of typing before a tool came off the truck.

Every job arrived as a work-order PDF running 50+ pages, and none of it was usable until Scott retyped it.

Every line, by hand

Read all 50+ pages, then hand-copy each line item and its approved price. One real job carried 73 line items; another carried 62.

60% math, one item at a time

His subcontractor cut had to be computed against every approved price individually before he could tell what the job was actually worth to him.

Margin only after the fact

What he was paid and what he actually paid out were tracked separately, so he learned how a job performed once the job was already over.

Nothing to check the math against

On a 73-line hand transcription, a single mistyped or skipped price is invisible — and comes straight out of his own margin.

The approach

Build to his paperwork, not to a generic PDF.

01

Parse the real thing

Extraction tuned to the actual Invitation Homes scope-of-work format, developed against his own work orders.

02

Price it on import

Every line lands carrying its approved price and his 60% cut, computed the moment the file opens.

03

Lock the math

He types in yellow cells only. Everything else is protected, so a stray keystroke can't break a formula.

04

Ship it where he works

SubCost opens in the browser and signs him in from an emailed link. Nothing to install, no password to keep.

What we built

The Work Order Converter, now SubCost.

Upload the work-order PDF and the finished Excel job workbook comes back priced and phased — two to four seconds in the build we validated against his own jobs.

Upload, then open the workbook

One tool with one job. The work order goes in and an Excel job workbook comes back out. The build we delivered to Advantage Security wrote a five-sheet workbook next to the PDF on his own machine; SubCost hands the workbook back in the browser and deletes the upload once it’s built.

A checklist in build order

Every line item auto-grouped into phases in construction order — Demo first, Final Clean last — with room, full vendor instructions, quantity, the approved price, and his 60% cut. Job totals pinned to the top and frozen while he scrolls.

Two inputs, nothing to break

He types in the yellow cells only: an “x” when an item is done, and what it actually cost. Every other cell is locked by sheet protection.

Margin graded live

A Flag column grades every line as costs go in — OK, TIGHT once a cost passes 85% of his price, or OVER. He sees the squeeze while the job is still running.

Change orders, print-ready

The change-order form fills itself from his working numbers and shows printed-price terms only. His cost and margin internals stay off the page he hands over.

Knobs per job, not per app

A Settings sheet holds the subcontractor rate (60%), the change-order warning threshold (85%), the markup (20%), and the trade-to-phase map — editable per workbook without touching the app.

A Summary sheet rolls the whole job up by phase and by trade.A layout the parser doesn’t recognize reaches the AI fallback only after you approve it, document by document.

Results

It checks its own work.

2–4 secFrom work order in to finished workbook
0Line items typed by hand
5Sheets built per job, priced and phased
3Real work orders validated before handoff

Every figure above was measured on the build we delivered to Advantage Security, across three of its real work orders. They are what that workflow did on those jobs, not guaranteed results for every SubCost document.

  • It audits its own arithmetic: the parsed line items are summed against the printed project total on the PDF’s summary page, and any drift is flagged — so a parsing miss surfaces immediately instead of quietly costing him money.
  • It survives broken PDFs: one real work order encoded ff, fi and fl as ß, Ý and Þ through a corrupted font character map. The parser normalizes it instead of passing the garbage through to his workbook.
  • It fails loudly, never silently: an unrecognized trade is routed to a “Review” phase with a warning rather than being dropped from the job.
  • Margin became knowable during the job instead of after it: approved price, his price, and actual cost sit on the same row from the first day of work.
PythonPyMuPDF · PDF extractionopenpyxl · workbook generationMicrosoft ExcelRailway · SubCost hosting

Where it went

The build became a product.

What we proved on Advantage Security’s work orders now runs in the browser for anyone who gets paid off someone else’s scope: sign in with an emailed link, upload the work order, get the priced, phase-ordered workbook back.

Case study 03 · In progress

Beat the other wholesaler to the deal.

Nickolas Peters owns Epimeno Holdings, a Denver real-estate wholesaling business, and set the job in one line: beat the competition to his wholesale deals. We’re building him HotSignal — custom lead-generation software that goes to the county for records itself and hands his team phone numbers already checked against do-not-call. The build is in progress; what follows is what it does, not what it has returned.

DenverReal-estate wholesaling5 county sources, directHotSignal · build in progress

What we’re building

  • Get there first. The brief from Nickolas Peters was to beat other wholesalers to his deals. Every part below serves that one job.
  • Straight from the county. The county data engine pulls records direct from 5 county sources, up to 4 record types from each.
  • Fresh where freshness is the whole point. Direct-from-county capture lands same-day to 48 hours; licensed bulk data can trail the actual county record by weeks.
  • Deduped and scored on the way in. Records are matched and ranked as they arrive, so the team works a list instead of a pile.
  • Enrichment on licensed APIs. Each record is filled out from licensed data sources before anyone works it.
  • Two-way GoHighLevel sync. Opportunity mapping, tags, dedupe, and status write-back — so the CRM and the engine never disagree about a lead.
  • A compliance guard, not just a phone number. Skip-trace returns numbers; it does not make them legal to call. Every number arrives DNC- and litigator-flagged before it reaches anyone.
  • The flag travels with the lead. Deal Terminal shows the compliance status on screen. Dialing decisions stay with Epimeno; the system makes sure nobody dials blind.
  • Guard runs without a paid feed. The same flagging logic works with no paid skip-trace at all, against any DNC list Epimeno provides.
  • Deal Terminal. One internal dashboard to filter, inspect, and export every lead in the system.
  • The SubCost story, again. One client’s custom build already became a product once. This is the second time, and the product has a name: HotSignal.
  • Not finished, and not dressed up as finished. The build is underway. There are no outcome numbers on this page because there are none yet.

5

County sources pulled direct, not through a broker

4

Record types per county source, at most

Every

Skip-traced number DNC- and litigator-checked first

1

Screen to filter, inspect, and export the whole pipeline

Those four are build facts — what the system is built to do. They are not outcome figures, and this study does not carry any: the build is still in progress.

The challenge

The deal goes to whoever gets there first.

Nickolas Peters is not the only wholesaler working Denver, and the lead flow he was buying arrived on somebody else’s terms.

Late is the same as never

On a given property, the wholesaler who reaches the seller first is the one who gets the conversation. Second place isn’t a smaller deal — it’s no deal.

A rented source

Lead flow was bought in from a broker, with a cut of every closed deal on top. Nothing about the supply belonged to the business, and it lasted exactly as long as the arrangement did.

Bulk data runs behind the county

Licensed bulk data can trail the actual county record by weeks. In wholesaling, a record you receive weeks late is not the same asset as the record itself.

A phone number is not permission

Skip-trace hands back numbers. It does not tell you which of them are on a do-not-call list or attached to a known litigator — and that is exactly the difference between a call and a TCPA problem.

Two systems, two versions of a lead

A data engine on one side and a CRM on the other drift apart fast: statuses updated in one, duplicates created in the other, and no agreement on which record is real.

Nowhere to actually look at it

Raw county records, enrichment, and skip-trace results are three different shapes of data. Without one place to filter and inspect them, the team is reading exports.

The approach

Own the source. Check the number. Then dial.

01

Go to the county itself

Records pulled direct from 5 county sources, up to 4 record types each, deduped and scored on arrival — same-day to 48 hours, not weeks behind.

02

Flag before it rings

Skip-traced numbers are DNC- and litigator-checked before the team ever sees them, and the flag stays visible on the lead.

03

Enrich, then sync both ways

Licensed-API enrichment fills out the record, and a two-way GoHighLevel sync keeps the CRM and the engine telling the same story about it.

04

Put it all on one screen

Deal Terminal: filter the pipeline, open a lead, inspect it, export it — with the compliance flag right where the dialing decision gets made.

What we’re building

The compliance guard comes first.

Anyone can buy a skip-trace. What a skip-trace will not tell you is whether the number it just handed you is legal to call — so that check sits at the front of HotSignal, not behind it.

Skip-trace with a compliance guard

Skip-trace returns phone numbers; it does not make them legal to call. Every number is DNC- and litigator-flagged before it reaches the team, not after someone has already dialed — and the same logic runs with no paid skip-trace at all, against any DNC list Epimeno provides.

Deal Terminal

One internal dashboard for the whole pipeline: filter the list, open a lead and inspect everything known about it, export what you need. The compliance flag is on screen where the dialing decision gets made, not buried in a report.

County data engine

Records pulled direct from 5 county sources, up to 4 record types from each, deduped against what is already in the system and scored as they land.

Same-day, not weeks-old

Because capture is direct from the county, a record shows up same-day to 48 hours. Licensed bulk data can trail the actual county record by weeks — and that gap is the whole difference between getting there first and getting there second.

Licensed-API enrichment

Each record is filled out from licensed data sources, so a county record becomes something the team can act on rather than research.

Two-way GoHighLevel sync

Opportunity mapping, tags, dedupe, and status write-back both directions. Work a lead in the CRM and the engine knows; the engine updates a record and the CRM knows. There is one version of a lead.

Dialing decisions stay with Epimeno. The system’s job is making sure nobody dials blind into a TCPA problem.This is an in-progress build: the list above is what the system does, not a claim that the project is finished.

The pattern

The second time a client’s build became a product.

Case study 02 above started as one supervisor’s pile of work orders and ended up as SubCost, a web app any subcontractor working off someone else’s scope can use. HotSignal is that same story running a second time: custom lead-generation software for real-estate wholesalers, whose first build belongs to Epimeno Holdings. Nickolas Peters gets a system shaped around his deals; the shape turns out to fit the trade. That build comes first, and it is still underway.

Where it stands

In build. No numbers yet, and none invented.

HotSignal is being built for Epimeno Holdings right now. There are no outcome figures on this page — no deals, no leads counted, no hours saved, no revenue — because none have been measured yet. Everything below describes what the system is built to do, not what it has returned. We would rather publish real numbers late than estimated ones now. When there are figures worth the name, they will appear here.

  • Every skip-traced number reaches the team already DNC- and litigator-flagged, and Deal Terminal shows that flag next to the lead — the check happens before the call, not after the complaint.
  • The guard does not depend on a paid data feed: the same flagging logic runs with no paid skip-trace at all, against any DNC list Epimeno supplies.
  • Dialing decisions stay with Epimeno. The system does not decide who gets called — it makes sure nobody dials blind into a TCPA problem.
  • Lead supply comes from the county record itself, same-day to 48 hours, instead of from a bulk file that can trail the county by weeks.
  • The CRM and the engine cannot disagree about a lead: mapping, tags, dedupe, and status all write back both ways.
HotSignal · in buildDirect county sourcesLicensed data APIsSkip-trace · DNC & litigator screeningGoHighLevel · two-way syncDeal Terminal · internal dashboard

Results reflect each client’s experience and the specifics of their business. Individual results vary and are not a guarantee of similar outcomes.

Let's write your case study.

We'll map your systems for free and show you exactly what's double-entered, silently broken, or costing you margin.