GameBooth — Operating System
Canonical source: model/ in the repo. Generated 2026-08-19 01:51 UTC.
Aggregates and pseudonymous IDs only.
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
| Input | Value | Basis | Note |
|---|---|---|---|
| starting_active_coaches | 1 | ✓ actual | Danny |
| coach_monthly_churn | 0.05 | ● guess insufficient (n=3) | |
| parents_invited_per_coach_per_month | 8.00 | ● guess insufficient (n=4) | |
| invite_to_first_purchase_conversion | 0.35 | ● guess insufficient (n=1) | |
| parent_monthly_retention | 0.70 | ● guess | Highest-leverage unknown. Enters as 1/(1-r). |
| reviews_per_active_parent_per_month | 1.17 | ◐ measured (n=6) | |
| price_per_review | 15.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_rate | 0.20 | ◆ decision | |
| premium_take_rate | 0.28 | ◆ decision | |
| free_reviews_per_coach_month | 3 | ◆ decision | Free at the BOTTOM of each month, resets monthly. NOT a cap. |
| matched_share | 0.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_rate | 120 | ▢ canvas | |
| minutes_per_async_clip | 5 | ▢ canvas | |
| minutes_per_sync_session | 60 | ▢ canvas | |
| stripe_pct_of_gmv | 0.03 | ▤ vendor | |
| stripe_fixed_per_txn | 0.30 | ▤ vendor | |
| infra_cost_per_review | 0.75 | ● guess | |
| coach_onboarding_cost | 40 | ● guess | |
| fixed_monthly_costs | 250 | ● guess | |
| one_time_legal | 6000 | ● guess | |
| legal_lands_month | 2 | ◆ decision |
Measured overlays this build:
reviews_per_active_parent_per_month: promoted to measuredparents_invited_per_coach_per_month: REFUSED — insufficient (n=4); assumption keptinvite_to_first_purchase_conversion: REFUSED — insufficient (n=1); assumption keptparent_monthly_retention: not tracked (null) — assumption keptcoach_monthly_churn: REFUSED — insufficient (n=3); assumption keptprice_per_review: promoted to measured
Changed since previous snapshot:
- no driver changes between the last two snapshots
Sensitivity — plausible ranges (never ±% flexing)
Swing of steady-state contribution per coach across each driver's configured plausible range (assumptions.yaml). Sorted by swing, descending. The dot on each bar marks the current base-case value.
What-if — steady state, live
Driver trends — weekly snapshots
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):
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.
| Mo | Coaches | Parents | Reviews | Billable | Revenue | Absorbed | Fixed | Onboard | Legal | Net | Cash |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 0.95 | 2.66 | 3.10 | 0.25 | $0.76 | $4.61 | $250.00 | — | — | −$253.85 | −$253.85 |
| 2 | 0.90 | 4.39 | 5.12 | 2.41 | $7.24 | $7.61 | $250.00 | — | $6,000.00 | −$6,250.36 | −$6,504.21 |
| 3 | 1.86 +1 | 8.27 | 9.65 | 4.08 | $12.25 | $14.34 | $250.00 | $40.00 | — | −$292.09 | −$6,796.30 |
| 4 | 2.76 +1 | 13.53 | 15.79 | 7.50 | $22.49 | $23.45 | $250.00 | $40.00 | — | −$290.96 | −$7,087.26 |
| 5 | 3.63 +1 | 19.63 | 22.90 | 12.02 | $36.07 | $34.01 | $250.00 | $40.00 | — | −$287.94 | −$7,375.19 |
| 6 | 4.44 +1 | 26.18 | 30.56 | 17.22 | $51.67 | $45.38 | $250.00 | $40.00 | — | −$283.71 | −$7,658.91 |
| 7 | 6.22 +2 | 35.75 | 41.72 | 23.05 | $69.16 | $61.96 | $250.00 | $80.00 | — | −$322.79 | −$7,981.70 |
| 8 | 7.91 +2 | 47.18 | 55.06 | 31.32 | $93.97 | $81.76 | $250.00 | $80.00 | — | −$317.79 | −$8,299.49 |
| 9 | 9.52 +2 | 59.67 | 69.64 | 41.09 | $123.26 | $103.41 | $250.00 | $80.00 | — | −$310.15 | −$8,609.64 |
| 10 | 11.04 +2 | 72.68 | 84.82 | 51.70 | $156.26 | $125.96 | $250.00 | $80.00 | — | −$299.70 | −$8,909.33 |
| 11 | 12.49 +2 | 85.84 | 100.18 | 62.72 | $190.97 | $148.77 | $250.00 | $80.00 | — | −$287.80 | −$9,197.13 |
| 12 | 14.86 +3 | 101.71 | 118.69 | 74.10 | $227.31 | $176.26 | $250.00 | $120.00 | — | −$318.95 | −$9,516.08 |
| 13 | 17.12 +3 | 119.13 | 139.03 | 87.67 | $270.89 | $206.46 | $250.00 | $120.00 | — | −$305.57 | −$9,821.65 |
| 14 | 19.26 +3 | 137.33 | 160.27 | 102.48 | $318.96 | $238.00 | $250.00 | $120.00 | — | −$289.04 | −$10,110.69 |
| 15 | 21.30 +3 | 155.78 | 181.79 | 117.89 | $369.58 | $269.96 | $250.00 | $120.00 | — | −$270.38 | −$10,381.07 |
| 16 | 23.24 +3 | 174.11 | 203.18 | 133.47 | $421.44 | $301.73 | $250.00 | $120.00 | — | −$250.28 | −$10,631.36 |
| 17 | 25.07 +3 | 192.08 | 224.16 | 148.94 | $473.62 | $332.88 | $250.00 | $120.00 | — | −$229.26 | −$10,860.61 |
| 18 | 26.82 +3 | 209.56 | 244.55 | 164.09 | $525.50 | $363.16 | $250.00 | $120.00 | — | −$207.66 | −$11,068.28 |
Unit economics — per review
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
| Gate | Threshold | Base case | Status |
|---|---|---|---|
| active_coaches | 5 | 4 | ✗ BASE CASE FAILS |
| coaches_retained_90d | 3 | — | ◌ no data yet |
| total_paying_parents | 50 | — | ◌ no data yet |
| reviews_per_active_parent_per_month | 2.50 | 1.17 | ✗ BASE CASE FAILS |
| month3_parent_retention | 0.40 | — | ◌ no data yet |
| monthly_gmv | 3000 | — | ◌ no data yet |
| platform_matched_transactions | 1 | 0 | ✗ BASE CASE FAILS |
| consecutive_months_positive_contribution | 2 | — | ◌ no data yet |
| legal_posture_counsel_signoff | 1 | — | ◌ no data yet |
Open issues snapshot as of 2026-08-19 01:51 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.
| Track | P0 | P1 | P2 | P3 | Total |
|---|---|---|---|---|---|
| driver | — | 11 | 10 | 2 | 23 |
| obligation | 6 | 7 | 6 | — | 19 |
| table-stakes | 1 | 3 | 3 | — | 7 |
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
| # | Title | Labels | Milestone |
|---|---|---|---|
| #105 | Close the unauthenticated playlist share-token PII leak (full player names) | obligation · records | M1 First Cohort |
| #103 | Coach agreement | obligation · coach · needs-counsel | M1 First Cohort |
| #102 | Privacy Policy | obligation · platform · needs-counsel | M1 First Cohort |
| #101 | Terms of Service | obligation · platform · needs-counsel | M1 First Cohort |
| #88 | COPPA: consent record storage and audit trail | obligation · platform · needs-counsel | M1 First Cohort |
| #87 | COPPA: verifiable parental consent flow | obligation · parent · needs-counsel | M1 First Cohort |
| #83 | Error monitoring and alerting | table-stakes · platform | M1 First Cohort |
P1 — 21 open
| # | Title | Labels | Milestone |
|---|---|---|---|
| #104 | Confirm agent-of-payee exemption posture with counsel | obligation · payments · needs-counsel | M2 Break-even |
| #98 | No-contact policy between coach and athlete outside the platform | obligation · platform · needs-counsel | M2 Break-even |
| #97 | SafeSport-aligned policy and coach agreement | obligation · coach · needs-counsel | M2 Break-even |
| #96 | Coach background checks (Checkr or Sterling) | obligation · coach | M1 First Cohort |
| #91 | COPPA: separate opt-in for session-follow-up capture | obligation · payments · needs-counsel | M2 Break-even |
| #90 | COPPA: parental access, review and deletion rights | obligation · parent · needs-counsel | M2 Break-even |
| #84 | Automated backups and restore test | table-stakes · platform | M2 Break-even |
| #82 | Admin console | table-stakes · platform | M2 Break-even |
| #81 | Per-review cost instrumentation | driver · platform · infra-cost | M1 First Cohort |
| #77 | SPIKE: will a roster-struggling coach pay 25-30% on a matched player? | driver · matching · matched-premium · spike | M2 Break-even |
| #76 | SPIKE: where does the first unattached parent come from? | driver · matching · matched-premium · spike | M2 Break-even |
| #71 | Refunds, disputes and chargebacks | obligation · payments | M2 Break-even |
| #70 | Pre-authorized standing arrangement for session follow-ups | driver · payments · retention | M2 Break-even |
| #68 | Free-review allowance: first N per coach per month | driver · payments · price | M1 First Cohort |
| #63 | Coach vetting rubric | driver · coach · retention · canvas-blocker | M2 Break-even |
| #61 | Coach earnings transparency: publish net-of-take figures | driver · coach · coach-churn | M1 First Cohort |
| #59 | Coach dashboard: queue, earnings, roster | driver · coach · coach-churn | M2 Break-even |
| #43 | Review quality rubric encoded in the tooling | driver · review · retention · canvas-blocker | M2 Break-even |
| #40 | GameBooth-handled video cutting | driver · review · coach-churn | M2 Break-even |
| #32 | Clip trimming before submission | driver · capture · infra-cost | M2 Break-even |
| #26 | Duplicate athlete record detection and merge | table-stakes · records | M2 Break-even |
P2 — 19 open
| # | Title | Labels | Milestone |
|---|---|---|---|
| #106 | Burn down advisory CI gates: 300 worker tsc errors, 141 viewer eslint errors | table-stakes · platform | M2 Break-even |
| #100 | Content moderation on uploaded video | obligation · capture · needs-counsel | M3 Raise-ready |
| #95 | AI training-data consent capture (13+ only) | obligation · platform · needs-counsel | M3 Raise-ready |
| #94 | Biometric data written policy and retention schedule | obligation · platform · needs-counsel | M3 Raise-ready |
| #93 | Biometric consent (BIPA-style) for pose and velocity data | obligation · platform · needs-counsel | M3 Raise-ready |
| #92 | Data retention policy and automated enforcement | obligation · platform · needs-counsel | M3 Raise-ready |
| #86 | Weekly driver export to the operating model | driver · platform · retention | M3 Raise-ready |
| #75 | Concierge matching: first match by hand | driver · matching · matched-premium | M3 Raise-ready |
| #74 | Coach-absorbed billing fallback | driver · payments · price | M3 Raise-ready |
| #73 | Tax reporting for coaches (1099 / T4A) | obligation · payments · needs-counsel | M3 Raise-ready |
| #69 | Source-differentiated take rate | driver · payments · matched-premium | M3 Raise-ready |
| #64 | Coach offboarding and record handling | table-stakes · coach | M3 Raise-ready |
| #60 | Coach-branded low-friction mode | driver · coach · coach-churn | M3 Raise-ready |
| #55 | Parent-facing progress framing (loss-frame, carefully) | driver · parent · retention | M3 Raise-ready |
| #49 | Athlete progress view (player-framed) | driver · player · retention | M3 Raise-ready |
| #45 | Review revision or follow-up question from parent | driver · review · frequency | M3 Raise-ready |
| #33 | Coach in-session capture (the neuro-mirror flow) | driver · capture · invites | M1 First Cohort |
| #29 | Longitudinal progress view across reviews | driver · records · retention | M3 Raise-ready |
| #27 | Athlete record export (portability) | table-stakes · records | M3 Raise-ready |
P3 — 2 open
| # | Title | Labels | Milestone |
|---|---|---|---|
| #78 | Coach roster-need expression | driver · matching · matched-premium | M3 Raise-ready |
| #34 | Mobile capture from the bench or rinkside | driver · capture · frequency | M2 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.
| Phase | Matching live? | Take rate | What take rate IS in this phase |
|---|---|---|---|
| Bootstrap | no | Flat 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-liquidity | yes | 20% base / 25–30% on platform-matched | A finder's premium on demand GameBooth manufactured. Blended take RISES as matched share grows. Take-rate expansion = proof the moat switched on. |
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
- 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.
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.
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).
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.
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.
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.
The jobs grid
The Jobs Grid — the purchase trigger and the retention driver are different jobs held by different people
| Functional | Social | Emotional | |
|---|---|---|---|
| Player (user) | Close the specific skill gap | Not be the weak link in front of teammates/coach | Protect 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 roster | Keep 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.
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.
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
| Audience | Lead with | Never lead with |
|---|---|---|
| Parents (customers) | Protected joy, a coach on your kid's side, a record that follows them | Relegation dread. It works, and using it makes you part of the machine you position against. |
| Players (users) | Encouragement, targeted teaching, seeing yourself improve | Anything that leaks the parent's anxiety |
| Coaches (supply) | ~12x throughput, prep eliminated, then 1.6x net rate | The 2x figure. It does not survive arithmetic. |
| Investors | The loss frame, explicitly — it is why this is repeat-purchase and price-insensitive | The 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.