The Growth Playbook
By Cyrus Vakil, founder of Ultemir ·
How a home service business gets to $25K a month and keeps climbing. No agency required.
This is what we fix first in every business we work with. Most of it costs nothing but effort. Do it in order: each step makes the next one pay.
1.The offer
Sell one thing. Make it easy to say yes to.
"We do everything" sells nothing. Homeowners buy a specific result from someone who clearly does it all day.
Pick one flagship job
The job you do best, with the best margin, that you'd happily do 20 times a month. A garage floor. A kitchen. A roofline lighting install. Lead with it everywhere. The other work still comes in.
Package it and name it
Put everything in one bundle with a name. Not "epoxy floor installation." Something like "The One-Day Garage Floor": prep, flake system, top coat, done in a day, 15-year warranty. A name makes it a product. A product is easier to buy than a quote.
- What's included, in plain words.
- How long it takes.
- What's guaranteed (workmanship, warranty, cleanup, timeline).
- Three tiers if it fits: good, better, best. Plenty of people pick the middle.
Price on value, not on hours
Don't price by adding up materials and labor and a little on top. Price by what it's worth to the homeowner and what the market pays. If you win every bid, you're too cheap. Aim to lose a few on price.
Offer financing
Say a $5,000 job. Plenty of homeowners who'd say no to $5,000 say yes to a monthly payment. Set up a financing partner (most home service lenders take a day or two) and mention it before price comes up, not after.
Give a real reason to book now
Not a fake "sale ends Friday." Something true:
- Limited install slots this month (you only have so many crews).
- Season: lights up before the holidays, roof done before winter.
- Material pricing you can hold for 14 days.
2.Speed to lead
Call back within 5 minutes. Every time.
This is our own rule, and it's the cheapest fix in this playbook. Whoever calls first usually wins the job. After an hour, most people have called someone else or forgotten they asked.
- Every new inquiry pings the phone of whoever calls back. Not an inbox someone checks at night.
- If you're on a roof, someone else calls. A spouse, an office person, a part-timer.
- No answer? Text right away, then try again in 10 minutes.
"Hi Maria, it's Jake with Summit Coatings. You just asked about your garage floor. Got two minutes?"
Then: what they want done, how big, when they want it, and book the estimate on the call. Don't quote over the phone. Book the visit.
"Hi Maria, Jake with Summit Coatings. Just tried you about the garage floor. When's a good time for a quick call?"
Missed-call text-back
Set your business line to text back anyone you miss, automatically. Most phone systems and CRMs do this. Someone who calls and gets voicemail calls the next guy. Someone who gets a text in 10 seconds waits for you.
"Hey, it's Summit Coatings. Sorry we missed you, we're on a job. What can we help with? We'll call you right back."
3.Follow-up
One text is not follow-up. Six touches over 30 days is.
Every estimate that didn't close is money you already paid to get. Put every open quote on this cadence:
| When | What |
|---|---|
| Day 0 | Send the quote the same day as the visit. Text that it's in their inbox. |
| Day 1 | Call. "Any questions on the quote?" |
| Day 3 | Text a photo of a similar finished job. |
| Day 7 | Call. Ask what's holding it up. |
| Day 14 | Text the real reason to book now (slots, season, price hold). |
| Day 30 | Last touch. Ask if you should close the file. |
"Hey Maria, Jake again. Wanted to see where you landed on the floor. Is it price, timing, or something about the job?"
Then answer that one thing. Price: show financing or the middle tier. Timing: hold a slot. Spouse: offer a quick call with both of them.
"Hi Maria, should I close out your file on the garage floor? No problem either way, just don't want to keep bugging you."
People answer a closed door.
4.Reviews and Google
Ask on every job. On site. The day it's done.
Your Google Business Profile is free and it's the first thing a homeowner checks. Reviews decide whether they call you or the next guy.
The ask
The best moment is the walkthrough, when they're looking at the finished job and smiling. Ask in person, then text the link while you're still in the driveway.
"Glad you love it. Reviews are how small shops like us get found. Would you leave us a quick one on Google? I'll text you the link right now."
"Thanks again, Maria. Here's the link, takes 30 seconds: [your review link]. A photo of the floor helps a ton."
- Reply to every review, good or bad, within a day.
- A bad review: thank them, own what's fair, take it offline. Future customers read your reply more than the complaint.
Set up the profile right
- Primary category = your flagship job (e.g. "Concrete coating contractor", "Roofing contractor"). Add secondary categories for the rest.
- Service areas: the towns you actually want to work in. Not the whole state.
- Photos: add 3 to 5 every week. Before and afters, your crew, your truck, the finished job. Real photos, not stock.
- Services: list each one with a short description and a "starting at" if you're comfortable.
- Hours and phone: the number someone actually answers.
5.Referrals and past customers
Your cheapest next job is someone who already paid you.
Referrals come in waves you don't control. You can't scale on them alone. But you can get a lot more of them by asking.
"Most of our work comes from neighbors seeing the job. Who do you know that's been talking about doing their floor? If they book, we'll send you a $200 gift card as a thank you."
Pick a thank-you you can afford on every job. Pay it fast. Tell people you paid it.
Reactivate the old list
Pull every past customer and every quote that never closed from the last two years. Text them all, personally, in one afternoon.
"Hi Tom, it's Jake from Summit Coatings, we did your garage back in 2024. Hope it's holding up great. We're booking [next month] now and have a few slots left. Anything else on your list, or anyone you know who needs one?"
Every reply from a list you already own costs you nothing.
Yard signs and door knocks
Every job site gets a sign. When you finish a job, knock on the five houses around it and leave a card: "We just did your neighbor's floor."
6.Content
10 minutes a day. Real jobs. Your face.
You don't need an editor or a strategy. You need your phone and the job in front of you.
- Before and after. Same angle, same spot, every job. The most convincing thing you can post.
- The job in 30 seconds. Prep, the work, the reveal.
- You, talking. One question a customer asked this week, answered in under a minute. "How long does epoxy last?" "Do you need a permit for this?"
- The crew. People hire people. Show who'll be in their house.
Post it to Facebook, Instagram and your Google profile. Every piece you shoot now is an ad you'll run later.
7.Paid ads
Ads pour fuel on what you already have. Fix 1 to 3 first.
Ads don't fix a weak offer, a slow callback, or no follow-up. They make all three more expensive. If you're not calling back in 5 minutes, ads will burn your money. When those are fixed, ads are how you stop depending on referrals.
A car wrap shop in Point Loma, San Diego.
Where to run them
- Meta (Facebook and Instagram): where most home service owners should start. You reach homeowners before they search, in a set radius, with your own jobs as the creative.
- Google Local Services Ads: the "Google Guaranteed" listings at the top of search. You pay per lead from people already searching. Worth setting up once your reviews are solid.
How much to start with
Work backwards from your numbers, not a gut feel.
- Know your average job, your margin and your close rate on estimates.
- Say a $5,000 job and you close 1 in 3 estimates: you can afford a lot more per booked estimate than you think.
- Budget enough to get real data in a few weeks. A test you can't afford to finish isn't a test.
- Commit to 30 days before judging. Week one is Meta learning who to show it to.
Creative that works for trades
- Before and after, always. Same angle.
- The owner on camera, 20 to 40 seconds, plain talk. "If you own a home in [city] and your garage floor looks like this..."
- First line says who it's for. "Homeowners in [city]."
- Real footage beats anything produced. Shoot it on your phone.
- Run 3 to 5 ads at once. Turn off the losers. Let a winner run until it stops.
Lead form or landing page?
Meta's built-in lead form is cheap and easy. It also brings in more people who don't pick up: one tap and they're done. A short landing page or quiz costs more per lead and brings in more serious ones. Starting out, use the lead form with a few qualifying questions, and call back in 5 minutes. When pick-up rates drop, move to a page.
The numbers to track
| Cost per lead | Spend ÷ leads. The cheapest number and the least important. |
| Cost per booked estimate | Spend ÷ estimates booked. This is where junk leads show up. |
| Close rate | Jobs sold ÷ estimates run. |
| Cost per job | Spend ÷ jobs sold. |
| Return | Revenue from ad jobs ÷ spend. |
How to tell if it's working
Ignore cost per lead on its own. Cheap leads that don't pick up are the most expensive kind. Look at cost per job against what a job is worth. If a $5,000 job costs you $600 in ads, it works. Spend more. If leads come in but estimates don't book, the problem is the callback or the offer, not the ads.
8.The weekly scorecard
What gets counted gets fixed.
Fill this in every Monday. Takes five minutes. After a month you'll know exactly where the money leaks.
| Number | This week | Aim |
|---|---|---|
| New leads | Up | |
| Avg callback time | Under 5 min | |
| Estimates booked | Up | |
| Estimates run | All booked | |
| Jobs sold | Up | |
| Close rate | Up | |
| Revenue sold | Up | |
| Open quotes in follow-up | All on cadence | |
| New reviews | 1 per job | |
| Ad spend · cost per job | Under your number |
When you're there, come back.
Do this for a few months and the numbers move. When you're doing $25K+ a month and you're ready to invest in growing it, apply again. We'd like to hear from you.
Apply againCyrus VakilFounder, Ultemir. I run the ads, and everything around them, for home service businesses.
Names and businesses in the scripts are examples. Swap in your own.