# PRD: Template Taxonomy, Generation Modes & Quickstarts **Version**: 1.1 **Date**: March 9, 2026 **Status**: Approved — ready to build --- ## Executive Summary Reveal currently splits into two paths: Desktop (full wizard) and Live (mobile presets). This is a false dichotomy. The real axis is **time pressure**, not device. A desktop user screen-sharing a Zoom call needs the same speed as a mobile user at a conference. A mobile user reviewing meeting notes later doesn't need speed at all. This PRD makes three architectural changes: 1. **Three generation modes** replace the Live/Desktop split — Realtime (speed), Studio (depth), Engine (batch) 2. **Unified category taxonomy** — 13 categories with mode-filtered visibility. Playbooks merge into Lead Magnets. Sales & Presentations is first-class. Intelligence and Content Engine are Engine-mode categories. 3. **Quickstarts (QS)** — saved production configurations that capture every variable (domain, voice, design, ICP, template, depth, gate, folder). Pick a QS, drop in source material, hit Go. No more resetting 9+ variables between runs. --- ## Part 1: Generation Modes ### The Three Modes | Mode | Time Pressure | Primary Input | Primary Output | Available On | |------|--------------|---------------|----------------|-------------| | **Realtime** | 30-90 seconds | Live mic / active Zoom transcription | QR code + shareable link | Desktop + Mobile | | **Studio** | 2-5 minutes | Uploaded transcript, files, URLs | Published page, email delivery | Desktop primarily | | **Engine** | Background / scheduled | RSS feeds, YouTube URLs, curated sources | Batched reports, daily content | Desktop only (automated) | ### Mode Behaviors **Realtime Mode** - Speed pipeline engaged automatically (`speed_mode: true`) - Complexity router forces `single-fast` or `hero-first` paths - Assembler used for HTML generation (skips Pass 2 LLM) - Default input: microphone recording with live transcription preview - Default output: QR code + instant shareable link - Template filter: only templates tagged `realtime: true` - Desktop Realtime: triggered during active Zoom transcription capture or when user selects "I'm in a meeting now" - Mobile Realtime: the current `/reveal/live` experience (unchanged UX, mode-aware backend) **Studio Mode** - Full depth pipeline (Pass 1 extraction + Pass 2 HTML render) - All templates available, no speed constraints - Default input: file upload, paste, URL extraction - Default output: published page with full verification - This IS the current Desktop wizard behavior **Engine Mode** - Batch processing, no UI waiting - Sources: RSS feeds, YouTube transcript URLs, curated link lists, MCP session exports - Runs on schedule or manual trigger - Output: intelligence briefs, daily content pieces, newsletter drafts - Templates tagged `engine: true` only - Future: cron-triggered via API ### Mode Selection UX **Desktop (`/reveal`)** ``` [Realtime] [Studio] [Engine] ^ ^ ^ "I'm in "Post- "Batch a meeting meeting process" right now" build" ``` Three tabs or pill buttons at the top of the wizard. Studio is default. Realtime activates when transcription is running. Engine is a separate dashboard-style view. Each mode tab filters the Quickstart list to show only QS matching that mode. The QS picker sits below the mode tabs as a compact card (see Part 3). **Mobile (`/reveal/live`)** Always Realtime mode. No mode selector — the mobile UX IS Realtime by definition. Uses the same QS system underneath, filtered to `mode: 'realtime'`. --- ## Part 2: Template Categories ### Unified Category List All categories exist across all modes. Each mode filters which categories (and which templates within categories) are visible. | # | Category ID | Display Name | Description | Realtime | Studio | Engine | |---|------------|--------------|-------------|----------|--------|--------| | 1 | `meeting-intel` | Meeting Intelligence | Full call analysis with insights, frameworks, opportunities | Yes | Yes | - | | 2 | `sales-presentations` | Sales & Presentations | Live pitch decks, proposals, case studies | Yes | Yes | - | | 3 | `lead-magnets` | Lead Magnets & Playbooks | Diagnostic playbooks, assessments, resource kits — all with strategic CTAs | Subset | Yes | - | | 4 | `tool` | Interactive Tools | Calculators, scorecards, assessments, interactive widgets | - | Yes | - | | 5 | `ai-demo` | AI Prompts | Ready-to-use prompts tailored to the prospect | Yes | Yes | - | | 6 | `athio` | Partnership | JV intelligence pages at every relationship stage | Subset | Yes | - | | 7 | `validation` | Validation & Launch | Alpha launch pages, waitlists, idea validation suites | - | Yes | - | | 8 | `intelligence` | Intelligence & Research | Aggregated briefs from multiple sources, session recaps | - | - | Yes | | 9 | `content-engine` | Content Engine | Mastery Minutes, Mastery Moments, pillar articles, atomic content | - | Studio* | Yes | | 10 | `linkedin` | LinkedIn | Carousels, narrative posts, pattern-interrupt content (Charles Hill strategy) | - | Yes | Yes | | 11 | `newsletter` | Newsletter | Issue compilation, segment-targeted editions | - | Yes | Yes | | 12 | `email-sequences` | Email Sequences | Nurture sequences, launch sequences, onboarding drips | - | Yes | Yes | | 13 | `client-deliverables` | Client Deliverables | Discovery recaps, project proposals, board updates, coaching summaries | Yes* | Yes | - | *Studio for manual one-offs; Engine for scheduled batch. Client Deliverables in Realtime = quick recap only. ### Templates Per Category #### 1. Meeting Intelligence (`meeting-intel`) | Template ID | Name | Realtime | Description | |------------|------|----------|-------------| | `meeting-intel` | Default Report | Yes | Full transcript analysis with insights, opportunities, and actions | | `meeting-intel-recap` | Quick Recap | Yes | 1-section summary — "here's what we discussed" (NEW, lightweight) | | `meeting-intel-executive` | Executive Brief | No | C-suite formatted — decisions, risks, next steps only (NEW) | #### 2. Sales & Presentations (`sales-presentations`) — NEW | Template ID | Name | Realtime | Description | |------------|------|----------|-------------| | `sales-pitch` | Live Pitch Page | Yes | Build during meeting, screen-share ready, real-time value demo | | `sales-proposal` | Proposal Page | No | Post-call deliverable with scope, pricing, timeline | | `sales-case-study` | Case Study | No | Results proof page with before/after metrics | | `sales-comparison` | Pricing Comparison | Yes | Options page for decision maker — tier comparison | #### 3. Lead Magnets & Playbooks (`lead-magnets`) — MERGED from `playbook` | Template ID | Name | Realtime | Description | Strategic CTA | |------------|------|----------|-------------|---------------| | `playbook` | Audience Playbook | Yes | Expert's framework structured for their audience | Audience capture ("get more playbooks") | | `playbook-cold` | Expert Attention | No | Personalized extraction to capture expert cold | Relationship ("work with us") | | `playbook-community` | Community Seed | No | Credit expert, post in communities | Audience hijack ("join our community") | | `lead-assessment` | Assessment Results | Yes | Personalized scorecard from conversation data | Email gate → nurture | | `lead-resource-kit` | Resource Kit | No | Curated collection of tools/templates/links | Email gate → authority | | `lead-decision-framework` | Decision Framework | Yes | Structured decision tree for prospect's choice | Consult CTA | | `lead-mini-course` | Mini-Course Landing | No | 3-5 lesson sequence gated content page | Course enrollment | #### 4. Interactive Tools (`tool`) | Template ID | Name | Realtime | Description | |------------|------|----------|-------------| | `tool` | Default Tool | No | Custom calculator, assessment, or interactive widget | | `tool-scorecard` | Scorecard | No | Multi-criteria scoring with visual results (NEW) | | `tool-calculator` | ROI Calculator | No | Input-driven calculation with personalized output (NEW) | #### 5. AI Prompts (`ai-demo`) | Template ID | Name | Realtime | Description | |------------|------|----------|-------------| | `ai-demo` | Default Prompts | Yes | Ready-to-use AI prompts tailored to the prospect | #### 6. Partnership (`athio`) | Template ID | Name | Realtime | Description | |------------|------|----------|-------------| | `athio-jv-cold` | JV Cold Prospect | Yes* | Partnership page from public info (LinkedIn, website) | | `athio-jv-warm` | JV Post-Conversation | No | Reference page after a call — FAQ from objections | | `athio-jv-ready` | JV Ready to Sign | No | Maximum personalization — co-branded page | *Realtime for JV Cold only — quick "let me show you" during call #### 7. Validation & Launch (`validation`) | Template ID | Name | Realtime | Description | |------------|------|----------|-------------| | `alpha-validation` | Alpha Launch Page | No | Validation landing with hero, pricing, founder story | | `email-waitlist` | Email Waitlist | No | Pre-launch waitlist with email capture | | `validation-suite` | Idea Validation Suite | No | 4-page analysis: market, positioning, competitive, sales | #### 8. Intelligence & Research (`intelligence`) — NEW, Engine-only | Template ID | Name | Description | |------------|------|-------------| | `intel-aggregate` | Ideas Aggregate | 30 hours of YouTube/podcasts condensed into 1 filtered brief | | `intel-session-recap` | Session Recap | MCP chat session summary with extracted decisions and actions | | `intel-competitor` | Competitor Watch | Track competitor moves across sources, weekly digest | | `intel-trend` | Trend Brief | Emerging patterns from curated RSS/newsletter sources | #### 9. Content Engine (`content-engine`) — NEW | Template ID | Name | Description | |------------|------|-------------| | `content-mastery-minute` | Mastery Minute | Daily 60-second atomic insight — Dickie/Cole atomic essay format | | `content-mastery-moment` | Mastery Moment | Quick-hit teaching moment with one takeaway | | `content-pillar` | Pillar Article | Long-form cornerstone content (2000+ words) | | `content-atomic` | Atomic Essay | Ship-30-for-30 style short-form piece | | `content-thread` | Thread / Carousel Script | Multi-slide carousel or thread script | #### 10. LinkedIn (`linkedin`) — NEW | Template ID | Name | Description | |------------|------|-------------| | `linkedin-carousel` | Carousel Post | Charles Hill style — pattern interrupt + value slides | | `linkedin-narrative` | Narrative Post | Story-driven post with hook → tension → resolution | | `linkedin-authority` | Authority Post | Framework/methodology post establishing expertise | | `linkedin-engagement` | Engagement Post | Question/poll/hot-take designed for comments | #### 11. Newsletter (`newsletter`) — NEW | Template ID | Name | Description | |------------|------|-------------| | `newsletter-issue` | Newsletter Issue | Full issue compilation with curated sections | | `newsletter-solo` | Solo Send | Single-topic deep-dive email | #### 12. Email Sequences (`email-sequences`) — NEW | Template ID | Name | Description | |------------|------|-------------| | `email-nurture` | Nurture Sequence | 5-7 email drip for new subscribers | | `email-launch` | Launch Sequence | 4-email launch campaign (story → proof → offer → close) | | `email-onboard` | Onboarding Sequence | Welcome + activation emails for new customers | #### 13. Client Deliverables (`client-deliverables`) — NEW | Template ID | Name | Realtime | Description | |------------|------|----------|-------------| | `client-recap` | Discovery Recap | Yes | Post-discovery-call summary with recommendations | | `client-proposal` | Project Proposal | No | Scoped proposal with deliverables, timeline, investment | | `client-update` | Client Update | No | Progress report / board update format | | `client-coaching` | Coaching Summary | Yes | Session recap with action items and accountability | --- ## Part 3: Quickstarts (QS) ### What a Quickstart Is A Quickstart is a **saved production configuration** — every variable pre-set so a run only needs source material to launch. No more resetting domain, voice, design, ICP, template, depth, gate, and folder between runs. ### What's Captured in a Quickstart ```typescript interface Quickstart { // Identity id: string name: string // "Mastery Minute — MasteryMade" icon: string // emoji mode: 'realtime' | 'studio' | 'engine' is_system: boolean // pre-built QS can't be deleted // Publishing domain_id: string | null folder_id: string | null slug_pattern: string | null // e.g. "mastery-minute-{date}" // Template template_ids: string[] // which templates to generate template_styles: Record // custom template overrides depth: 'concise' | 'comprehensive' speed_mode: boolean // Persona Stack voice_id: string | null design_id: string | null icp_id: string | null crm_id: string | null // Gating gate_type: 'none' | 'email' | 'password' password_mode: 'light' | 'deep' | null gate_password: string | null // Source Defaults default_input_mode: 'upload' | 'record' | 'url' source_prompt: string | null // hint text for source input // Cost Tracking avg_cost: number | null // rolling average cost per run (calculated) total_runs: number // how many times this QS has been used // Sharing user_id: string // owner team_id: string | null // shared with team (null = private) created_at: string updated_at: string } ``` ### Example Quickstarts **"Mastery Minute — MasteryMade"** ``` Mode: Engine Domain: masterymade.com Folder: /daily Template: content-mastery-minute Depth: concise Speed: true Voice: Jason — Casual Teaching Design: MasteryMade Design System ICP: The AI Dabbler Gate: none Input mode: upload Avg cost: $0.08/run ``` **"Athio JV Cold Outreach"** ``` Mode: Studio Domain: athio.ai Folder: /partners Template: athio-jv-cold Depth: comprehensive Speed: false Voice: Jason — Professional Authority Design: Athio Design System ICP: The Scaler Gate: password (light) Input mode: url (LinkedIn) Avg cost: $0.35/run ``` **"Live Zoom Debrief"** ``` Mode: Realtime Domain: masterymade.com Folder: /meetings Template: meeting-intel Depth: comprehensive Speed: true Voice: Default Design: MasteryMade Design System ICP: (none) Gate: none Input mode: record Avg cost: $0.22/run ``` ### Pre-Built System Quickstarts Ship with a small set of system QS that demonstrate the concept and cover the most common workflows. Users can't delete system QS but can duplicate and customize them. | QS Name | Mode | Template | Key Settings | |---------|------|----------|-------------| | Meeting Debrief | Realtime | `meeting-intel` | depth: comprehensive, gate: none, input: record | | Expert Outreach | Studio | `playbook-cold` | depth: comprehensive, gate: none, input: upload | | Community Playbook | Studio | `playbook-community` | depth: comprehensive, gate: none, input: upload | | JV Prospect | Studio | `athio-jv-cold` | depth: comprehensive, gate: password, input: url | These match the current Live QUICK_PRESETS but are now full Quickstart objects with all variables settable. ### UX: Quickstart Selection **Desktop — Step 1 of wizard becomes QS picker:** Default state: last-used QS shown as a compact card. Click to expand full list. ``` ┌──────────────────────────────────────────────────┐ │ [magnifier] Meeting Debrief ~$0.22 │ ← last used, shown by default │ masterymade.com · meeting-intel · realtime │ │ [Change] │ └──────────────────────────────────────────────────┘ ``` Click "Change" or the card → expands to full QS list: ``` YOUR QUICKSTARTS [+ New QS] [magnifier] Meeting Debrief ~$0.22 [RT] [handshake] Athio JV Cold ~$0.35 [ST] [seedling] Community Playbook ~$0.40 [ST] [target] Expert Outreach ~$0.30 [ST] ───────────────────────────────────────── [+] Start from scratch ``` Minimal real estate when collapsed. Full list when needed. Each card shows: - Icon + name - Average cost per run - Mode badge (RT / ST / EN) - Domain + template summary (subtle, small text) **Mobile (`/reveal/live`):** Same QS system, but filtered to `mode: 'realtime'` only. Same compact card UI. ### UX: After QS Selection Everything pre-populated. The wizard jumps to **Source** step: ``` ┌──────────────────────────────────────────────────┐ │ [magnifier] Meeting Debrief ~$0.22 │ │ masterymade.com · meeting-intel · realtime │ │ [Change] │ └──────────────────────────────────────────────────┘ ┌──────────────────────────────────────────────────┐ │ │ │ Drop transcript or start recording │ │ │ │ [Upload] [Record] [Paste URL] │ │ │ └──────────────────────────────────────────────────┘ ▼ Settings (pre-filled from QS) ← collapsed accordion [Generate] ``` The "Settings" accordion shows all pre-filled values. Expand to override anything for this run. If you change something: ``` ▼ Settings (1 override) [Generate] [Save as new QS] ← appears when settings differ ``` ### QS Creation — Two Paths **Path 1: Dedicated creation** Click "+ New QS" → modal/page with all fields. Name, icon picker, then each setting group (Publishing, Template, Persona, Gating, Source). **Path 2: Save from current run** Configure a run manually ("Start from scratch"), then before or after generating, click "Save as Quickstart." Captures all current settings into a new QS. Both produce the same Quickstart object. ### QS Sharing Each QS has a `team_id` field. When set: - All members of that team see the QS in their list - Only the owner (or team admin) can edit/delete - Team members can duplicate to customize their own version Share flow: QS settings → "Share with team" toggle → team selector dropdown. ### Cost Display **On QS cards:** Show `avg_cost` (rolling average from last 10 runs). Displayed as `~$0.22` on the card. Null until the QS has been used at least once, then shows "~$X.XX". **On template cards (category grid):** Each template already has `estimated_cost` in `BUILT_IN_TEMPLATE_META`. Display this on the template card in both the wizard and the run detail page Add/Swap section: `~28K tokens · $0.18–$0.40`. **Cost source:** Calculated from `usage` records linked to runs that used this QS. The `avg_cost` field is updated after each run completes. --- ## Part 4: Data Model Changes ### Template Table Updates ```sql -- Add mode compatibility flags to templates ALTER TABLE custom_templates ADD COLUMN IF NOT EXISTS realtime_compatible boolean DEFAULT false, ADD COLUMN IF NOT EXISTS engine_compatible boolean DEFAULT false; -- Category column already exists — update values for merged/new categories -- 'playbook' category → 'lead-magnets' for existing playbook templates ``` ### Built-in Template Meta Updates In `lib/reveal/blueprints.ts`, `BUILT_IN_TEMPLATE_META` gets two new fields per template: ```typescript interface TemplateMeta { name: string icon: string desc: string pageCount: number category: string estimated_tokens: { input: number; output: number } estimated_cost: string realtime: boolean // NEW — can this template run in speed mode? engine: boolean // NEW — is this template available for batch/scheduled runs? } ``` ### Quickstarts Table ```sql CREATE TABLE IF NOT EXISTS reveal_quickstarts ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), user_id uuid NOT NULL REFERENCES auth.users(id), team_id uuid REFERENCES teams(id), -- null = private name varchar(100) NOT NULL, icon varchar(10) DEFAULT '', mode varchar(20) NOT NULL DEFAULT 'studio' CHECK (mode IN ('realtime', 'studio', 'engine')), is_system boolean DEFAULT false, -- Publishing domain_id uuid REFERENCES domains(id), folder_id uuid, slug_pattern varchar(200), -- Template template_ids text[] NOT NULL DEFAULT '{}', template_styles jsonb DEFAULT '{}', depth varchar(20) DEFAULT 'comprehensive' CHECK (depth IN ('concise', 'comprehensive')), speed_mode boolean DEFAULT false, -- Persona Stack voice_id uuid, design_id uuid, icp_id uuid, crm_id uuid, -- Gating gate_type varchar(20) DEFAULT 'none' CHECK (gate_type IN ('none', 'email', 'password')), password_mode varchar(10), gate_password varchar(200), -- Source Defaults default_input_mode varchar(20) DEFAULT 'upload' CHECK (default_input_mode IN ('upload', 'record', 'url')), source_prompt text, -- Cost Tracking (computed) avg_cost numeric(10,4), total_runs integer DEFAULT 0, -- Timestamps created_at timestamptz DEFAULT now(), updated_at timestamptz DEFAULT now() ); -- Index for user's QS list CREATE INDEX IF NOT EXISTS idx_quickstarts_user ON reveal_quickstarts(user_id); -- Index for team-shared QS CREATE INDEX IF NOT EXISTS idx_quickstarts_team ON reveal_quickstarts(team_id) WHERE team_id IS NOT NULL; -- Link runs to the QS that launched them (for cost tracking) ALTER TABLE transcript_runs ADD COLUMN IF NOT EXISTS quickstart_id uuid REFERENCES reveal_quickstarts(id); ``` --- ## Part 5: Migration Path ### Phase 1: Category Rename + Cost Display (immediate) 1. Rename `playbook` category → `lead-magnets` in DB and code 2. Update `TEMPLATE_CATEGORIES` in wizard and run detail page 3. Add `sales-presentations` and `client-deliverables` as empty categories 4. Add cost display (`estimated_cost`) to template cards in wizard + run detail page 5. No new blueprints yet — just structural change ### Phase 2: Quickstarts (next) 1. Create `reveal_quickstarts` table (migration) 2. Add `quickstart_id` column to `transcript_runs` 3. Build QS CRUD API (`/api/reveal/quickstarts`) 4. Build QS picker UI in wizard Step 1 (compact card + expand to list) 5. "Save as Quickstart" button after manual configuration 6. Migrate existing `reveal_presets` data → `reveal_quickstarts` 7. Wire cost tracking: after run completes, update QS `avg_cost` and `total_runs` ### Phase 3: Mode System 1. Add mode tabs to Desktop wizard (`/reveal`) 2. Realtime tab reuses LiveWizard component logic (Desktop Realtime = mic + speed during Zoom) 3. Studio tab is current wizard behavior 4. Engine tab is placeholder (dashboard-style, deferred to Phase 5) 5. Add `realtime_compatible` and `engine_compatible` flags to templates 6. QS list filtered by mode tab ### Phase 4: New Blueprints (iterative) 1. Write blueprints for new templates as needed 2. Priority order: `sales-pitch` → `meeting-intel-recap` → `client-recap` → `intel-aggregate` 3. Each blueprint follows existing prescriptive format with DO/DON'T rules ### Phase 5: Engine Backend (future — separate PRD) 1. Engine mode UI in wizard 2. Cron/scheduler for Engine mode QS 3. Source ingestion pipeline (RSS, YouTube, MCP exports) 4. Forge dashboard for managing sources and schedules --- ## Part 6: What NOT Changes - **Blueprint format** (`lib/reveal/blueprints.ts`) unchanged — same section/rule structure - **Run pipeline** (`app/api/reveal/run/route.ts`) unchanged — still takes template_ids + depth + gate - **Speed pipeline** (`complexity-router.ts` + `assembler.ts`) unchanged — Realtime mode just auto-enables it - **Verification engine** unchanged - **Profile system** (ICP/Voice/Design/CRM) unchanged — all modes use same profiles - **LiveWizard.tsx** stays as Realtime mobile (switched to use QS system under the hood but same UX) ### What DOES Change - **RevealWizard.tsx** — Step 1 becomes QS picker instead of direct template selection. "Start from scratch" falls through to current Step 1 behavior - **Wizard step flow** — becomes: QS → Source → Review → Progress → Verify (config step disappears for repeat work) - **`reveal_presets` table** — migrated to `reveal_quickstarts`, then deprecated - **QUICK_PRESETS constant** in both wizards — becomes system QS loaded from DB instead of hardcoded --- ## Appendix: Category → Brand Mapping | Category | MasteryMade.com | MasteryOS.ai | Athio.ai | labs.masterymade.com | asapmastery.com | |----------|----------------|-------------|---------|---------------------|----------------| | Meeting Intel | Client meetings | Product demos | Partner calls | - | - | | Sales & Presentations | Service pitches | Product demos | JV pitches | - | Workshop pitches | | Lead Magnets | Authority content | User acquisition | Partner magnets | Experiment results | Community growth | | Interactive Tools | Consulting tools | Product features | - | Lab experiments | Assessment tools | | AI Prompts | Client gifts | Product demos | - | - | Community value | | Partnership | - | - | Core use case | - | - | | Validation | New offerings | New features | New markets | All experiments | New programs | | Intelligence | Market research | Competitor intel | Partner research | Research synthesis | Trend watching | | Content Engine | Daily content | Product content | - | Lab notes | Community content | | LinkedIn | Personal brand | Company brand | - | - | Community brand | | Newsletter | MasteryMade digest | Product updates | Partner updates | Lab digest | Community digest | | Email Sequences | Sales funnels | Onboarding | Partner nurture | - | Member nurture | | Client Deliverables | Core output | - | Partner reports | - | - |