Repository navigation
[Parked · Epic] Creator-Monetized Study Vehicles — Gated Vaults · AI Mock Builder · Hybrid Tuition Bridge #474
Description
[Parked · Epic] Creator-Monetized Study Vehicles — Gated Vaults · AI Mock Builder · Hybrid Tuition Bridge
V1 status: On Hold / Later — NOT Urgent. Do not schedule until CEO unparks.
Depends on: #459 accounts + ledger · community epic #218 · seasons #232 / #235 · notes-shop delivery rails #203 (FPS cashier + private signed delivery; user brief said “#318” — live notes shop is #203) · later #461 Vehicle MRR KPI · optional #468 streaks for mock-completion hours.
Active window lock: Hybrid free access uses the same 45-day inactive rule as #462.
Protective / copyright language: align #221 ban list + #473 safe-harbor / final-decision pack when published.
Cap.57 / tutor-pays 1.5 for 1-on-1 tutoring: UNCHANGED. Vehicle fees are separate SaaS / content revenue.
0. Why not host official past papers
Sites like Think IB / IB Documents / Revision Village host or organise past papers and mark schemes. MatchMax must not become an official or semi-official repository.
Copyright risk with IBO, HKEAA, Cambridge Assessment, publishers, and school internal papers is real. Existing community rules already ban it:
- #221 (community rules): “No school internal paper, publisher page, HKEAA paper, or IB paper.”
- Community epic #218 is parked.
- Monetization sketched in #232 (Stage 4 paid seasons: mentor 70–80% / MatchMax 20–30%).
- Season pages #235 already say Resources link to the creator’s note listings — not a second upload system for exam boards.
Safe path: user-created Study Vehicles (creator-owned gated communities) where tutors / centres / verified scholars upload their own original or properly licensed practice papers, notes, worked solutions, mock packs, and AI-mutated syllabus-aligned questions — and control access + monetise.
MatchMax = host infrastructure only (Skool / Whop / Notion pattern): DMCA / copyright takedown policy, report queue, safe harbor. Creators warrant rights. MatchMax does not operate a past-paper library.
Strategic reasons (CEO lock)
- Zero copyright liability (safe harbor) — IBO / HKEAA / Cambridge aggressively take down sites that officially sell or host their papers. Creator-owned vaults + takedown path shields the company.
- Creator-driven viral acquisition — An IB 45/45 tutor or centre creates “HKDSE BAFS 5 Vault & AI Mock Hub” at HK$99/mo (or free for active 1-on-1 students) and promotes
/v/$slugon IG / Threads / Xiaohongshu. - Recurring passive MRR for MatchMax — Separate from one-time 1.5-lesson admin fee: platform cut on every paid Vehicle subscription / pass.
1. Problem / solution overview
Problem
- Centralised past-paper sites need content teams + carry heavy copyright risk.
- Tutors’ best notes / mocks sit offline or leak via Airdrop after one paid download.
- No on-platform way for creators to run a gated folder + recurring membership that also pulls 1-on-1 lessons back onto MatchMax.
- Students want topic-filtered timed mocks without MatchMax hosting board papers.
Solution — Study Vehicles (“Vehicles”)
Self-contained, creator-owned micro-communities where Tutors, Education Centres, Top Scholars, and Student Societies can:
- Build a Gated Cloud Resource Vault (nested folders, PDF notes, worked solutions, video walkthroughs) — members only.
- Build & share an AI Custom Question Bank & Auto-Paper Generator (syllabus-aligned mock questions tagged by Topic / Difficulty / Paper Type → custom timed mocks on demand).
- Monetise flexibly: monthly sub · one-time exam pass · freemium · free VIP for active 1-on-1 TuitionCase students (hybrid tuition bridge).
Non-members see public description + folder tree titles + optional teaser files + Join CTA only.
2. Hard locks (CEO)
| Lock | Rule |
|---|---|
| Official papers | Banned. IB / HKEAA / Cambridge / school internal / publisher papers & mark schemes — reuse #221 language verbatim in Vehicle create/upload + rules page. |
| Content ownership | User-created original or properly licensed only. Creator warrants rights on every upload. MatchMax = host only. |
| Platform fee | Prefer 12% MatchMax / 88% creator for Vehicle subs / passes (platformFeePercent default 12.00). |
| Fee consistency note | Notes shop #203 ≈ 20%; season split #232 mentor 70–80 / MatchMax 20–30. Vehicle cut is Vehicle-specific (creator-economy SaaS). CEO may tune before unpark — document any change in this issue + fee track. |
| Cap.57 / 1.5 | Tutor-pays 1.5-lesson admin fee for 1-on-1 matching unchanged. Vehicle fees ≠ admin fee; not Cap.57 employment-agency placement. |
| Active window | Hybrid free access pauses when TuitionCase inactive 45 days — align #462. |
| Under-18 | Parent acceptance required when opened wider (same pattern as #221). |
| Contact filter | No phone / email / WhatsApp / IG / WeChat / Telegram / QR in Vehicle descriptions or vault file metadata (existing filter). |
| Urgent | Do not mark urgent. Do not create a MatchMax-operated past-paper library issue. |
3. Access models (full table)
VehicleAccessModel |
How it works | Platform cut | Why creators love it |
|---|---|---|---|
FREE_PUBLIC |
Anyone can join (top-of-funnel lead gen). Upsells via paid packs inside. | 12% on paid add-on tickets / bundles | School societies / partner centres bring cohorts in one link. |
PAID_SUBSCRIPTION |
Recurring monthly HKD (e.g. HK$80–250) via FPS / card / Apple Pay for Vault + Q&A + Paper Builder. | 12% (creator 88%) | Scalable passive MRR (50 × HK$150 = HK$7,500/mo). |
ONE_TIME_PASS |
Single payment (e.g. HK$399) until exam cohort end date (e.g. May IB / April HKDSE). | 12% | Peak-season conversion without subscription fatigue. |
ACTIVE_STUDENTS_ONLY |
Free only for learners with an active TuitionCase with this tutor/centre. | 0% on free unlock | Pure retention / logging flywheel. |
HYBRID_PAID_OR_STUDENT |
Public pays (e.g. HK$150/mo); active 1-on-1 TuitionCase → auto free unlock. If case inactive 45 days, free access pauses → must pay. | 12% on paid path; 0% on free unlock (value = on-platform logging) | “Book 1-on-1 with me → get my HK$180/mo Vault free while classes stay on MatchMax.” |
4. Database schema & data models
enum VehicleAccessModel {
FREE_PUBLIC // Anyone can join (great for top-of-funnel tutor lead gen)
PAID_SUBSCRIPTION // Recurring monthly HKD fee (e.g., HK$120/month)
ONE_TIME_PASS // Single payment for lifetime or exam-cohort access (e.g., HK$380 till May 2027 Exams)
ACTIVE_STUDENTS_ONLY // Free exclusively for students with an active TuitionCase with this Tutor/Centre
HYBRID_PAID_OR_STUDENT // Paid for general public, FREE auto-unlock if student books 1-on-1 lessons with creator
}
enum VaultItemType {
FOLDER
PDF_DOCUMENT // Notes, worked examples, formula sheets (Watermarked on view)
VIDEO_WALKTHROUGH // Embedded HLS video stream
QUESTION_BANK_COLLECTION // Links to AI/Creator Question Bank for auto-paper generation
}
model StudyVehicle {
id String @id @default(uuid())
slug String @unique // e.g., "ib-hl-econ-vault" → /v/ib-hl-econ-vault
creatorUserId String // Owner (Tutor, Student Scholar, or Org Admin)
organizationId String? // Optional link if owned by an Education Centre
title String // e.g., "IBDP HL Economics 7/7 Vault & AI Paper Maker"
curriculumTag String // "IBDP", "HKDSE", "IGCSE", "IAL", "UNI"
subjectTag String // "Economics", "Mathematics AA", "Chemistry"
bannerUrl String?
description String @db.Text
// Monetization & Pricing Settings
accessModel VehicleAccessModel @default(HYBRID_PAID_OR_STUDENT)
monthlyPriceHkd Decimal? @db.Decimal(8, 2) // e.g., 120.00
oneTimePassPriceHkd Decimal? @db.Decimal(8, 2) // e.g., 450.00
platformFeePercent Decimal @default(12.00) @db.Decimal(4, 2) // MatchMax 12%, Creator 88%
// Social Proof Metrics
memberCount Int @default(0)
totalVaultFilesCount Int @default(0)
totalQuestionsCount Int @default(0)
avgRating Decimal @default(5.0) @db.Decimal(2, 1)
memberships VehicleMembership[]
vaultItems VehicleVaultItem[]
questionBank VehicleQuestionItem[]
createdAt DateTime @default(now())
}
model VehicleMembership {
id String @id @default(uuid())
vehicleId String
vehicle StudyVehicle @relation(fields: [vehicleId], references: [id])
learnerProfileId String // [#459] LearnerProfile
role String @default("MEMBER") // "OWNER", "MODERATOR", "MEMBER"
accessGrantReason String // "PAID_SUB", "ONE_TIME_PASS", "ACTIVE_TUITION_CASE_LINK", "FREE"
linkedTuitionCaseId String? // If granted via ACTIVE_TUITION_CASE_LINK
status String @default("ACTIVE") // "ACTIVE", "EXPIRED", "REVOKED", "PAUSED"
expiresAt DateTime? // Null if lifetime; synced to billing cycle or TuitionCase active status
joinedAt DateTime @default(now())
}
// Hierarchical Folder & File Tree inside the Vehicle ("The Big Gated Folder")
model VehicleVaultItem {
id String @id @default(uuid())
vehicleId String
vehicle StudyVehicle @relation(fields: [vehicleId], references: [id])
parentFolderId String? // Null = Root directory; supports nested sub-folders
itemType VaultItemType
title String // e.g., "Topic 3: Macroeconomics — 20x Level 7 Essay Plans"
fileStorageKey String? // Private S3/R2 key (Never publicly accessible via raw URL)
fileSizeBytes Int?
isPreviewableForNonMembers Boolean @default(false) // Free teaser file to convert visitors into buyers
enableDynamicWatermark Boolean @default(true) // Stamps viewer's @handle & phone on PDF to stop piracy
sortOrder Int @default(0)
createdAt DateTime @default(now())
}
// Structured Question Bank for AI / Custom Mock Paper Generation inside the Vehicle
model VehicleQuestionItem {
id String @id @default(uuid())
vehicleId String
vehicle StudyVehicle @relation(fields: [vehicleId], references: [id])
syllabusTopicCode String // e.g., "2.1 Microeconomics - Elasticity"
paperComponent String // e.g., "Paper 1 (Essay)", "Paper 2 (Data Response)", "Paper 3 (HL Calc)"
difficultyLevel Int // 1 (Foundation) to 5 (Level 7 / 5** Killer Question)
marksAllocated Int // e.g., 10, 15, 25
estimatedMinutes Int // e.g., 18 minutes
questionPromptMarkdown String @db.Text // Supports LaTeX math, diagrams, and tables
markschemeMarkdown String @db.Text // Step-by-step grading rubric & model answer
isAiGeneratedVariant Boolean @default(false) // True if synthesized via AI Question Mutator
}Rights / compliance fields (impl): on create + every vault upload — creator checkbox warranting original/licensed rights; store acceptance version id (align #221 / #473). Ban list mirrored in upload validation copy.
5. Core modules
Module A — Gated Vault & Anti-Piracy DRM
Creators worry: one student pays HK$99, downloads all PDFs, Airdrops the school.
-
Signed ephemeral URLs + in-browser viewer
- Files in private bucket. API checks
VehicleMembership.status == "ACTIVE"before streaming into in-app PDF/media reader. - Raw S3/R2 URLs expire ≤ 60 seconds. Never expose permanent public URLs.
- Files in private bucket. API checks
-
Dynamic anti-leak watermarking (
enableDynamicWatermark = true)- Diagonal semi-transparent overlay every page:
Licensed to @leo_chan (852-9XXX-XX12) via MatchMax Vehicle — Do Not Distribute - Uses logged-in member @handle + masked phone.
- Diagonal semi-transparent overlay every page:
-
Teaser / preview lock (
isPreviewableForNonMembers)- Non-members see full folder tree + titles (e.g.
📁 01. Microeconomics (14 PDFs)). - Open 1–2 unlocked sample files.
- Locked click → 1-click Join / Subscribe modal.
- Non-members see full folder tree + titles (e.g.
Module B — AI Custom Paper Builder & “Past Paper Style” Mutator
Not uploading copyrighted IB/DSE PDFs. Creators get a 2-in-1 engine:
Creator — AI Question Mutator (“Clone the Style, Change the Scenario”)
- Paste a classic concept or own worksheet → “✨ Generate 5 Syllabus-Aligned Variants”.
- LLM produces brand-new, copyright-free questions testing the same syllabus formula/concept (IB/DSE command terms: Evaluate, Calculate, Hence, or otherwise) + point-by-point markschemes + LaTeX → save to
VehicleQuestionItemwithisAiGeneratedVariant = true.
Student member — 3-click Custom Mock Paper Generator
- Select syllabus topics (weak chapters).
- Select paper component + difficulty + target duration / marks.
- Generate → either:
- Interactive Timed Exam Mode — live countdown; then markscheme side-by-side (self-grade or AI rubric); log time toward activity streak (#468 later).
- Printable Custom Exam PDF + MS — exam-formatted booklet + markscheme appendix, watermarked for that student.
Module C — Creator monetization & 1-on-1 tuition flywheel
See §3 access-model table. Payment rails: reuse notes shop FPS / manual cashier + signed delivery patterns from #203 and season payment shape from #232 where possible (recurring polish in Phase B).
Hybrid tuition bridge (exact logic):
isCurrentlyActive == trueon TuitionCase with creator → autoVehicleMembershipwithaccessGrantReason = ACTIVE_TUITION_CASE_LINK.- If TuitionCase inactive ≥ 45 days (same window as #462 Active) → membership
PAUSED/ free grant ends → paywall. - Re-logging lessons on MatchMax restores free access.
- Drives on-platform lesson logging — Cap.57 1.5 path unchanged.
6. UI / UX wireframe (Vault + Paper Builder)
+-----------------------------------------------------------------------------------+
| 🚗 VEHICLE: IBDP HL Economics 7/7 Vault & Paper Lab [👑 Creator: @hauzton]|
| 🏛️ Curriculum: IBDP HL/SL • 👥 184 Members • ⭐ 4.98 (62) • [✔ Active Pass] |
+-----------------------------------------------------------------------------------+
| [ 📁 Resource Vault (48) ] [ 📝 Custom Paper Builder ] [ 💬 Q&A Wall ] [ 📊 Analytics ]
+-----------------------------------------------------------------------------------+
| (VIEW 1: When [ 📁 Resource Vault ] is selected — Gated Nested Folder Tree) |
| +-----------------------------------+-----------------------------------------+ |
| | 📂 VAULT DIRECTORY | 📄 PREVIEW: Topic_2_Elasticity_7_Notes | |
| | ├── 📁 00. Start Here & Syllabus | +-------------------------------------+ | |
| | ├── 📂 01. Microeconomics (Open) | | [Watermark: @leo_chan • 852-9XXX] | | |
| | │ ├── 📄 1.1 Competitive Mkts | | | | |
| | │ ├── 📄 1.2 Elasticity Drills | | 1.2 Price Elasticity of Demand | | |
| | │ └── 🎬 Paper 1 Essay Video | | Formula: PED = (%ΔQd) / (%ΔP) | | |
| | ├── 📁 02. Macroeconomics (16) | | Exam Tip: Always state whether... | | |
| | ├── 📁 03. Global Economy (12) | +-------------------------------------+ | |
| | └── 📁 04. HL Paper 3 Calc (19) | [🔍 Fullscreen] [⭐ Save to My Binder] | |
| +-----------------------------------+-----------------------------------------+ |
| |
| (VIEW 2: When [ 📝 Custom Paper Builder ] is selected — Student Test Maker) |
| +-----------------------------------------------------------------------------+ |
| | ⚡ GENERATE A CUSTOM MOCK PAPER FROM THIS VEHICLE'S QUESTION BANK (340 Qs) | |
| | | |
| | 1. Select Syllabus Topics: | |
| | [☑ 1. Microeconomics (95 Qs)] [☑ 2. Macroeconomics (110 Qs)] [☐ 3. Global]| |
| | | |
| | 2. Paper Style & Difficulty: | |
| | Component: [● Paper 2 Data Response] [○ Paper 1 Essay] [○ Paper 3 Calc] | |
| | Difficulty: [○ Foundation] [● Standard Exam (Lvl 5-6)] [● Lvl 7 Killer] | |
| | Target Length: [ 45 Mins / 40 Marks ▾ ] | |
| | | |
| | [ 🚀 Start Interactive Timed Exam ] [ 🖨️ Download Custom Exam PDF + MS ] | |
| +-----------------------------------------------------------------------------+ |
+-----------------------------------------------------------------------------------+
7. Placement & discovery
| Surface | Behaviour |
|---|---|
/v/$slug |
Public landing (description, tree titles, teasers, Join) + member vault |
| Tutor / centre profile | “Study Vehicles” section — cards linking to owned Vehicles |
| Browse page | /vehicles (or under Discover) — curriculum / subject filters; Phase D |
| Season Resources #235 | May link to a Vehicle or note listings — do not fork a third file system in Phase A |
8. Integration with existing issues
| Issue | Integration |
|---|---|
| #459 | learnerProfileId on membership; roles (tutor / parent / student scholar); optional verified self-study / practice hours credit when timed mock completed (anti-idle) — Phase D |
| #461 | 4th KPI pill later: 🔄 Vehicle MRR (Passive Income): HK$ X/mo beside 1-on-1 tutoring buckets — Phase D |
| #462 | 45-day Active window for hybrid free access pause |
| #468 | Optional: mock completion → daily/weekly streak / MaxPoints — Phase D |
| #218 / #221 | Community park + ban list + report/takedown queue; parent acceptance under-18 |
| #232 / #235 | Season monetization & Resources page patterns; Vehicle is separate product with its own 12% cut |
| #203 | FPS cashier, private storage, signed delivery, watermark stamp patterns — reuse/extend |
| #473 | Safe-harbor / creator warranty / takedown / final-decision language for Vehicle T&Cs |
9. Phasing
Phase A — first unpark (MVP vault commerce)
Private folder vault + membership gate + simple paid one-time / monthly + watermark DRM + #221 ban + report/takedown + ephemeral URLs + teaser files + create Vehicle < 2 min.
Phase B — billing + hybrid flywheel
Creator dashboard (members, revenue, downloads, retention) + recurring billing polish + hybrid tuition bridge (active TuitionCase ↔ free access; 45-day pause).
Phase C — AI / mocks
AI question mutator + custom mock paper builder + timed exam mode + printable PDF+MS.
Phase D — discovery + closed-loop polish
Browse page, bundling with matching, Vehicle MRR on #461 dashboard, verified self-study hours → #459 / #468.
10. Acceptance criteria (QA)
Phase A
- Tutor, Centre, or verified Student Scholar can create a
StudyVehiclein < 2 minutes, configure folder hierarchies, set pricing (FREE_PUBLIC,PAID_SUBSCRIPTION,ONE_TIME_PASS,ACTIVE_STUDENTS_ONLY,HYBRID_PAID_OR_STUDENT). - Upload path rejects / bans official IB / HKEAA / Cambridge / school internal / publisher papers (copy from #221); creator rights warranty checkbox required.
- Non-members see tree titles + teasers only; members with
status=ACTIVEstream vault items. - DRM: every PDF in viewer stamps viewer
@handle+ masked phone; raw storage URLs expire ≤ 60s. - Paid one-time / monthly checkout reuses #203-style FPS/cashier; platform cut 12% recorded; creator keeps 88%.
- Report + staff takedown path works (community report queue).
- No contact details in descriptions (existing filter).
- Cap.57 / tutor-pays 1.5 path untouched by Vehicle payments.
Phase B
- Hybrid Tuition Bridge: active TuitionCase (
isCurrentlyActive == true) with creator → auto free access toHYBRID_PAID_OR_STUDENT/ACTIVE_STUDENTS_ONLYVehicle; inactive 45 days → free access pauses / reverts to paywall. - Creator dashboard: members, revenue, downloads, retention.
- Recurring subscription renew / expire / revoke states correct.
Phase C
- Custom Paper Generator: members filter
VehicleQuestionItemby topic, paper component, difficulty → randomized timed test or downloadable PDF + markscheme. - AI mutator produces variants flagged
isAiGeneratedVariant; no path to upload board past papers as “official”.
Phase D
- Browse / profile discovery surfaces Vehicles.
- #461 shows Vehicle MRR KPI pill.
- Timed mock completion (anti-idle) can credit 0.5–1.0 verified self-study hours (#459) and optionally streak (#468).
- Under-18 join requires parent acceptance when feature opened wider.
11. Implementation checklists (per phase)
Phase A checklist
- Migration: enums +
StudyVehicle/VehicleMembership/VehicleVaultItem(+ indexes on slug, creatorUserId, learnerProfileId). - Private bucket + signed URL helper (≤60s) + in-app PDF viewer.
- Dynamic watermark overlay (handle + masked phone).
- Create / edit Vehicle UI + access model + prices + rights warranty.
- Folder tree CRUD; teaser flag; non-member vs member gating.
- Checkout: FPS/cashier reuse from #203; ledger row for platform 12% / creator 88%.
- Ban-list validation + report/takedown hook from community queue.
- Contact filter on description + file metadata strip.
- Routes:
/v/$slug, creator manage console. - i18n: Vehicle create, join, paywall, ban copy (EN + 繁中).
- RLS / authz: only ACTIVE members read vault bytes; owner/moderator write.
Phase B checklist
- Recurring billing cycle + expire job.
- TuitionCase active watcher → grant / pause hybrid membership (45-day rule shared constant with #462).
- Creator dashboard KPIs.
- Refund / revoke / chargeback staff tools (minimal).
Phase C checklist
-
VehicleQuestionItemCRUD + LaTeX render. - AI mutator endpoint (rate-limited; store variants).
- 3-click paper builder + timed mode + PDF export + watermark.
- Explicit product copy: “original / AI-mutated mocks — not official past papers”.
Phase D checklist
-
/vehiclesbrowse + profile section. - #461 Vehicle MRR pill.
- Optional ledger write for practice hours + #468 streak hook.
- Parent acceptance gate for under-18.
- Bundling CTA: Vehicle ↔ Request this tutor / case (no Cap.57 change).
12. Out of scope
- MatchMax-operated past paper library (IB / HKEAA / Cambridge / school / publisher).
- Official mark schemes hosted by MatchMax.
- Replacing notes shop #203 or season Resources #235 — Vehicles extend, do not delete those rails.
- Chat / Telegram / Stripe Connect / Cal.com as Vehicle deps (respect #218 / #332 bans unless separately unparked).
- Changing tutor-pays 1.5 or Cap.57 posture.
- Marking this epic Urgent / V1.
13. Open questions (CEO can tune before unpark)
- Confirm 12% Vehicle cut vs raise/lower toward notes-shop 20% or season 20–30% for consistency marketing.
- Q&A Wall in wireframe — ship with Phase A (reuse community comments) or defer until #218 Stage 1?
- Video walkthrough hosting — Phase A link-out only vs HLS in Phase B+?
- Apple Pay / card vs FPS-only at Phase A (notes shop is FPS-first).
Parked until #459 + community foundation stable. Pull forward only if creator acquisition needs a gated-content monetization wedge — still not an official paper host.
Activity
owlstonbusiness-svg commentedon Oct 27, 2026
Related: #486 Phase D (paid tutor subscription community groups) parks against this Study Vehicles / #232 monetization track. Free community (Phases A–C) must have real DAU before unparking paid group walls.
owlstonbusiness-svg commentedon Oct 27, 2026
Different scope: Materials Marketplace Pack (#487/#488/#489) = one-shot shop SKUs / variants / storefront on
digital_materials. This Vehicles epic = gated memberships / AI mocks. Cross-link only — do not merge. Memberships stay pointed here from the pack’s Out of scope.