Internal playbook · v1 · Sept 2026

One client.
Cold to MRR in 35 days.

The perfect run. Every phase has one objective, one exit criterion, and one owner. Open a phase to see the SOP with every task tagged by who does it.

01 · The ladderWhat we sell

Four rungs. Everyone starts on rung 1 and lands on rung 2 at launch. Rungs 3 and 4 are earned, never pitched on the first call.

RUNG 1 · ONE-TIME

Site Build

$2,500 50% to start, 50% at launch
  • Custom-coded, mobile-first, 4–6 pages
  • Google Business Profile setup + verification
  • Search Console indexed, schema markup
  • Client never gets a login — we hold the keys
Sold: Day 8 discovery call. Rule: only sold bundled with the Growth Plan.
REQUIRED · THE PRODUCT
RUNG 2 · MONTHLY

Growth Plan

$500/mo · starts at launch
  • Hosting, security, unlimited small edits (48h)
  • Review-request automation (SMS + email)
  • Missed-call textback
  • Monthly GBP posts + monthly report
  • GHL sub-account (theirs to use, ours to run)
Sold: same call as the build, same contract. No Growth Plan, no build.
RUNG 3 · MONTHLY

Lead Recovery

+$300/mo
  • Dead-lead SMS reactivation campaign
  • Speed-to-lead: form → text in under 60s
  • Booking calendar + reminders
  • Risk reversal: free month if no 2 jobs in 30 days
Sold: Day 60, after first monthly report shows leads.
RUNG 4 · MONTHLY

Paid Leads

+$750/mo + ad spend
  • Local Service Ads setup + management
  • Google Ads (search only) with call tracking
  • Weekly lead-quality review
Sold: Month 6+, only once we have 20 clients and one ads case study. Not before.

Full-stack client value: $800–1,300/mo. First-responder discount applies to the build only (down to $1,500), never to the monthly. Discount is always traded for a Google review + 2 referral intros.

02 · The runDay-by-day

Day 0 is the first outreach touch. Each phase opens when the previous phase's exit criterion is met — not before.

0–7Prospect + outreach

Get one reply

20 new prospects on the list, 3-touch sequence running, free mockup as the hook.

ExitProspect replies and agrees to a 20-min call.
JM

JMBuild the list (Monday, 45 min)

  • Pick one niche for the week (firefighter-owned businesses, epoxy, pressure washing, landscaping, counseling, etc.)
  • Source 20 names: firehouse network, client referral intros, Google Maps search for "[niche] near [city]" — filter to 3.5–4.7 stars with a bad or missing site
  • Log each in GHL pipeline stage Prospect: name, phone, IG, current site URL, one specific thing wrong with it

JM3-touch sequence

  • Touch 1 (Day 0): DM/text. Lead with the one specific thing wrong. Ask one question. No pitch.
  • Touch 2 (Day 2): Send a screenshot or 30-sec Loom of a free homepage mockup built from their logo + photos (Claude Code, under 30 min)
  • Touch 3 (Day 5): "Want me to walk you through it? 20 min, no pitch, you keep the mockup either way."
  • No reply after Touch 3 → stage Nurture, GHL auto-follow-up every 30 days
  • Reply + call booked → move to stage Discovery, phase 2 starts

Weekly minimum: 20 new prospects, 60 touches, 3 calls booked. Below that, nothing else in this playbook matters.

8–10Discovery + close

Signed + deposit paid

One 20-min call, one-page proposal same day, contract and 50% deposit within 48h.

ExitContract signed, $1,250 deposit cleared, Growth Plan card on file.
JM

JMDiscovery call (20 min, Day 8)

  • Open with the mockup on screen. Ask: "What would a site like this need to do for the business?"
  • Qualify, in order: decision maker on the call? · average job value? · how many leads/month now? · photos ready? · budget range stated out loud?
  • Red flags = stop: budget evasion, no photos, "let me ask my partner," wants to edit the site themselves
  • Anchor: "$2,500 build, $500/mo. One extra job a month pays for it." Say the number, then be quiet.
  • Book the kickoff (Day 11) before hanging up

JMProposal + close (same day)

  • Send one-page proposal from GHL template: scope, price, timeline, the 3 things we need from them, deposit link
  • Contract = build + Growth Plan in one agreement. 12-month minimum on Growth Plan, month-to-month after.
  • Deposit via GHL/Stripe. Growth Plan card saved now, first charge fires automatically at launch
  • Follow-up: Day 9 text, Day 10 call. Not signed by Day 12 → stage Stalled, weekly touch for 3 weeks, then Nurture
  • Signed + deposit cleared → stage Onboarding. Tag Michael in GHL. Phase 3 starts within 24h.

Handoff rule: the second the deposit clears, Michael owns the client's calendar until launch. Josh does not send onboarding emails.

11–14Onboarding

Everything in hand to build

Kickoff call, intake complete, all logins and photos collected, GHL sub-account live.

ExitIntake form 100%, domain + GBP access confirmed, GHL snapshot cloned and A2P filed.
MKCL

MKDay 11 — kickoff + setup

  • Send welcome email from support@ within 24h of deposit: what happens next, the 3 things we need, the Day 14 deadline
  • Run 30-min kickoff call (Josh optional): walk through intake form live, capture services, service area, hours, top 3 competitors, brand colors/logo
  • Clone GHL Client Snapshot into a new sub-account: pipeline, review workflow, missed-call textback, calendar, contact form webhook
  • File A2P 10DLC with client's EIN + business address (get EIN on the kickoff call, not by email)
  • Request domain registrar access (or start transfer) and GBP manager access

CLDue by Day 14

  • Intake form completed
  • 15+ photos of real work (phone quality is fine) via shared Drive folder
  • Domain + GBP access granted
  • EIN and business address for A2P
  • Two existing customers who'll write a Google review at launch

MKDay 14 — gate check

  • Verify every item above. Missing anything → text client, 48h grace, then the timeline slides day-for-day (say this out loud)
  • Drop build brief in the client's Drive folder: intake answers, photos, competitor URLs, GHL form embed code
  • Brief complete → stage Build. Notify Josh. Phase 4 starts.
15–28Build

Site + systems ready for review

Josh builds from the scaffold; Michael finishes GHL in parallel. One client review round, one only.

ExitClient approves staging link in writing. Form → GHL → text loop tested.
JMMKCL

JMDays 15–22 — site build

  • Clone the scaffold repo (livinfloww base). Pick layout A/B/C. Swap tokens: colors, logo, fonts
  • Write copy from intake: hero = outcome + service area, services page per service, about, contact, reviews. Claude Code drafts, Josh edits for voice
  • Standard components: sticky CTA (call + text), trust bar, review cards, service cards, gallery, footer with badges
  • SEO: title/meta per page, LocalBusiness + Service schema, alt text, sitemap, one blog/landing page per top service + city
  • Embed GHL form + tracking number from Michael's brief
  • Deploy to staging (Cloudflare Pages preview URL)

MKDays 15–22 — GHL build

  • Review workflow: 24h post-job SMS + email, GBP link, one reminder, stop on reply
  • Missed-call textback on the tracking number, routed to client's cell
  • Website form → pipeline stage New Lead → instant SMS to lead + notification to client
  • Calendar connected to client's Google/Apple calendar, booking link live
  • Confirm A2P approval status; if pending, set up email-first fallback so nothing launches broken

MKDay 23 — internal QA

  • Mobile walkthrough on a real phone: every page, every button, every form
  • Submit a test lead → confirm SMS to lead, SMS to client, pipeline entry, all under 60s
  • Lighthouse: 90+ mobile performance, 100 SEO. Fail → back to Josh same day
  • Send staging link + 3-question review form to client from support@

CLDays 24–27 — one review round

  • Client returns all changes in one list within 72h. Changes after launch go through the Growth Plan edit queue
  • JM applies edits within 48h; MK re-runs QA
  • Written approval ("approved, launch it") → stage Launch. Phase 5 starts.
29–35Launch + lock MRR

Live, paid, on retainer

DNS cutover, final invoice, first Growth Plan charge fires, support handoff done.

ExitSite live on their domain, final $1,250 paid, first $500 charged, client has support@ and knows the rules.
JMMK

MKDay 29 — cutover

  • Point DNS to production. Verify SSL, www redirect, old URLs 301'd
  • Search Console: verify domain, submit sitemap, request indexing on every page
  • GBP: update website link, add the tracking number as primary, first GBP post published
  • Re-run the live lead test on the production domain

JMDay 30 — the money

  • Send final invoice ($1,250) the morning the site goes live. Due on receipt
  • Growth Plan first charge fires automatically on launch date — confirm it in Stripe. This is MRR locked.
  • Personal text to owner: "You're live. Here's what to expect in month one." Ask them to activate the two reviewers from onboarding
  • Ask for the Google review for us + 2 referral intros (this is what the discount bought, if one was given)

MKDays 31–35 — handoff

  • Send the "How to work with us" email: support@ for everything, 48h edit turnaround, what counts as a small edit vs. a quote
  • Add client to monthly report automation and the 30/60/90 check-in sequence
  • Move to stage Active. Log launch date, MRR, and upsell dates (Day 60, Day 90) on the contact record
  • All boxes checked → client is Active. Phase 6 runs forever.

Small edit = text, photo swap, hours, one new review card, one GBP post. Quote = new page, new integration, redesign. Michael decides; Josh prices quotes.

36–90Retain + climb

Keep them, upsell them, get 2 more

Monthly proof they're getting leads. Rung 3 at Day 60, referrals at Day 90, rung 4 at month 6.

ExitNever. Target: $800/mo per client and 2 referral intros in the first 90 days.
MKJM

MKEvery month (1st of the month)

  • Monthly report auto-sent from GHL: calls, form leads, texts recovered, new reviews, GBP views. Three numbers up top, nothing else
  • Clear the edit queue — nothing older than 48h
  • Publish 2 GBP posts (one photo from client, one offer/seasonal)
  • Check review workflow ran and A2P still healthy

JMDay 60 — Lead Recovery pitch

  • Read the Day 60 report before calling. Lead with their own number: "You got X leads. How many old quotes never closed?"
  • Pitch rung 3: dead-lead reactivation on their existing contact list, +$300/mo, free month if it doesn't book 2 jobs in 30 days
  • Yes → Michael imports their list and launches within 5 business days. No → re-ask at Day 120 with a fresh report

JMDay 90 — referral ask

  • 15-min check-in call. Ask what they'd change, then ask for 2 names. "Who else do you know that's still on a Wix site?"
  • Log intros directly into the Prospect stage — they skip Touch 1 and get the mockup on day one
  • Month 6: if they're on rung 3 and we have an ads case study, pitch rung 4

Churn rule: a client who asks to cancel gets one call from Josh, not a discount. Ask what changed, fix it if it's ours, let them go if it isn't. Never fight for a $500 client at the cost of two new ones.

03 · Who owns whatDivision of labor

JM JOSH
  • Prospecting + outreach (20/wk minimum)
  • Discovery calls, proposals, contracts, deposits
  • Site build from scaffold
  • Invoicing + collections
  • Day 60 / Day 90 / month 6 upsell calls
  • Quotes on anything bigger than a small edit
Rule: Josh does not log into GHL after handoff.
MK MICHAEL
  • Owns the client from deposit to launch
  • Onboarding, intake, logins, A2P
  • All GHL: snapshot, workflows, calendar, review automation, textback
  • QA, launch cutover, Search Console, GBP
  • support@ and the edit queue forever
  • Writes and maintains every SOP on this page
Rule: by client #5, every MK task has a written checklist a VA could run.
CL CLIENT
  • Decision maker on the discovery call
  • Intake, photos, logins, EIN by Day 14
  • One consolidated review round within 72h
  • Written approval to launch
  • Two reviewers ready at launch
  • Pays on time or the timeline slides
Rule: every deadline is stated in writing with what happens if it's missed.