Go Cardio Rentals · Rental OS proposal

One desk.
Money stays honest.

Replace Shopify + Airtable + GHL sprawl with one source of truth — so silent price bugs and rogue cancels stop, and ops runs from the desk.

Where you are

Tool sprawl is costing money and time.

Money truth is brokenStripe and the platform disagree. Silent cancels and price drift happen without a trail.
Ops load on JakeHalf the SOP still lives outside the app — monitoring instead of feedback loops.
Three systems, one rentalShopify checkout, Airtable inventory, GHL SMS/chatbot — no single desk owns the rental.
You're willing to pay for properNot fluff. A complete OS that stops billing bugs and gives ops time back.

In plain English: The pain isn't "need a CRM" — it's money lying and Jake babysitting tools.

What changes

One rental OS with walls.

  • Platform owns prices — step-downs, policies, subscription state. Stripe collects only.
  • Desk / portal / driver — separate surfaces. Drivers never see payment powers.
  • Integrity + audit — scary changes leave a trail; humans own irreversible buttons.
  • Scope 2 kills GHL — Twilio SMS, chatbot, tasks in-platform.

What does not change: Your SOP rules (3–5 day delivery, GCR codes, $100 no-show, 26/52 delivery config — pending pickup decision).

In plain English: Same business rules — one system is the boss.

Stack: Next.js · Clerk · Supabase · Vercel · Stripe (processor) · Twilio (Tier 2+)

desk.gocardio.app · morning
Ops deskLive
3 integrity items

Stripe drift · failed pay · delivery window

CustomerStatusPlatformStripe
M. NguyenDriftA$89/wkA$69/wk
J. WalshOKA$45/wkA$45/wk
S. ParkFailedDue

Researched · locked

Stripe is processor only. Platform is source of truth.

Technical: Postgres owns price, tenure, policy state. Stripe Checkout + Customer + Subscription receive one-way idempotent pushes. Signed webhooks. Integrity sweeps when they disagree. Billing starts after delivery + GCR capture — not a fragile placeholder.

In plain English: Ready to build — not an open research item. The app is the boss of money; Stripe just collects.

integrity · reconcile
1Platform state
2Push → Stripe
3Webhook verify
4Sweep mismatch
Weekly ratePlatform A$89Stripe A$69Alert
Step-downAppliedPending pushQueue

Hard parts · already shipped

Is this in scope? Yes — we've done this class before.

Luna Luxury Rentals Vitality Recruitment Portfolio parallels — not Go Cardio promises
Hard part (Tier 2)Past buildPlain English
Platform SoT · Stripe processor only Luna · Vitality The app is boss of money state — we've shipped that pattern.
Rogue cancel · audit · integrity queues Vitality Scary changes leave a trail; a human owns the final button.
Desk vs portal vs driver surfaces Vitality Staff, customers, drivers each get their own door.
Twilio SMS threads on customer record Vitality Texts live on the rental — not lost in another inbox.
AI draft/remind · human approves Luna · Vitality AI writes the sticky note. People press anything that moves money.

In plain English: Luna's 3.2x / A$90k admin outcomes were that company — not a promise for Go Cardio.

Product · integrity

When Stripe drifts, the desk knows immediately.

Deterministic integrity sweeps — not LLM guesswork. Mismatch queues, reconcile actions, audit log on every push.

In plain English: Silent bugs become loud morning work — with a paper trail.

desk/customers/m-nguyen-4821
Integrity alert · price drift

Platform A$89/wk · Stripe A$69/wk · detected 2h ago

M. Nguyen · Bike 26-wkAction
FieldPlatformStripe
WeeklyA$89.00A$69.00
Step-downWeek 14Not applied
Last push2026-08-06 14:22 · idempotent

Product · money path

Checkout → bond → ID → delivery → GCR → billing.

Multi-item cart, tier select, postcode fees, bond, Stripe Checkout, licence upload. Billing starts on delivery + GCR — platform records state first.

In plain English: Customer pays the right way; weekly billing only starts when the machine is actually delivered.

gocardio.app/checkout
Cart2 items
BondA$200
IDUploaded
Delivery3–5 days
ItemTierWeekly
Recumbent Bike26 wkA$89
Delivery4000A$15
Total weekly (after GCR)A$104

Product · comms + policies

SMS on the customer record. Policies enforced in-platform.

Twilio threads inbound + outbound on the rental. Templates, dunning SMS, 21-day cadence. Full policy pack: cancel, swap, step-downs, bond refund.

In plain English: Jake texts from the same screen as the rental — not from GHL.

M. Nguyen
Twilio · +61 4xx xxx 482
Hi Maria — your bike delivery is booked Thu 10–2. Reply HELP for options.
Can I swap to a treadmill next month?
Swap available after 4-wk cooldown. I'll send the portal link.
72h graceActive
DunningDay 12 · SMS+email
No-showA$100
Delivery3–5 days

Product · AI assist

AI drafts and reminds. Humans approve.

Audit summarize, draft-reply suggestions, reminder nudges. Human-in-the-loop before any send or money action. NL reporting in Tier 1; draft+reminder in Tier 2.

In plain English: AI helps Jake write faster — it never cancels a rental or moves money alone.

desk/ai-assist
Audit assistHITL
Draft reply · swap request
"Hi Maria — swap is available from 14 Sep per your 26-wk plan. Cooldown ends in 6 days. Portal link attached."
Integrity sweep3 itemsReview
Reminder queue7 customersApprove all

Optional · Tier 3

Franchise-Ready altitude — if you want growth engines now.

AMulti-branch / franchise tenants + 1 extra live tenant
BAI geo websites / LPs (≤3)
CAI ad generation (Ad Studio)
DAI cold email — gym/commercial sequences
EGym prospecting + AI door-to-door visit OS
NL ask"Ask the database" reporting — natural language queries on agreed data

In plain English: Real altitude for franchise + growth — not required to fix billing bugs or get Jake's day back. Tier 2 is the complete rental OS.

Commercial · quiet weight

Why Tier 2 is the complete rental OS.

Tier 1 is real — but splitFull ops spine and money truth. SMS and chatbot still in GHL. Jake still context-switches.
Tier 2 finishes the deskLeave GHL for day-to-day. Twilio port, CRM threads, chatbot, contracts/e-sign, tasks — one morning screen.
Tier 3 is optional altitudeFranchise tenants, AI ads, cold email, gym D2D — impressive, not the cure for silent billing.
Upgrade later costs moreBuy Tier 1 now → upgrade to 2 later = A$77k total (+A$8k vs Tier 2 now).

In plain English: Most teams in your spot pick Tier 2 — Platform + CRM so money truth and ops sit in one desk.

Commercial

Where the money goes.

A$52kTier 1 — money truth + full ops spine. Foundations, policies, dunning, migration. GHL stays.
+A$17k → A$69kTier 2 — leave GHL: SMS/port, CRM, chatbot, contracts, AI assist, MELB prep.
+A$29k → A$98kTier 3 — franchise tenants + growth engines (optional altitude).

In plain English: You're mostly paying to make money and machines trustworthy — then, if you want, to leave GHL and grow.

Milestones · all tiers

Payment schedule — not all up front.

50%Kickoff
Sign + access
10%M1
Foundations live
10%M2
Money path
10%M3
Ops depth
30%Completion
Prod cutover

In plain English: Half at kickoff after sign-off; the rest tied to staging gates you can see — not a mystery invoice at the end.

Later costs more

Upgrade math — buy the target tier now.

PathPay nowPay laterTotalvs buy now
Buy Tier 2 nowA$69kA$69kbaseline
Tier 1 → upgrade to 2A$52kU12 = A$25kA$77k+A$8k
Buy Tier 3 nowA$98kA$98kbaseline
Tier 2 → upgrade to 3A$69kU23 = A$37kA$106k+A$8k
Tier 1 → upgrade to 3A$52kU13 = A$54kA$106k+A$8k

In plain English: Phasing is real — but buying smaller now and upgrading later always costs A$8k more than buying the target tier today.

Your numbers — illustrative

What does this buy back?

Change the inputs. We only multiply what you type. Illustrative — not a promise.

Inputs

Assumptions — change every field.

Projection

Annual leakage recovery
Labour value recovered / year
Combined annual upside
Payback vs selected scope
3-year net vs selected scope
If you buy smaller now, then upgrade later
Extra vs buying the target now

In plain English:

Arithmetic on your inputs only. No guaranteed savings. No invented Go Cardio metrics.

Ongoing — ballpark

Monthly running costs

What it costs to run the system after build. Ballpark — usage-dependent.

CostMonthly (A$)
Subtotal (mid)
+20% buffer
Plan around

Vendor list prices change. Real bills follow usage. Planning band, not a guarantee.

Risks · mitigations

Name the real risks — then the mitigation.

Stripe dual-write / raceMitigation: Platform owns price state; one-way idempotent push; signed webhooks; integrity sweeps; golden tests in staging.
Policy math edge casesMitigation: Step-down / early-cancel / partial-return fixtures in staging — Nick verifies before cutover.
Number port delaysMitigation: Standard GHL→Twilio port in Tier 2; messy carrier lock-in = named change order.
Migration dirty dataMitigation: Week-1 snapshot + best-effort import + reconcile report; parallel run before prod.

In plain English: We don't promise zero bugs forever. We build so scary problems show up with a trail — and a human still owns the final button.

Edges · honest

What's not included

  • In-portal chat · loyalty · on-demand training platform
  • Maps distance routing · damage/warranty pricing engine
  • Native App Store / Play driver apps · Stripe as source of truth
  • Gmail inbox sync · Marketplace / IG DM unification
  • Franchise royalty billing / self-serve franchise marketplace
  • Meta ads spend automation with budget authority
  • Messy number-port beyond standard cutover → named change order

Open config: Free delivery vs free delivery+pickup on 26/52 — SOP and Updated Brief disagree; confirm before cutover. Platform supports either as config.

In plain English: Clear edges keep the fixed price honest.

Honest

What we don't pretend is settled.

Free pickup on 26/52Pending. Updated Brief = free delivery only. SOP = free delivery + pickup. Platform supports either once confirmed.
Migration cleanlinessAirtable + Stripe snapshot quality unknown until week 1. Best-effort import + reconcile; parallel run before prod.
Number port pathStandard port in Tier 2; messy carrier/GHL project = named change order.
Policy math edge casesGolden fixtures in staging — Nick verifies before prod cutover.

In plain English: We name the gaps upfront. Week 1 is for proving the scary bits — not surprise invoices.

Credibility · claim discipline

Same class of system — not invented ROI.

Luna Luxury Rentals

Brisbane rental business. Payments + customer journey + admin automation as one system.

We don't promise Go Cardio those same numbers.

Vitality Recruitment

Many tools → one operator OS. Desk vs portal. SMS. Audit. Human-approved AI.

Method proof for safety + surfaces — not a Go Cardio case study.

In plain English: We've shipped rental + ops OS before — different company, same failure modes around money and tools.

Clear path

Next steps

Most teams in your spot pick Scope 2.

  1. 1

    Send me any questions to clarify

    Anything fuzzy in the pack — reply and I'll answer straight.

  2. 2

    Pick a tier (Scope 1 / 2 / 3)

    Choose the package that matches how far you want to go now.

  3. 3

    Agreement → sign → kick off

    I'll send agreement + scope + payment schedule. You sign. We start.

In plain English: You don't need to design the build — just choose the package.

Nick Reibelt · Scope Studio · No GST · Locked 52 / 69 / 98