St. Pierre — The Whole System, One Page

Built July 31, 2026 · from the live database, not from memory
The one number: $100K/month cash collected
30-day version: Dan +$100K  =  60 jobs  =  25 hand-offs/week to his team
How to use this page. This is the complete map of the business — every moving part, its health today, and who runs it. Click any step, card, or layer to expand it. Colored pills show health at a glance (legend in section 1). Any dotted underlined word opens a plain-English explanation in a side card. Codes and system names live only inside the collapsed “Technical notes” at the bottom of each section — you never need them to understand the page.
New here? The business in 30 seconds

stpierre.ai (Akash’s company) runs Facebook ads that get homeowners asking for concrete-repair estimates. An automated chat assistant (Jordan) collects each homeowner’s details and phone number, and those ready-to-call homeowners (“leads”) are handed to Dan, a Dallas concrete-leveling contractor — the paying customer. Selling that same service to more contractors is the second half of the business. AI assistants (the agents) do all the software work; Akash sells and approves. This page maps both halves.

1The big picture

Money goes in at the top. It splits into two businesses that share one engine. Click either lane to jump to its full journey.

Status colors used below: working working but flawed broken / not built paused on purpose waiting on a human decision

2Homeowner side — the journey, step by step

One homeowner in Dallas, start to finish. Click any step to see what happens, which tools run it, who (or what) does the work, and what’s wrong with it today.

1Sees an adworking
What happensThey scroll Facebook, see a concrete-leveling ad (uneven driveway, sinking patio), tap it.
Tools
  • Facebook & Instagram ads (30 live)
  • AI-made images & videos
  • Pre-launch quality checks
Who does it
  • AI builds the ads
  • Akash approves every ad before it goes live
2Chats with Jordan (the bot)working but flawed
What happensThe ad opens Messenger. Jordan the bot asks about their project, marks them “qualified” as soon as it knows the project type, then asks for details.
Tools
  • Messenger
  • Jordan — an AI chat agent inside the CRM
Who does it
  • 100% AI — no human touches this step
The flaw: Jordan asks for ZIP code before phone number. People bail before leaving a number — three did this week alone. The fix is written and waiting on Akash’s approval (it’s Decision 1 territory on the Execution Plan).
3Becomes a leadworking
What happens“Qualified” + a phone number = a real lead. The cost is about $25 per qualified lead — that’s the proof number quoted to prospects.
Tools
  • CRM contact record
  • Lead database
Who does it
  • Automatic
Watch-out: if the phone number arrives late in the conversation, the hand-off doesn’t fire — the enrichment step only runs once. (Fix on the agents’ list.)
4Handed to Dan’s teamworking
What happensAn automation picks up the new lead and texts it to Dan’s team so they can call the homeowner. This was rebuilt and proven end-to-end on Jul 28.
Tools
  • Automation engine (checks for new leads, sends the text)
  • CRM text messaging — the only sending path
Who does it
  • 100% automatic
  • Auto-send to the homeowner stays OFF — drafts only
Honest count: 13 real hand-offs so far. (The scoreboard once said 25 — 12 were internal test runs, now filtered out.)
5Follow-up if they go quietwaiting on a decision
What happensShould happen: automatic nudge texts to leads who stall. Today: the follow-up scripts are written but not switched on.
Tools
  • CRM text sequences (staged, off)
  • 12-email nurture pack (armed but unread — being switched off, see the Unblock List)
Who does it
  • Will be AI once the scripts are read and approved
The call to make: read the follow-up scripts and arm them, or they stay off. House rule: nothing sends automatically until a human has read the copy once.
6Dan’s team calls → quote → job → cashnot tracked
What happensDan’s people call the homeowner, quote the job, win it. stpierre.ai gets credit for the revenue its leads created.
Tools
  • Dan’s own tools — outside our system
  • His weekly report page (our build)
Who does it
  • 100% human — Dan’s team
The gap: we can’t see what happens after the hand-off. “Appointments booked” and “jobs won” on Dan’s report sit on one hand-typed number. No real feed exists. This is the biggest blind spot in the whole system — and it’s the proof of value the entire sales pitch depends on.

Where each homeowner stands (the labels the system uses)

Conversation started Qualified (project confirmed) Lead (qualified + phone) Handed to client Quoted / Job won

⚠ Honest note: past “qualified,” the homeowner side has no real stage list — the bot invented five labels on the fly across 54 conversations. Building a proper homeowner pipeline is scoped and ready whenever someone says go.

Technical notes (names & IDs)
Ad account act_1096498922089551 · DFW campaigns → shared stpierre pixel (18 qualified events since Jul 22, zero attribution — sender posts without click ID) · dead page dataset 1990671461593550 · Jordan = GHL Conversation AI, AUTOSEND=false · transfer rail = GHL trigger 91882 + n8n drain/poller · lead transfer = GHL SMS only (iMessage retired Jul 28) · self-test filter = +14143085477 / is_test

3Contractor side — how the company gets more Dans

This is the sales pipeline: 4 cold-outreach steps, 15 selling steps, 4 after-the-sale steps. It’s fully built in the CRM with automations firing on stage changes. What feeds it today is Akash making calls — the contractor-facing ads are paused.

AFinding them — the listworking
What happensA tracked universe of 1,004 target contractor companies (the researched prospect list), ranked by fit. Concrete-leveling companies first — that’s the year-one focus.
Tools
  • Prospect tracker (database)
  • Call playbook, version 4 (17 accounts teed up)
Who does it
  • AI builds & ranks the list
  • Akash works it by phone
BCold outreachcalls only
What happensCold steps: Named → Reached → Engaged → In Conversation. Hand-dialed calls are the only live channel.
Tools
  • Call cockpit (local dialing screen)
  • Morning call sheet, auto-built at 7:30
Who does it
  • Akash dials
  • AI preps the sheet & drafts texts
Blocked: cold email can’t send at all — it needs a separate sending domain that was never bought, and new domains need 2–3 weeks of warm-up. Every week of delay slips the first sends further into late August. Buying the domain is on the Unblock List (task 4, ~$12).
CSelling — 15 stages in the CRMbuilt & live
The path
Getting to a call
Lead InDialer / Follow-UpRespondedQualified / BookingBooked
Showing the product
Demo BuildingDemo DeliveredCall ConfirmedCall Held
Closing
Proposal / Follow-UpSeven-Day TrialWon — Cash
Exits
No-ShowLong-Term NurtureClosed LostDo-Not-Disturb
Tools
  • Hosted sales CRM (the daily front door)
  • Demo bot — a prospect’s own website with the intake bot injected, one setup file per prospect
  • 5 automations fire on stage moves
Who does it
  • Akash sells (his full-time role)
  • AI drafts every reply — 2 options + a summary per conversation
  • Sending is manual: drafts only, a human hits send
Open question: where the Seven-Day Trial belongs — Dan went straight from Booked to Trial, so it may be a fork in the path rather than a late step.
DAfter the salethin
What happensOnboarding → Client Healthy → Client At Risk → (Churned). One real client today, so this part has barely been exercised.
Tools
  • 15-step onboarding checklist board
  • Weekly client proof report (private link)
Who does it
  • Akash + AI reporting
  • Collins (contract builder) is available for build work — but nothing goes to him without Akash’s explicit go
EContractor-facing adspaused (Akash’s call, Jul 23)
What happensAds that sell the service to contractors. A 243-ad library (9 trades × 9 angles × 3 formats) is approved and ready. All campaigns paused.
Tools
  • Same ad account, separate campaigns
  • Landing page: start.stpierre.ai (Akash’s own build — hands off)
  • One master quiz form for all trades
Who does it
  • AI builds; nothing turns on without Akash’s relight decision
Known pre-flight issue: the paused campaigns tell Facebook to optimize for the wrong goal (any lead, rather than a booked call). If they’re relit, they get duplicated with the right goal first — that fix is staged and waiting.
Technical notes (names & IDs)
Stage catalog = sp_sales_stage_catalog (C1–C4 cold rail added Jul 29, 15 sales + 4 post-sale, 12 dispositions) · CRM = sales.stpierre.ai (CF Worker + Supabase) · cockpit = 127.0.0.1:8765 · demo bot = stpierre-demo-bot.pages.dev/{slug} · Typeform j4wHbfWD (hidden niche field) · Dream-900 = 1,004-acct tierAB tracker, scraped owners never uploaded to Meta · cold email blocked: no DKIM/DMARC on stpierre.ai, fix = separate sending domain (Unblock List task 4) · B2B forwarder speaks pre-Jul-20 stage names — deploy blocked on unreviewed diff

4The money funnel — ad dollar to cash

Every step from money spent to money collected, in order. It’s tracked week-over-week on its own dashboard. Green = measured and trusted. Amber = measured but flawed. Red = not measured at all.

Ad spenddollars out the doortracked
Impressionstimes an ad was showntracked
3-second viewsthe opening line worked — they stopped scrollingtracked
Full viewswatched the whole thingtracked
Clickstapped throughtracked
Form startsbegan the quiz / chatpolluted by test runs
Leadsqualified + phone numberno ad credit
Bookedcall or appointment setnothing feeds this
Showedthey actually turned upnothing feeds this
Trial startsa contractor starts the 7-day trialtracked
Cash collectedTHE numberneeds a target set

Two breaks matter most: Leads — Facebook receives them but can’t credit them to the ad that produced them, so its ad system can’t learn which ads work; and Booked / Showed — nothing reports back once a lead is handed to the client. Both fixes are scoped; the first just needs a yes (Decision 1 on the Execution Plan).

Technical notes
Ladder = v_dash_sp_funnel_wow: spend → impressions → views_3s → thruplay → link_clicks → form_starts → leads → booked → showed → trial_starts → cash_collected · pre-Jul-22 rows quarantined (untrustworthy) · attribution fix = switch n8n sender to page+PSID business-messaging format · bookings gap = stpierre skip in Sales OS sync + business-tagging rule

5The tech stack — every layer, click to open

Seven layers of software run the business. Each card lists what’s inside and whether it’s healthy today. (Product names live in the Technical notes; here every tool is described by what it does.)

1 · Ads & creativemaking and running the ads
  • Facebook/Instagram ad account (one account, both sides of the business)live
  • AI image & video generation (two providers, every paid job cost-checked)live
  • Creative rulebook + automatic pre-launch checkslive
  • 243-ad approved library (contractor side)on the shelf
  • Ad-angle registry — every ad idea logged before buildinglive
  • Live-ads dashboard, refreshed 6:45 every morninglive
2 · Capture & conversationwhere a stranger becomes a lead
  • Jordan — the AI chat assistant (homeowner side, Messenger)flawed
  • Landing page — start.stpierre.ai (Akash’s own build, hands off)live
  • One master quiz form, all tradeslive
  • Demo bot — a prospect’s own site with the intake bot injected, per-prospect linklive
  • Free-chatbot front door (the new leads-first strategy)not built yet
3 · CRM & sellingwhere deals move
  • The CRM of record (contacts, stages, texting, the bots)live
  • The hosted sales screen — daily front door, full history per prospectfeed stale since Jul 26
  • AI reply drafter — 2 options + a summary per conversationlive, drafts only
  • Call cockpit + 7:30 AM auto-built call sheetlive
  • Automatic 15-minute conversation sweep + milestone checklistlive
4 · Automation enginethe moving parts between tools
  • Cloud automation hub (the preferred home for everything automated)live
  • Lead hand-off pipeline (new lead → text to the client’s team)proven Jul 28
  • Daily data pulls: ads 6:10 · analytics 6:30 · bank 6:15ads pull dead since Jul 24
  • Watchdog that checks all the automations at 9:00live
  • A few jobs scheduled on the Mac itself (being minimized on purpose)live
  • House rule: react to events, don’t poll on loops (loops = one thin daily reconciliation only)doctrine
5 · Data & memoryone brain for everything
  • Central database — clients, stages, metrics, work sessions, decisionslive
  • Website analytics (visitor → lead tracking, bot traffic filtered out)live
  • Nightly transcript archive + Monday pattern-mininglive
  • Heavy media: uploaded to cloud storage, verified, then removed locallypolicy
  • Funnel data from before Jul 22quarantined — untrustworthy
6 · Reporting screenswhere the numbers get looked at
  • New-tab command home (fresh at load, every number dated)live
  • Weekly scorecard — predicted vs. actual on the key numbers2 targets missing
  • Client proof report (Dan’s private link)2 tiles show made-up numbers
  • Finance room (cash, spending, runway)live
  • ~27 total pages; 4 retired ones still look alivebeing pruned to 8
7 · Work managementprojects, tasks, the AI team
  • Project board — 44 curated cards, every project names the number it moveslive
  • Task backlog: 2,279 open items, only 7 tied to a numberneeds a ruthless cut
  • Agent board — 9 approved AI agents, dispatcher every 30 min, morning quality checklive
  • Session hand-offs — every work session logged to the shared memorylive
  • Time management: no calendar or time-blocking system existsnot built
Technical notes (names & IDs)
act_1096498922089551 · Higgsfield (default) + Arcads · check_creatives.py pre-deploy gate · sp_creative_angles registry · GHL = CRM of record · sales.stpierre.ai (CF Worker + Supabase) · n8n = hub (Meta 06:10 wf, PostHog 06:30, Plaid 4u7hGwpzvX4HtuLu, watchdog 09:00) · launchd: render 06:45, call sheet 07:30 · brain = Supabase Postgres via .codex/references/brain.py · R2 archive · PostHog project 493312, bot cohort 424638 · Meta sync dead since Jul-24 (token) · surface pruning plan = keep 8, redirect four retired · Linear = project board

6People vs. AI — who actually does what

WhoOwnsDoes NOT do
AkashSales, full-time: calls, demos, closes. Every approval gate: ads going live, bot wording, anything a real customer sees. Sets the targets.Building pages, pulling data, drafting copy — all delegated.
The AI agents (Claude/Codex)Build everything: ads, pages, reports, automations. Draft every reply. Run 9 approved background agents (data pulls, quality checks, the morning read, sweeps). Log every work session to the shared memory.Never send to a real customer without a yes. Never turn on paused ad campaigns. Never touch Akash’s landing page.
Jordan (the homeowner bot)The entire homeowner conversation, 24/7, no human in the loop until the hand-off.Doesn’t send the hand-off text itself — a separate automation does; the bot’s auto-send stays off.
Dan’s team (the client)Calling handed-off homeowners, quoting, winning jobs.Reports nothing back automatically — that’s the blind spot in section 2.
Collins (contract builder)Six delegated build projects, tracked on a shared board.Gets nothing sent to him without Akash’s explicit go (scope, pay, and go-ahead all individually gated).

7Where this is going — the end state

The $1M version of the machine, and what each piece looks like when it’s done. (The full worked math, including the three ways it breaks, is in the 100-day plan.)

9,500hand-offs
6,700quotes
1,000jobs won
$10Mclient revenue created
$1Mstpierre.ai’s 10%

Strategy (locked Jul 31): leads first. Generate homeowner leads as proof, inventory, and assets. A free chatbot as the front door for contractors. The real business model on the back end: a 10% growth partnership where stpierre.ai covers the marketing. Year one = concrete leveling only, US-wide. Other trades are year two.

What “done” looks like, per piece

PieceEnd state
Homeowner journeyAd → bot → hand-off → outcome reported back, fully automatic, follow-ups armed, every lead credited to the exact ad that produced it.
Contractor journeyInbound (ads + the free chatbot) fills the calendar; Akash only does demos and closes; trial → paid is a routine, not a project.
DataOne brain, every number trusted, nothing hand-typed, every dashboard shows its own age.
Reporting8 pages total. One daily front door, one weekly scorecard, one client report. Everything else retired.
Client experienceDan sees his real numbers weekly without asking; onboarding is a 15-step checklist someone else runs.
Akash’s timeMornings = calls and demos. Approvals batched once a day. Zero building.

8The gap — today vs. the goal, area by area

Every area of the business in one table. “State” tells you whether the fix is already scoped, ready to execute, or waiting on a decision.

AreaTodayGoalState
Ad → lead creditFacebook can’t tell which ad made which lead; its system can’t learn.Every lead credited; Facebook optimizes itself.fix ready — needs a yes
Lead → outcomeBlind after hand-off; “jobs won” is one hand-typed number.Outcomes flow back automatically; the proof pack builds itself.scoped, not built
Bot qualityAsks ZIP before phone; loses people at the last step.Phone first, city never blocks, photos on.fix written — needs a yes
Follow-upNothing chases a quiet lead.Text + email ladders fire automatically.scripts staged — need a read + yes
Homeowner pipelineFive improvised labels, no order, no rules.A real stage list like the contractor side has.scoped, ready to build
Contractor inboundAds paused; only Akash’s dials feed the pipeline.Ads + the free chatbot fill the calendar.relight decision + wrong-goal fix staged
Cold emailCan’t send at all — no sending domain exists.A warmed-up domain sending sequences.blocked — buy the domain now or slip
Reporting~27 pages, 4 zombies showing June data, numbers disagree across pages.8 pages, one truth, every number dated.prune plan ready — needs a yes
Data trustAds data-pull dead since Jul 24; pre-Jul-22 funnel data quarantined; sales page stale.All pulls green; the watchdog catches failures same-day.fixes scoped
Task management2,279 open tasks, 7 tied to a number; the clean 44 live on the project board.Only number-tied work exists; the rest deleted, not “someday.”cut proposed
Time managementNo system — attention goes to 100 things.Calls and demos in the morning, one approval batch daily.nothing built — this page’s Top 3 is the start
ScorecardLive, but 2 of the key numbers have no target.All key numbers targeted; predicted vs. actual weekly.2 numbers needed
Client experienceOne client; his report has made-up tiles; onboarding barely exercised.Weekly proof without asking; onboarding runs itself.partial

9The Top 3 — where all effort goes

Akash’s own diagnosis: the missing ingredient is focus. Every gap above collapses into three moves. Everything else is parked until these are done.

1
Make Dan’s hand-offs undeniable

The product is “we send you jobs.” Prove it, weekly, with real numbers. This is the 25-hand-offs-a-week goal.

  • Approve the bot fix (phone before ZIP)
  • Message the 3 homeowners who left no number
  • Arm the follow-up scripts
  • Build the outcome feed so “jobs won” is real
2
Make the numbers trustworthy

Facebook can’t learn and nobody can steer while ad credit and job outcomes are broken. Fix the measuring stick once, benefit forever.

  • Say yes to the ad-credit fix
  • Revive the dead ads data pull
  • Prune to 8 pages, kill the zombies
  • Set the 2 missing scorecard targets
3
Sell — calls every morning

Nothing above matters without more Dans. Akash is the only revenue engine until inbound is switched back on.

  • Work the 17-account call list daily
  • Buy the email domain and start its warm-up today
  • Decide the contractor-ads relight (with the goal fix)
Explicitly parked (not broken — just not now): organic social content · YouTube · trades beyond concrete leveling · new dashboards · the homeowner stage rebuild · running the homeowner product for more clients before they’re signed · anything Collins-related without a go · every “nice to have” in the 2,279-task backlog.