Twenty-three days. That's how long a kitchen remodel in Denver sat untouched last spring — framing done, cabinets in the garage, no crew on-site — while the homeowner texted a contractor who answered every fourth message with "heading over tomorrow."
He wasn't lying to be cruel. He was managing a scheduling problem, and the homeowner's job lost.
Here's what actually happened, because it's the same story every time. The contractor bid the kitchen at $28,000 in February. In March, a commercial client offered him a tenant build-out worth $71,000 with a hard deadline and penalty clauses if he missed it. He didn't quit the kitchen. Quitting means refunding the $9,000 deposit and burning a review. Instead he parked it — kept it "warm" with just enough contact to avoid a confrontation — and threw his crew at the job that paid more and punished him for being late.
The deposit is the whole problem
Once a contractor holds your deposit with nothing structurally tying it to progress, your job becomes his lowest-risk backlog. He already has your money. Delaying you costs him nothing but a few awkward texts. Delaying the commercial client costs him a penalty clause.
So the work flows toward whoever made lateness expensive. That's not a character flaw — it's arithmetic. Any rational person with two competing obligations services the one with teeth first.
The Denver homeowner paid 32% up front. From the day that check cleared, they had zero remaining leverage. They couldn't withhold anything, because there was nothing left to withhold until the very end. The contractor had already been paid for the phase he was ignoring.
I wasn't avoiding them. I just couldn't afford to be late on the job that would fine me. Theirs was the one I could push.— GC explaining the delay after the fact
What would have prevented it
Not a stricter contract. Not a nicer client. A payment structure where the money moves only when the work does.
Milestone escrow flips the arithmetic. Instead of a 32% deposit, the full budget goes into a neutral account. The contractor draws against it in stages: framing inspected, funds release for framing. Cabinets installed, funds release for cabinets. Nothing sits in his account for work he hasn't done.
Under that structure, parking your job stops being free. Every week the crew is elsewhere is a week his money stays locked in escrow he can't touch. Suddenly your kitchen has teeth too. The commercial job punishes lateness with penalties; your escrow punishes it with withheld draws. Now he has two obligations that both cost him to ignore — and he schedules accordingly, instead of feeding you "tomorrow" for three weeks.
It also protects the honest contractor, which is the part people miss. The one who shows up doesn't get penalized. He gets paid on schedule, at each milestone, without begging for a progress check or floating materials on his own credit. Escrow only bites the person who disappears.
The uncomfortable takeaway
A deposit with no milestones is a bet that your job will always be the most profitable thing on your contractor's plate. It won't be. Sooner or later a bigger job appears, and if he already has your money and nothing forcing his hand, you become the flexible one.
You don't fix that by hiring nicer people. You fix it by removing the incentive to ghost — by making sure the money and the work stay attached at every stage.
If you're about to start a project, structure the payment before you fall in love with a bid. The contractors worth hiring won't flinch at escrow. The ones who do are telling you exactly how they plan to prioritize your job.