GameBooth — Operating System

Canonical source: model/ in the repo. Generated 2026-08-19 04:25 UTC. Aggregates and pseudonymous IDs only.

$1.52
contribution per review
33.33
coaches to break-even
no financing line
cumulative cash turns positive (18-mo horizon)

How this model changes

This page is generated — nothing on it is editable, and the retired Google Sheet is not the model anymore. Every number here derives from exactly one input surface: model/assumptions.yaml in the repo.

To change an assumption: edit assumptions.yaml → the regression tests in model/test_model.py run (13 fixtures pin the math itself; a wrong model that renders is worse than one that doesn't) → commit → CI re-renders and re-deploys this page. The change arrives with a diff, an author, and a timestamp — a model change is a code change, reviewable and revertable like any other.

Two kinds of values never need a hand edit: measured drivers overlay automatically from the weekly prod snapshot (ops/weekly/*.json) when their sample clears the n≥5 floor, and computed figures (everything not chip- tagged below) follow from the inputs. If a number on this page looks wrong, the fix is in the yaml or in model/model.py — never in this page.

Drivers & assumptions — the honesty column

InputValueBasisNote
starting_active_coaches1✓ actual
Danny
coach_monthly_churn0.05● guess insufficient (n=3)
parents_invited_per_coach_per_month8.00● guess insufficient (n=4)
invite_to_first_purchase_conversion0.35● guess insufficient (n=1)
parent_monthly_retention0.70● guess
Highest-leverage unknown. Enters as 1/(1-r).
reviews_per_active_parent_per_month1.17◐ measured (n=6)
price_per_review15.00◐ measured (n=7)
CHANGED FROM 20.00. Rationale recovered from the sheet's Drivers tab 2026-08-18: 'Derived from a $120/hr coach rate on a <=5 min clip.' Also matches the measured beta price exactly ($15.00, n=7, every real transaction; ops/weekly 2026-08-18 snapshot).
base_take_rate0.20◆ decision
premium_take_rate0.28◆ decision
free_reviews_per_coach_month3◆ decision
Free at the BOTTOM of each month, resets monthly. NOT a cap.
matched_share0.00✓ actual
No platform_matched transactions exist yet. The projection uses the RAMP below instead — a plan, not an estimate (sheet Model row 22).
coach_reference_hourly_rate120▢ canvas
minutes_per_async_clip5▢ canvas
minutes_per_sync_session60▢ canvas
stripe_pct_of_gmv0.03▤ vendor
stripe_fixed_per_txn0.30▤ vendor
infra_cost_per_review0.75● guess
coach_onboarding_cost40● guess
fixed_monthly_costs250● guess
one_time_legal6000● guess
legal_lands_month2◆ decision

Measured overlays this build:

  • reviews_per_active_parent_per_month: promoted to measured
  • parents_invited_per_coach_per_month: REFUSED — insufficient (n=4); assumption kept
  • invite_to_first_purchase_conversion: REFUSED — insufficient (n=1); assumption kept
  • parent_monthly_retention: not tracked (null) — assumption kept
  • coach_monthly_churn: REFUSED — insufficient (n=3); assumption kept
  • price_per_review: promoted to measured

Changed since previous snapshot:

  • no driver changes between the last two snapshots

Sensitivity — plausible ranges (never ±% flexing)

Each bar answers: if this driver alone moved across its plausible range (everything else held at base), where does contribution per coach per month land? range of outcomes today's base case $0 — left of it, each coach LOSES the platform money
Reviews / active parent / month ◐ measured n=6 swing $35.35
at 1 → $5.14 · at base 1.167 → $7.50 · at 3.5 → $40.49
The frequency thesis of the whole business. Below ~1.5 the unit economics stop working at any scale.
Price per review (USD) ◐ measured n=7 swing $25.25
at $10 → $1.19 · at base $15 → $7.50 · at $30 → $26.44
A decision, not a guess. Better than linear on contribution because Stripe's $0.30 fixed fee does not scale with price.
Parent monthly retention ● guess swing $24.00
at 45% → $0.00 · at base 70% → $7.50 · at 85% → $24.00
Convex: enters as 1/(1-r), so the upside compounds. The band is this wide because there is zero evidence — the widest-and-least-known driver on the board, and the only one whose improvement accelerates.
Invites / coach / month ● guess swing $22.69
at 4 → −$0.75 · at base 8 → $7.50 · at 15 → $21.94
Half lever, half guess — onboarding prompts and invite tooling can move it, so it is partly under our control.
Invite → first purchase ● guess swing $16.50
at 20% → $0.43 · at base 35% → $7.50 · at 55% → $16.93
Cheapest driver on the board to resolve — measurable on the first ten invites. (Early beta cohort: 0.667 on n=6, above this whole range.)
Base take rate ◆ decision swing $11.84
at 15% → $1.58 · at base 20% → $7.50 · at 25% → $13.42
A decision, and the LEAST consequential thing on this list. You could argue about take rate for a week and change the outcome by a fraction of what one honest retention measurement would.

Sorted by swing, descending — and the priority rule is the biggest swing that is also a ● guess: a decision can be argued in a meeting, a guess can only be resolved by measurement. Ranges are explicit plausible bounds in assumptions.yaml, never a ±% flex.

What-if — steady state, live

Sliders explore; they change nothing. A real change is a commit to assumptions.yaml. Held fixed while you slide:

free_reviews_per_coach_month 3 ◆ decisionstripe_pct_of_gmv 0.03 ▤ vendorstripe_fixed_per_txn 0.30 ▤ vendorinfra_cost_per_review 0.75 ● guessfixed_monthly_costs 250 ● guess

Driver trends — weekly snapshots

Reviews / active parent / month
1.17 (n=6)
Invites / coach / month
1.50 (n=4)
Invite → first purchase
6 (n=1)
Parent monthly retention
not tracked yet
Coach monthly churn
0 (n=3)
Price per review (USD)
15 (n=7)

One small multiple per driver — different scales never share an axis. Series are sparse: the weekly export began 2026-08-18.

18-month projection

Every column below is COMPUTED from these assumptions (hover a chip for its note; change any of them via assumptions.yaml, never here):

parent_monthly_retention 0.70 ● guessparents_invited_per_coach_per_month 8.00 ● guessinvite_to_first_purchase_conversion 0.35 ● guessreviews_per_active_parent_per_month 1.17 ◐ measured n=6coach_monthly_churn 0.05 ● guessprice_per_review 15.00 ◐ measured n=7base_take_rate 0.20 ◆ decisionpremium_take_rate 0.28 ◆ decisionfree_reviews_per_coach_month 3 ◆ decisionstripe_pct_of_gmv 0.03 ▤ vendorstripe_fixed_per_txn 0.30 ▤ vendorinfra_cost_per_review 0.75 ● guessfixed_monthly_costs 250 ● guesscoach_onboarding_cost 40 ● guessone_time_legal 6000 ● guesslegal_lands_month 2 ◆ decision

Plus two plans (decisions, not estimates — projection: in the yaml): coaches added per month (shown as +n in the Coaches column) and the platform-matched share ramp (0 → 18% from month 10, which is what lifts the blended take rate late in the table).

CONVENTION: reviews are driven off ending parents — optimistic in a growing book. Cumulative cash from a zero starting balance; one-time legal lands month 2.

MoCoaches ParentsReviews BillableRevenue AbsorbedFixed OnboardLegal NetCash
10.952.663.100.25$0.76$4.61$250.00−$253.85−$253.85
20.904.395.122.41$7.24$7.61$250.00$6,000.00−$6,250.36−$6,504.21
31.86 +18.279.654.08$12.25$14.34$250.00$40.00−$292.09−$6,796.30
42.76 +113.5315.797.50$22.49$23.45$250.00$40.00−$290.96−$7,087.26
53.63 +119.6322.9012.02$36.07$34.01$250.00$40.00−$287.94−$7,375.19
64.44 +126.1830.5617.22$51.67$45.38$250.00$40.00−$283.71−$7,658.91
76.22 +235.7541.7223.05$69.16$61.96$250.00$80.00−$322.79−$7,981.70
87.91 +247.1855.0631.32$93.97$81.76$250.00$80.00−$317.79−$8,299.49
99.52 +259.6769.6441.09$123.26$103.41$250.00$80.00−$310.15−$8,609.64
1011.04 +272.6884.8251.70$156.26$125.96$250.00$80.00−$299.70−$8,909.33
1112.49 +285.84100.1862.72$190.97$148.77$250.00$80.00−$287.80−$9,197.13
1214.86 +3101.71118.6974.10$227.31$176.26$250.00$120.00−$318.95−$9,516.08
1317.12 +3119.13139.0387.67$270.89$206.46$250.00$120.00−$305.57−$9,821.65
1419.26 +3137.33160.27102.48$318.96$238.00$250.00$120.00−$289.04−$10,110.69
1521.30 +3155.78181.79117.89$369.58$269.96$250.00$120.00−$270.38−$10,381.07
1623.24 +3174.11203.18133.47$421.44$301.73$250.00$120.00−$250.28−$10,631.36
1725.07 +3192.08224.16148.94$473.62$332.88$250.00$120.00−$229.26−$10,860.61
1826.82 +3209.56244.55164.09$525.50$363.16$250.00$120.00−$207.66−$11,068.28

Unit economics — per review

price_per_review 15.00 ◐ measured n=7base_take_rate 0.20 ◆ decisionstripe_pct_of_gmv 0.03 ▤ vendorstripe_fixed_per_txn 0.30 ▤ vendorinfra_cost_per_review 0.75 ● guess
$3.00Platform take$0.73Stripe absorbed$0.75Infra$1.52Contribution

The free allowance is NOT free to the platform: allowance reviews earn zero take but still incur the Stripe + infra legs above. Coach pitch: async net $144.00/effective-hour = 1.20× sync net; throughput 12.00× — publish the net multiple only.

Raise gates

GateThresholdBase caseStatus
active_coaches54✗ BASE CASE FAILS
coaches_retained_90d3◌ no data yet
total_paying_parents50◌ no data yet
reviews_per_active_parent_per_month2.501.17✗ BASE CASE FAILS
month3_parent_retention0.40◌ no data yet
monthly_gmv3000◌ no data yet
platform_matched_transactions10✗ BASE CASE FAILS
consecutive_months_positive_contribution2◌ no data yet
legal_posture_counsel_signoff1◌ no data yet

Open issues snapshot as of 2026-08-19 04:25 UTC — the tracker itself (GitHub Issues) is canonical; this tab is a render. P0 = blocks the beta · P1 = before break-even · P2 = before raise · P3 = someday.

TrackP0P1P2P3Total
driver1110223
obligation67619
table-stakes1337

Drivers with open work: coach-churn, frequency, infra-cost, invites, matched-premium, price, retention. ● no open work: conversion — an unworked driver is a modeling claim nobody is testing.

P0 — 7 open

#TitleLabelsMilestone
#105Close the unauthenticated playlist share-token PII leak (full player names)obligation · recordsM1 First Cohort
#103Coach agreementobligation · coach · needs-counselM1 First Cohort
#102Privacy Policyobligation · platform · needs-counselM1 First Cohort
#101Terms of Serviceobligation · platform · needs-counselM1 First Cohort
#88COPPA: consent record storage and audit trailobligation · platform · needs-counselM1 First Cohort
#87COPPA: verifiable parental consent flowobligation · parent · needs-counselM1 First Cohort
#83Error monitoring and alertingtable-stakes · platformM1 First Cohort

P1 — 21 open

#TitleLabelsMilestone
#104Confirm agent-of-payee exemption posture with counselobligation · payments · needs-counselM2 Break-even
#98No-contact policy between coach and athlete outside the platformobligation · platform · needs-counselM2 Break-even
#97SafeSport-aligned policy and coach agreementobligation · coach · needs-counselM2 Break-even
#96Coach background checks (Checkr or Sterling)obligation · coachM1 First Cohort
#91COPPA: separate opt-in for session-follow-up captureobligation · payments · needs-counselM2 Break-even
#90COPPA: parental access, review and deletion rightsobligation · parent · needs-counselM2 Break-even
#84Automated backups and restore testtable-stakes · platformM2 Break-even
#82Admin consoletable-stakes · platformM2 Break-even
#81Per-review cost instrumentationdriver · platform · infra-costM1 First Cohort
#77SPIKE: will a roster-struggling coach pay 25-30% on a matched player?driver · matching · matched-premium · spikeM2 Break-even
#76SPIKE: where does the first unattached parent come from?driver · matching · matched-premium · spikeM2 Break-even
#71Refunds, disputes and chargebacksobligation · paymentsM2 Break-even
#70Pre-authorized standing arrangement for session follow-upsdriver · payments · retentionM2 Break-even
#68Free-review allowance: first N per coach per monthdriver · payments · priceM1 First Cohort
#63Coach vetting rubricdriver · coach · retention · canvas-blockerM2 Break-even
#61Coach earnings transparency: publish net-of-take figuresdriver · coach · coach-churnM1 First Cohort
#59Coach dashboard: queue, earnings, rosterdriver · coach · coach-churnM2 Break-even
#43Review quality rubric encoded in the toolingdriver · review · retention · canvas-blockerM2 Break-even
#40GameBooth-handled video cuttingdriver · review · coach-churnM2 Break-even
#32Clip trimming before submissiondriver · capture · infra-costM2 Break-even
#26Duplicate athlete record detection and mergetable-stakes · recordsM2 Break-even

P2 — 19 open

#TitleLabelsMilestone
#106Burn down advisory CI gates: 300 worker tsc errors, 141 viewer eslint errorstable-stakes · platformM2 Break-even
#100Content moderation on uploaded videoobligation · capture · needs-counselM3 Raise-ready
#95AI training-data consent capture (13+ only)obligation · platform · needs-counselM3 Raise-ready
#94Biometric data written policy and retention scheduleobligation · platform · needs-counselM3 Raise-ready
#93Biometric consent (BIPA-style) for pose and velocity dataobligation · platform · needs-counselM3 Raise-ready
#92Data retention policy and automated enforcementobligation · platform · needs-counselM3 Raise-ready
#86Weekly driver export to the operating modeldriver · platform · retentionM3 Raise-ready
#75Concierge matching: first match by handdriver · matching · matched-premiumM3 Raise-ready
#74Coach-absorbed billing fallbackdriver · payments · priceM3 Raise-ready
#73Tax reporting for coaches (1099 / T4A)obligation · payments · needs-counselM3 Raise-ready
#69Source-differentiated take ratedriver · payments · matched-premiumM3 Raise-ready
#64Coach offboarding and record handlingtable-stakes · coachM3 Raise-ready
#60Coach-branded low-friction modedriver · coach · coach-churnM3 Raise-ready
#55Parent-facing progress framing (loss-frame, carefully)driver · parent · retentionM3 Raise-ready
#49Athlete progress view (player-framed)driver · player · retentionM3 Raise-ready
#45Review revision or follow-up question from parentdriver · review · frequencyM3 Raise-ready
#33Coach in-session capture (the neuro-mirror flow)driver · capture · invitesM1 First Cohort
#29Longitudinal progress view across reviewsdriver · records · retentionM3 Raise-ready
#27Athlete record export (portability)table-stakes · recordsM3 Raise-ready

P3 — 2 open

#TitleLabelsMilestone
#78Coach roster-need expressiondriver · matching · matched-premiumM3 Raise-ready
#34Mobile capture from the bench or rinksidedriver · capture · frequencyM2 Break-even

Asset A · owner both CEOs · reviewed quarterly · canonical in-repo since 2026-08-19 (edit model/canvas.yaml, never this page) · Stress-tested draft. Tensions are left visible by design.

The spine — two moats with opposite timing

GameBooth has two moats with opposite timing. The wedge (frictionless async-review tooling) gets coaches in the door but is replicable by a flat-fee SaaS competitor. The wall (matching unattached parent demand to coaches) cannot be replicated by any tooling competitor — but it is structurally absent during bootstrap, because Tier 1 coaches arrive with their own rosters and need no matching.

Everything below is an attempt to survive the danger window — the period where you are Tier-1-only, matching isn't live, and the only thing you offer is a tool a third party could clone. The business is durable if and only if it reaches liquidity (matching switched on) before that window closes.

PhaseMatching live?Take rateWhat take rate IS in this phase
BootstrapnoFlat 20%Not a margin to protect. Take rate held flat; frequency comes from the product being genuinely more profitable per hour and ~12x higher throughput, not from a price bribe.
Post-liquidityyes20% base / 25–30% on platform-matchedA finder's premium on demand GameBooth manufactured. Blended take RISES as matched share grows. Take-rate expansion = proof the moat switched on.
MODEL CORRECTION The bootstrap break-even is understated by roughly 4x. The 37-review figure counts $4.00 of take against $148 of cost. Absorbing Stripe (2.9% + $0.30) and ~$0.75 infra makes contribution $2.37 not $4.00; against an honest $250/mo fixed base and the free-review allowance, break-even is ~145 total reviews/month, about 7.8 active coaches. (Superseded again at the $15 price by the in-repo model: ~242 total reviews, ~13 coaches — see the Model tab.)
MODEL CORRECTION The "~2x effective rate" compares GROSS async to NET sync. Net of the 20% take a coach banks $192/effective-hour vs $120 — 1.6x, not 2x. The ~12x throughput claim is correct and was always the stronger argument. Correct the coach pitch before a coach does the arithmetic in front of you.
REJECTED DECISION A volume/frequency discount was explicitly REJECTED from the default plan: it lowers take exactly as a coach grows, trains the highest-GMV coaches to expect a falling rate, and rewards the least-locked-in cohort. Held in reserve only as a stall-breaker if frequency collapses.

The nine blocks

Key Partners

  • Coaches (supply) — the binding constraint on the whole business. Not a vendor: the scarce input.
  • Stripe Connect (Express, agent-of-payee posture, separate charges/transfers).
  • Infra: Cloudflare (Workers/D1/R2), LiveKit.
  • AI/voice: Cartesia (TTS), Deepgram/Gemini (STT). Voice clone is a commodity API call — explicitly NOT a moat.
  • Trust & Safety vendors: Checkr/Sterling, SafeSport framework.
  • Outside legal counsel — THREE distinct consent items tracked separately: (i) pre-authorized session-follow-up capture/billing; (ii) COPPA training-data consent (13+ scope, banked early); (iii) biometric consent (BIPA-style, age-independent).

Key Activities

Ranked by strategic load.

  • 1. Manufacturing unattached parent demand (so matching has fuel) — the activity that switches the moat on. Least-built, most important.
  • 2. Matching players to coaches by need — the wall.
  • 3. Two capture modes: parent-uploads-footage → async review; coach-captures-in-session → next-day neuro-mirror follow-up (the physical→digital bridge; fastest path to T1 density + record population).
  • 4. Async-review + AI-coaching-notes tooling — the wedge. Treat as acquisition, not moat; absorbed via the two-mode architecture rather than ceded.
  • 5. CV/AI augmentation flywheel — augment the coach, never replace. Pose estimation + velocity trends, longitudinal via kid_id. Trains on 13+ only; needs its own biometric consent.
  • 6. Provenance instrumentation (origin-stamping) — makes the revenue model and two-mode architecture enforceable.
  • 7. Trust & Safety / coach vetting — table stakes given minors; where the anti-toxicity promise must be operationalized.

Key Resources

ASSEMBLED BY THE PORT The source doc has no Key Resources section; these are its own statements about substrate and scarce inputs, gathered from §1, §6 and §7 for the canvas grid. Review and edit like any other block.
  • The kid_id athlete record — the SUBSTRATE everything runs on (explicitly not a moat: portable by design; the rails, not the train).
  • Coach supply — the scarce input and binding constraint.
  • Provenance (immutable origin) — what makes premium pricing enforceable.
  • The expert-annotated video corpus (future, 13+ only) — the only asset that compounds with scale, if deliberately built.

Value Propositions

Full detail in Asset B (the Value Prop tab).

  • To coaches: leverage now → demand later. Async wins on effective hourly earnings AND ~12x calendar throughput; GameBooth absorbs the video-cutting/prep sync forces on the coach. Post-liquidity: players they cannot source themselves.
  • To parents: a coached, annotated clip of their child, plus a continuous athlete record. Sold as edge; intended to retain on reassurance/development.
  • To players: a record that travels with them across teams and seasons.
MODEL CORRECTION Honest coach numbers: $192/effective-hour net (1.6x sync) and 12x throughput. Lead with throughput.

Customer Relationships

The central question: does GameBooth OWN the relationship, or merely HOST it? Hosted relationships disintermediate; owned ones don't.

  • Tier 1 (coach-owned, hosted): fragile. Mitigation is SPEED TO LIQUIDITY, not retention mechanics. Accept some anchor coaches may leave once they've lent credibility — treat as a paid marketing channel if they do.
  • Tier 2 (platform-owned): durable. The coach cannot operate without the player flow GameBooth provides.
  • Parents: today bonded to the COACH (they buy edge). Long-run intent: bond them to the SYSTEM (record, progress continuity) so retention survives a coach's departure. Weakest of the lock-in mechanisms — acknowledged.

Channels

  • Bootstrap: Tier 1 coaches as distribution — their existing clients are the first parents. Coach credibility IS the channel.
  • Organic: parent-to-parent loop (unproven).
  • Post-liquidity: GameBooth's own matching surface becomes a channel TO coaches (delivering players) — the channel that creates the wall.
ASSUMPTION That unattached parent demand will materialise to FUEL matching. Every bootstrap parent arrives attached to a coach. Where the first unattached parent comes from is the single biggest open question in the model.

Customer Segments

Three parties, distinct roles. Do not collapse them.

  • Players — the protagonist, never a customer. Data subject only. The kid_id athlete record is the SUBSTRATE the business runs on — necessary rails, not a moat. Never an account holder, never a payer.
  • Parents — the buyer. Account holder, payer, consent-giver (COPPA). What they BUY today is competitive edge; what GameBooth INTENDS to sell is reassurance + development. That gap is a strategic problem, not a copy problem (see Asset B).
  • Coaches Tier 1 — roster-bringers. Arrive with their own players; relationship is coach-owned. Most important to credibility, least defensible. The bootstrap cohort and the disintermediation risk.
  • Coaches Tier 2 — player-receivers. GameBooth matches players to them; relationship is platform-created. This is where the wall exists. Only possible once liquidity exists.

Cost Structure

  • Two engineering cost profiles — do not conflate: product-eng (founder-absorbed pre-PMF) vs sustaining-eng (volume-driven). The step-change in burn is at the Phase 1→2 boundary.
  • Coach-leveraged model: $1M net revenue does not require a large team. The constraint is coach supply, never headcount efficiency.
  • Platform absorbs Stripe processing fees so coach net is a clean 80% (on billable reviews).
MODEL CORRECTION The ~90% contribution margin is a distant ceiling, not a near-term fact: contribution today is ~59% of take / ~12% of GMV at a $20 ticket, and Stripe's $0.30 fixed fee is regressive — the strongest argument for bundling. "Clean 80%" is billable-only; blended payout runs 83–91% of GMV across the first 18 months.

Revenue Streams

Three streams, distinct by who initiates and who pays. Merchant of record stays consistent: separate charges and transfers, agent-of-payee posture.

  • (i) Parent-initiated async reviews — platform fee per review; GameBooth holds the full fee, pays the coach 80% on delivery. Bootstrap flat 20%; post-liquidity 20% coach_invited / 25–30% platform_matched. Blended take is an OUTPUT of sourcing mix, not an input.
  • (ii) Session-follow-up reviews (coach-captured neuro-mirror) — a sequence: free first clip (CAC) → pre-authorized standing arrangement (primary; parents resent a clip that APPEARED, not one they AUTHORIZED) → coach-absorbed fallback (coach bundles into in-person price, pays the fee from margin).
  • (iii) Future: matched-player premium — the 25–30%. Distinct because the revenue RISES as the moat switches on.
  • Coach to Own: the first N reviews per coach each month carry no platform fee (free at the BOTTOM, monthly reset — explicitly NOT a cap; free-at-the-top asymptotes take to zero on the best coaches. Free-at-the-bottom is acquisition; free-at-the-top is suicide).
  • One platform, two modes, one record (the anti-CoachClip judo): a marketplace mode and a low-friction coach-branded mode that FEELS standalone — both writing to the same kid_id record. The low-friction mode is the acquisition channel for the record, not a separate revenue line.
MODEL CORRECTION The allowance is not free to you: at 3/coach/month it removes 54% of billable volume in month 1 and ~16% at steady state, while Stripe and infra are still paid on every free review. Budget it.
BLOCKER Load-bearing twice: source-differentiated pricing AND the two-mode architecture both require kid_id to carry an immutable, system-assigned origin field, stamped server-side at creation on EVERY creation path. Coaches will attempt to claim matched players as their own — expected. Self-reported provenance is dead on arrival. [SHIPPED: origin is live, trigger-enforced, in prod.]
FOR COUNSEL The pre-authorized arrangement is standing authorization for ongoing third-party capture and processing of a minor's video, not just a Stripe mandate. Counsel question: one consent or two, and does the 2025 amendments' separate-opt-in logic apply?

The defensibility verdict

Genuinely defensible

  • Matching (the wall) — no tooling competitor can replicate it; it requires a demand side.
  • The take-rate structure taxing manufactured demand at a premium, enforced by immutable provenance.
  • The coach-supply constraint cutting FOR you once you have density.
  • The switching CLIFF — real today, even on Tier 1 (see below).
  • (Long-run, optional) the data flywheel — expert-annotated sports video collected as a paid byproduct. The only asset that compounds with scale. NOT built; a deliberate future choice. 13+ only.

NOT a moat — stop describing it as one

  • The voice clone (commodity API).
  • The async tooling on its own (replicable flat-fee SaaS; it's a wedge).
  • Tier 1 relationships (coach-owned).
  • The kid_id record itself — substrate, not moat. Portability and lock-in are contradictory; what's defensible is what runs ON the record.

The switching cliff

A coach who leaves to dodge the 20% take returns to doing their own video cutting and prep — falling from $192 to $120 per effective hour: a 37% drop to avoid a 20% fee. A genuine anti-disintermediation force that operates today, in bootstrap, without matching.

MODEL CORRECTION Original claim (~50% drop) compared gross async to net sync; honest figure is 37%. A claim that survives arithmetic is worth more than a bigger one that doesn't.

A cliff, not a wall: it only protects against the coach going fully manual. A flat-fee competitor offering the same prep-elimination at $40/mo neutralises it entirely. The wall is still matching.

Data governance

Serve all ages, train on 13+ only. Converts the COPPA training-data question from existential risk into a bounded segmentation decision, and doubles as a brand asset ("we don't train AI on little kids' video"). Biometric (BIPA-style) consent is a SEPARATE door with no age cutoff — the 13+ segmentation does not close it.

The bet, in one sentence

GameBooth wins if it converts coach-owned Tier 1 relationships into platform-owned Tier 2 liquidity — manufacturing unattached parent demand and stamping provenance — BEFORE a flat-fee tooling competitor or a defecting anchor coach exploits the defenceless bootstrap window.

Validate next, in order

  • Where does the first UNATTACHED parent come from? (Fuels matching; currently unanswered.)
  • Do parents value the artifact/record over the human coach? (Watch/rewatch instrumentation is the first proxy.)
  • Will a roster-struggling coach gladly pay 25–30% on a matched player?

Asset B · owner both CEOs · reviewed quarterly · canonical in-repo since 2026-08-19 (edit model/cvp.yaml, never this page) · Stress-tested draft. Tensions are left visible by design.

Coach value proposition — wedge and wall

Customer profile

Jobs
  • Generate income from coaching (primary job is on-ice/field; review is secondary income).
  • Service more players per available hour.
  • Build a roster of GOOD players (hard; high-value if solved).
  • Maintain reputation/results with existing clients.
Pains
  • Sync review is time-expensive: ≥30 min prep + 30 min call = ≥60 min per session, often more when video isn't pre-cut.
  • Sync forces a direct cost: unpaid prep time OR paying for editing tools out of the session fee.
  • Effective hourly earnings capped at the nominal rate — prep time is unpaid drag.
  • Roster-building is slow and uncertain.
  • Income capped by hours physically available.
Gains
  • More coaching outcomes per hour.
  • Higher EFFECTIVE earnings per hour worked, not just more volume.
  • Flexibility around a primary job.
  • Access to players they couldn't otherwise reach.

Value map

Pain relievers (the WEDGE — replicable)
  • Async review: ≤5 min of work per clip, priced off hourly rate. ~12x calendar throughput (twelve clips vs one session per hour).
  • AI-assisted notes + GameBooth-handled video cutting remove the prep burden entirely — eliminating a cost line the coach carries under sync.
  • GameBooth handles payment and (post-liquidity) matching.
Gain creators (the WALL — not replicable)
  • Matching delivers players the coach cannot source — the durable gain, and the one a flat-fee competitor structurally cannot offer.

The pain relievers are the WEDGE (replicable). The matching gain creator is the WALL (not replicable). A coach's dependency grows only as they consume matched players — which is why pricing taxes growth (matched), not base.

MODEL CORRECTION The rate claim compared gross async to net sync; like-for-like is $192/effective-hour, 1.6x. Publish the net number — a coach who finds the discrepancy discounts everything else. The ~12x throughput claim holds completely and is the stronger argument: a coach's binding constraint is calendar hours, not rate. Lead with throughput, support with rate.

The jobs grid

The Jobs Grid — the purchase trigger and the retention driver are different jobs held by different people

FunctionalSocialEmotional
Player (user)Close the specific skill gapNot be the weak link in front of teammates/coachProtect love of the game from toxic, politically-driven team-coach culture (the founding insight) ● dominant
Parent (buyer)Close the gap that's putting the kid in the bottom half of the rosterKeep up with the families who already pay for private coaching (positional / arms-race)Manage the recurring dread of relegation — "don't let my kid be the bubble kid" ● dominant

The parent's loss-aversion job is the most durable in the model: (1) it never self-extinguishes — relegation dread is structurally renewed every season/coach-change by the league's own mechanics; (2) it's loss-framed, therefore price-insensitive (prospect theory); (3) the cohort self-selects for the economics — bubble-anxious AAA/AA parents pay repeatedly.

The player's dominant job = protected joy. A GameBooth review is NOT a fault-finding takedown — it spotlights the kid and teaches when they want/need it, routing AROUND the toxic culture rather than adding to it.

The split-frame architecture — the core design constraint

The two dominant jobs point in opposite directions: the parent's job is to monetise relegation dread; the player's job is to escape the anxiety machine that creates that dread. Collapsing them recreates the toxic coach and triggers the one churn event GameBooth cannot survive: kid quits → parent churns regardless of coach quality.

  • Parent buys on loss-aversion (the purchase trigger). The league supplies the dread — never market it directly.
  • Player experiences encouragement + targeted teaching (the retention mechanism). The kid never feels the relegation pressure.
  • The product's core job is the TRANSLATION between these frames.
DESIGN BLOCKER The parent's view and the player's view of a review may need to diverge. If the kid reads the parent's relegation anxiety in the product, GameBooth has rebuilt the toxic coach. [DECIDED & BUILT: views diverge — the joy surface is the player-facing encouragement view, age-gated; see tracker #46.]
SUPPLY-QUALITY BLOCKER The player's emotional job is a promise about COACH BEHAVIOUR — the part GameBooth controls least. The anti-toxicity promise must be encoded into vetting, guidelines, and the review tooling (structural nudges toward encouragement over comprehensive fault-finding), or it is a value betrayed at scale. [OPEN: rubric-in-tooling is tracker #43; guidelines acceptance shipped.]
MODEL NOTE Both blockers map to Parent monthly retention — the single highest-leverage unknown in the financial model. These are not soft brand concerns; they sit directly on the number the business is most sensitive to.

Parent and player — pains, gains, relievers

Parent (buyer)

Pains
  • Recurring, league-manufactured dread of the kid being cut/relegated.
  • Can't coach the gap themselves; the team coach may be the SOURCE of the problem.
  • No continuity of record as the kid moves across teams/seasons/coaches.
Gains
  • The kid stays off the bubble.
  • A trusted coach outside the team's politics.
  • A record that follows the player through the yearly roster churn.

Player (user)

Pains
  • Being judged/nitpicked by a politically-motivated team coach.
  • Losing love of the game.
Gains
  • Encouragement and targeted teaching when wanted.
  • A coach who is on THEIR side, outside team politics.
Relievers / creators
  • Coached, annotated clip (parent-frame: gap-closing; player-frame: encouragement).
  • Coach outside the team's political structure.
  • The athlete record (kid_id) — continuity that survives the exact churn the league forces.

GameBooth has been selling the GAIN frame ("competitive edge"). The durable, price-insensitive job is the LOSS frame ("don't get cut") for the buyer, delivered as PROTECTED JOY for the user. Go-to-market language and the dual-surface design should reflect the split.

ASSUMPTION Still untested, still highest-priority: that parents value the produced artifact + record over the raw relationship with the human coach. If false, the coach can always take the parent off-platform. Watch/rewatch instrumentation is the first behavioural evidence.

The session-follow-up VP (coach-captured "neuro-mirror")

Not "do more async volume" but "extend and differentiate my in-person offering." The neuro-mirror clip makes the coach's in-person hour worth more and last longer (the kid re-watches; learning consolidates). A retention hook that does NOT depend on matching.

Natively split-frame-compliant: a neuro-mirror of a skills rep is inherently encouraging ("here's your good rep, here's how to make it cleaner") — possibly the cleanest expression of the anti-toxicity brand.

The fastest real-world path to T1 density and record population: a coach's existing in-person roster converts to platform-active kid_id records in one motion. Accepted risk: produces only coach_invited players — fuels the wedge, may starve the wall.

Who hears which frame

Who hears which frame — the thing most likely to be got wrong under time pressure

AudienceLead withNever lead with
Parents (customers)Protected joy, a coach on your kid's side, a record that follows themRelegation dread. It works, and using it makes you part of the machine you position against.
Players (users)Encouragement, targeted teaching, seeing yourself improveAnything that leaks the parent's anxiety
Coaches (supply)~12x throughput, prep eliminated, then 1.6x net rateThe 2x figure. It does not survive arithmetic.
InvestorsThe loss frame, explicitly — it is why this is repeat-purchase and price-insensitiveThe gain frame. "Helps kids improve" does not explain why demand renews every season.

The investor and customer frames are deliberately opposite. Naming that split openly in a pitch is a strength: it demonstrates you understand your own demand engine well enough to know why you do not point it at your customers.