Sell content bundles
Package pre-recorded videos, PDFs, and notes as a one-shot lifetime-access product. Paystack revenue settles to the coach's existing subaccount, automatically.
- Three product surfaces: storefront card, coach editor, buyer my-library player
- Snapshot-at-purchase composition so coach edits never mutate what existing buyers paid for
- Two free preview items per bundle drive conversion without unlocking the paid set
- 7-day no-view self-serve refund window (same policy as Programs)
- Paystack subaccount split routes revenue directly to the coach minus platform commission
- Promo-code stacking with referral discounts (80% combined cap, mirrors the Programs flow)
- Tokenised 15-minute stream URLs deter casual hot-linking
- Per-buyer PDF watermarking + bundle.* automation triggers + 5 outbound Zapier events
- Tier-gated: Basic 0, Pro 1, Colossal 5, Studio unlimited team-shared
The content-creator coach's missing surface
Instagram-fitness and YouTube-fitness operators leave Colossus for Teachable, Kajabi, or Thinkific when they want to monetise their pre-recorded library. We owned every primitive the use-case needs: ContentItem stores the files + thumbnails + per-buyer PDF watermark flag, ContentVideoProgress already tracks resumable playback per item, Program + ProgramPurchase prove the one-shot Paystack flow, and CoachPayoutAccount.paystack_subaccount_code routes revenue at charge time. What was missing was the thin product-wrapper: ContentBundle + ContentBundlePurchase + the snapshot-on-purchase composition rows.
Snapshot-at-purchase composition
The coach-editable composition lives on ContentBundleItem rows. The buyer-side snapshot lives on ContentBundlePurchaseItem rows that capture the exact item-ids at the moment of purchase. The coach can edit the source list freely (add a missing warm-up video, swap a better technique cue, retire a lesson) without surprising existing buyers. A version counter bumps on every published edit so future purchases pull the new composition.
Paystack subaccount split + automated ZAR payouts
We route bundle revenue through the coach's existing Paystack subaccount so the platform commission + the passed-through card processing fee + auto-payout all run on the same rails as Programs and packages. Both deductions are shown as separate lines on every payout, and the coach receives automated ZAR payouts. No FX, no extra integration to maintain.
Tier-gating that mirrors creator-scale reality
Basic gets zero bundles; Pro gets one (proves the model without turning Pro into a creator plan); Colossal gets five (matches the typical Beginner/Intermediate/Advanced catalogue plus a couple of specials); Studio gets unlimited team-shared (coach-role authors, owner/admin sets price + publishes).