Skip to content

PRD — Billing & Monetization

Doc owner: Justin Audience: Eng, Design, Product, Finance, GTM Status: v2 (February 2026 — pricing alignment, credits removed, per-companion billing, Superpowers+ rebrand, referral integration) Depends on: PRD 3 (Progression & Loadout), PRD 6 (Onboarding & Growth), PRD 9 (Gateway API) Blocks: PRD 4 (premium themes), PRD 10 (proactive gating)


Implementation Status

Section Status Notes
Stripe checkout (monthly + annual) ✅ Shipped app/payment/service.py — $7.99/mo and $50/yr
Stripe webhooks ✅ Shipped checkout.session.completed, invoice.paid, etc.
Free tier enforcement (50 msgs/day) ✅ Shipped app/services/subscription_access_service.py
Rate limiting (4 categories) ✅ Shipped app/services/rate_limit_service.py
In-persona upgrade messages ✅ Shipped 3 variants, monthly link only (annual discoverable via web)
Billing history API ✅ Shipped app/api/payment_routes.py
Subscription management (cancel/reactivate) ✅ Shipped app/api/payment_routes.py
Account deletion (30-day grace) ✅ Shipped app/api/account_routes.py
Slot-aware enforcement ❌ Not Shipped Binary superpowers on/off. Needs upgrade to slot-count-aware (see PRD 3 Section 6).
Per-companion billing scope ❌ Not Shipped Subscription is per-user, slots are per-companion. Not yet reflected in enforcement.
Referral reward billing ❌ Not Shipped 3 referrals = 1 free month (PRD 6). Stripe coupon/credit integration needed.
Paid level transfer ❌ Not Shipped One-time purchase for companion level transfer (PRD 3). No one-time purchase support yet.
Pause subscription ❌ Not Shipped No pause flow
Student discount ❌ Not Shipped No SheerID / .edu verification
Monthly value summary ❌ Not Shipped No "what your companion did this month" report
Gift subscriptions ❌ Not Shipped No gift purchase flow

References

This PRD uses standardized terminology, IDs, pricing, and model references defined in the companion documents:

Document What it Covers
REFERENCE_GLOSSARY_AND_IDS.md Canonical terms: workflow vs miniapp vs superpower, ID formats
REFERENCE_PRICING.md Canonical pricing: $7.99/mo + $50/yr, free tier limits
REFERENCE_MODEL_ROUTING.md Pipeline stage → model tier mapping
REFERENCE_DEPENDENCY_GRAPH.md PRD blocking relationships and priority order
REFERENCE_FEATURE_FLAGS.md All feature flags by category
REFERENCE_TELEMETRY.md Amplitude event catalog and gaps

Executive Summary

This PRD defines Ikiro's complete monetization model across consumer (B2C) and developer/enterprise (B2B) products. The consumer model uses a freemium structure where free users get a genuine companion experience and Superpowers+ ($7.99/mo or $50/yr) unlocks expanded superpower slots, unlimited messages, companion switching, proactive features, and cosmetic upgrades. The B2B model uses tiered API pricing (defined in PRD 9).

Core tension: We're building a relationship product. Aggressive monetization destroys trust. But unsustainable unit economics kill the company. The model must feel generous while covering costs and generating margin.

Current state: Stripe subscription live ($7.99/mo + $50/yr). Free tier enforcement shipped (50 msgs/day). Three in-persona upgrade message variants deployed (monthly link only). Billing history and subscription management APIs operational. Slot-aware enforcement and per-companion billing scope not yet implemented.

What changed in v2: - Superpowers+ rebrand — subscription tier renamed from "Sage+" to "Superpowers+" (companion-agnostic). - Credits removed — credit system fully deprecated. No credit packs, no paid trial, no credit balance. Pure free tier + subscription. - Pricing aligned — $7.99/mo + $50/yr canonical. Annual discoverable via web/payment page, not surfaced in chat. - Memory cap removed — free users get unlimited memories. The upgrade lever is what the companion can do, not what it can remember. - Slot alignment — Free = 1 slot always. Superpowers+ = 3→6 at L10 per companion (PRD 3 v3). - Per-companion billing — subscription is per-user, but slots and loadouts are per-companion. Paid level transfer as one-time purchase. - Referral integration — 3 referrals = 1 free month of Superpowers+ (PRD 6 v5). Billing handles Stripe coupon/credits. - Cost model updated — Supermemory (not mem0), model routing in place, margins recalculated at $7.99 (~58% gross).


1) Consumer Pricing (B2C)

1.1 Tier Structure

Feature Free Forever Superpowers+ ($7.99/mo)
Daily messages 50 Unlimited
Superpower slots 1 (always, personality test default) 3 → 6 (grows with companion level per PRD 3)
Memory storage Unlimited Unlimited
Superpower tiers Bronze → Silver → Gold (use-based) Bronze → Silver → Gold (use-based)
Proactive messages 1/day max 5/day (configurable)
Group chats 1 active group Unlimited groups
Photo memories 5/month Unlimited
Voxel Room themes Basic themes All themes (incl. premium)
Avatar customization None Full customization
OAuth connections 1 source Unlimited sources
Response priority Standard Priority queue
Companion switching Not available (locked to onboarding companion) Available (per-companion levels, paid level transfer)
Superpower creation Unlocks at Level 8 Unlocks at Level 5
Progression speed 1x 1.5x multiplier in formula

Per-companion note: Slots are per-companion — each companion in your roster has their own equipped superpowers. One Superpowers+ subscription covers all companions. See PRD 3 Section 6 for loadout mechanics.

1.2 Pricing Rationale

$7.99/month (or \(50/year, ~\)4.17/mo) — targeting college students and young professionals: - Below the "think twice" threshold for most of this demographic - Comparable to: Spotify (\(10.99), ChatGPT Plus (\)20 but utility-focused), Character.AI Pro (\(9.99) - Covers estimated cost per active premium user (~\)3.35/month in LLM + infra) - ~58% gross margin at full engagement — sustainable at scale - Annual option ($50/yr) available via web portal and Stripe checkout page, not surfaced in chat

Free Forever — not a trial, a real product: - 50 messages/day is enough for a genuine relationship (most users average 15-30/day) - 1 superpower slot gives real utility (personality test superpower auto-equipped, swappable) - Unlimited memory — the companion remembers everything regardless of plan. Capping memory is capping the relationship itself. - The free tier must feel generous, not crippled — the upgrade sells itself through expanded capabilities, not degraded basics


2) Free-to-Premium Conversion

2.1 Natural Upgrade Moments

The product creates organic moments where premium feels valuable, never forced. Each moment is delivered in the active companion's voice (Sage, Vex, or Echo):

Moment What Happens Status
Hit 50-message daily limit "we've been chatting a lot today! Superpowers+ gives you unlimited" ✅ Shipped (3 variants)
Try to equip 2nd superpower (free user) "I'd love to learn that but my one slot is full — Superpowers+ gives me more room" ✅ Shipped (as binary superpowers check)
Superpower blocked in group "superpowers work in groups when the creator has Superpowers+" ✅ Shipped
Try to join 2nd group chat "I can only do one group on free — upgrade and I can be everywhere" ❌ Depends on group count enforcement
Proactive message blocked by limit "I had something to tell you about tomorrow but I hit my daily limit" ❌ Depends on proactive gating (PRD 10)
Premium Voxel theme visible "ooh that room theme looks nice — that's a Superpowers+ thing" ❌ Depends on Voxel World (PRD 4)

After any upgrade decline: Companion mentions the referral alternative once: "you can also get a free month by inviting 3 friends — no pressure either way." See PRD 6 Section 6.6.

Upgrade frequency rule: Max 1 suggestion per week. Never during emotional conversations. Never after a same-conversation decline.

2.2 Upgrade Flow

In-chat (primary conversion path):

Companion: you've been hitting the daily limit a lot lately —
           Superpowers+ is $7.99/mo and you get unlimited everything.
           want me to send you the link?

User: yeah

Companion: here you go! → [Stripe checkout link (monthly)]
           (you can cancel anytime, no contracts, I won't be weird about it)

The in-chat link always goes to the monthly checkout. The annual option ($50/yr) is discoverable on the Stripe checkout page and the web portal settings page, but is not surfaced in companion messages.

Web portal: - Settings → "Upgrade to Superpowers+" button - Feature comparison table showing both monthly and annual options - Stripe checkout redirect (annual pre-selected as better value) - Immediate activation on payment confirmation

2.3 Anti-Patterns (What We Will NOT Do)

  • ❌ Hard paywall after trial expires (kills trust)
  • ❌ Degrade free experience over time (feels punitive)
  • ❌ Nag about upgrading more than once per week
  • ❌ Make the companion less helpful or warm to free users
  • ❌ Lock safety features behind paywall (crisis support, boundary enforcement)
  • ❌ Lock memory behind paywall (memory is unlimited for all users)
  • ❌ Use dark patterns (hidden auto-renewal, difficult cancellation)
  • ❌ Mention pricing during emotional or vulnerable conversations
  • ❌ Surface annual plan in chat (keep chat upgrade flow simple — one link, one price)

3) Premium Churn Prevention

3.1 Why Users Might Cancel

Reason Mitigation
"I don't use it enough" Level/streak system creates habit. Proactive messages provide value even on quiet days.
"It's not worth $8" Ensure premium features feel meaningfully better (more slots, unlimited messages, companion switching, premium themes). Monthly value summary.
"I forgot I was subscribed" Monthly summary: "here's what I did for you this month" (opt-in)
"I can't afford it right now" Pause subscription (keep data, lose premium features, resume anytime). Referral alternative: 3 friends = 1 free month.
"I'm switching to another AI" Portability (PRD 9) makes companions available everywhere. Memory + persona + per-companion level = high switching cost.

3.2 Cancellation Flow

User: cancel my subscription

Companion: totally get it — no pressure at all. here's what changes:
           - messages capped at 50/day (you average 23, so you'll probably be fine)
           - superpower slots drop to 1 per companion (you have 3 equipped — you'd need to pick one to keep)
           - companion switching disabled (you keep whichever companion is active)
           - your memories stay (I won't forget you!)
           - your companion levels stay (I won't lose what we've built!)

           want to go ahead, or would pausing for a month be better?

Key design decisions: - Memories are never deleted on cancellation (relationship preservation) - Companion levels never decrease (ratchet — per PRD 3) - Superpower tiers never downgrade (Gold stays Gold, preserved in archive) - Equipped superpowers above free-tier slot limit: grandfathered — user keeps what's equipped but can't equip new ones above the 1-slot cap until they re-subscribe or unequip. Per PRD 3 v3 "grandfather equipped, prevent new equips above cap." - All companions' loadouts follow the same rule — not just the active one - 7-day grace period after cancellation (premium features still active) - One-click re-subscription at any time (no re-onboarding)

3.3 Winback

If a user cancels and is still active on free tier after 14 days: - Companion can mention once: "hey just so you know, if you ever want Superpowers+ back, it's still $7.99. no rush." - Also mention referral path: "or invite 3 friends and get a free month" - After that: never mention it again unless user asks


4) B2B Pricing (Gateway API)

Covered in detail in PRD 9, Section 5. Summary:

Tier Price Calls/Month
Free $0 1,000
Pro $49/mo 50,000
Business $199/mo 500,000
Enterprise Custom Unlimited

Revenue model: subscription + usage-based overage + LLM pass-through with markup.


5) Cost Structure

5.1 Per-User Cost Model (Consumer)

Cost Component Free User Superpowers+ User
LLM (routing + generation) ~$0.60/mo (50 msgs/day cap, avg 15-20/day) ~$2.40/mo (unlimited, avg 30-40/day)
Memory (Supermemory) ~$0.15/mo ~$0.40/mo
LLM (proactive workflows) $0 (1/day cap) ~$0.40/mo (5/day, estimated)
Infrastructure ~$0.15/mo (shared) ~$0.15/mo (shared)
Total ~$0.90/mo ~$3.35/mo

Note: Routing model is Gemini-2.5-flash-lite (cheaper than GPT-5-mini). Generation uses GPT-5. Memory uses Supermemory (25x faster than previous mem0, comparable cost). These estimates should be validated against production telemetry.

Unit economics: - Free user: costs ~\(0.90/mo. Subsidized by premium revenue. - Superpowers+ user: costs ~\)3.35/mo, revenue $7.99/mo. ~58% gross margin. - Target: 15% premium conversion → profitable at scale

5.2 Cost Scaling

Users Free Superpowers+ Monthly Revenue Monthly Cost Margin
100 85 15 $120 $127 -$7 (near breakeven at 15% conversion)
1,000 850 150 $1,199 $1,268 -$69 (approaching breakeven)
10,000 8,500 1,500 $11,985 $12,675 -$690 (need ~17% conversion)
10,000 8,000 2,000 $15,980 $13,900 +$2,080 (profitable at 20% conversion)

Breakeven conversion rate: ~17% premium conversion at $7.99/mo (down from 22% at the old $4.99 pricing).

5.3 Cost Optimization Levers

Lever Impact Status
Model routing (cheap model for classification, expensive for generation) -25% LLM costs ✅ Shipped (Gemini-2.5-flash-lite for routing)
Redis caching (common queries) -20% LLM costs 🟡 Partially shipped
Proactive batching -10% proactive costs ❌ Not yet (500+ users)
OpenRouter for multi-model cost optimization -10-20% overall ❌ Not yet (when LLM costs hit $300+/mo)

6) Payment Infrastructure

6.1 Stripe Integration (Existing)

  • Checkout: Hosted Stripe Checkout for payment collection
  • Webhooks: checkout.session.completed, invoice.paid, invoice.payment_failed, customer.subscription.deleted
  • Verification: HMAC signature on all webhooks
  • Currencies: USD only (MVP). Multi-currency P2.

6.2 Subscription Management

-- Subscriptions table
CREATE TABLE subscriptions (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    user_id UUID REFERENCES users(id) UNIQUE,
    stripe_customer_id TEXT NOT NULL,
    stripe_subscription_id TEXT,
    plan TEXT CHECK (plan IN ('free', 'superpowers_plus', 'paused')),
    billing_interval TEXT CHECK (billing_interval IN ('monthly', 'annual')),
    status TEXT CHECK (status IN ('active', 'past_due', 'canceled', 'paused')),
    current_period_start TIMESTAMPTZ,
    current_period_end TIMESTAMPTZ,
    cancel_at_period_end BOOLEAN DEFAULT false,
    paused_at TIMESTAMPTZ,
    resume_at TIMESTAMPTZ,
    referral_credits_remaining INTEGER DEFAULT 0,  -- free months from referral rewards
    created_at TIMESTAMPTZ DEFAULT now(),
    updated_at TIMESTAMPTZ DEFAULT now()
);

-- Usage tracking (for limits enforcement)
CREATE TABLE daily_usage (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    user_id UUID REFERENCES users(id),
    usage_date DATE DEFAULT CURRENT_DATE,
    messages_sent INTEGER DEFAULT 0,
    photos_uploaded INTEGER DEFAULT 0,
    superpower_triggers INTEGER DEFAULT 0,
    proactive_received INTEGER DEFAULT 0,
    UNIQUE(user_id, usage_date)
);

6.3 Limit Enforcement

async def check_usage_limit(user_id: str, action: str) -> bool:
    sub = await get_subscription(user_id)
    usage = await get_daily_usage(user_id)

    limits = {
        "free": {"messages": 50, "photos": 5, "proactive": 1},
        "superpowers_plus": {"messages": float('inf'), "photos": float('inf'), "proactive": 5},
    }

    plan_limits = limits.get(sub.plan, limits["free"])

    if action == "message" and usage.messages_sent >= plan_limits["messages"]:
        return False  # Trigger upgrade suggestion in companion voice
    if action == "photo" and usage.photos_uploaded >= plan_limits["photos"]:
        return False

    return True

6.4 Referral Reward Billing

When a user earns a free month through referrals (3 referrals = 1 free month per PRD 6 Section 6.6), the billing system applies a Stripe coupon or credit:

  • Existing subscribers: Stripe credit applied to next billing cycle (100% discount for 1 month)
  • Free users earning referral reward: Creates a 1-month Superpowers+ subscription at $0 with auto-cancel at end. User can convert to paid at any time during.
  • Stacking: Multiple referral rounds stack. 6 referrals = 2 free months, etc.
  • Tracking: referral_credits_remaining on subscriptions table tracks earned-but-unused months.

6.5 Future: One-Time Purchases

The current Stripe integration handles recurring subscriptions only. Future features that need one-time purchase support:

  • Paid level transfer (PRD 3) — transfer companion level from one companion to another
  • Premium Voxel themes (PRD 4) — individual theme packs, not bundled with subscription
  • Cosmetic packs — avatar accessories, room items

Stripe supports one-time payments natively. When these features ship, add a one_time_purchases table and corresponding Stripe Payment Intent flows. Flag this gap now to avoid painting the billing system into a subscription-only corner.


7) API Endpoints

Endpoint Auth Purpose Status
GET /billing/subscription User Current plan, status, limits, usage ✅ Shipped
POST /billing/subscribe User Create Stripe checkout for Superpowers+ (monthly) ✅ Shipped
POST /billing/cancel User Cancel at period end ✅ Shipped
POST /billing/pause User Pause subscription (keep data, lose premium)
POST /billing/resume User Resume paused subscription
GET /billing/usage User Today's usage vs limits ✅ Shipped
GET /billing/history User Payment history ✅ Shipped
POST /billing/referral-reward Internal Apply referral reward (free month credit) — called by referral tracking system
POST /webhooks/stripe Stripe Webhook handler (all subscription lifecycle events) ✅ Shipped

8) Success Metrics

Metric Target Why
Free → Superpowers+ conversion >15% (long-term) Sustainable business (breakeven at ~17%)
Premium churn (monthly) <8% Relationship stickiness + per-companion investment
Average revenue per user (ARPU) >$1.20/mo blended Covers costs + margin at $7.99
Time to first payment <14 days from activation Value demonstrated through relationship, not urgency
Upgrade moment conversion >5% per moment type Natural upgrade triggers work
Cancellation save rate >20% choose pause over cancel Pause option preserves users
Re-subscription rate (within 90 days) >15% Product is missed after leaving (per-companion level is a pull)
Referral reward redemption >3% of users earn a free month Referral flywheel is working (PRD 6)
Annual vs monthly split >30% annual (at D90) Annual reduces churn, improves LTV
LTV:CAC ratio >3:1 Unit economics work

9) Phasing

Phase 1: Core Billing (Weeks 1-3)

Already largely shipped. Verify and harden: - Superpowers+ subscription in Stripe ($7.99/mo + $50/yr) — ✅ Shipped - Free tier limits enforcement (50 messages/day, 1 slot) — ✅ Shipped - Daily usage tracking — ✅ Shipped - In-chat upgrade suggestions at natural moments (monthly link only) — ✅ Shipped (3 variants) - Cancellation flow with 7-day grace period — ✅ Shipped - Webhook idempotency and edge case handling — verify - New: Upgrade subscription_access_service.py to slot-count-aware (PRD 3 dependency) - New: Ensure upgrade prompts never fire during emotional conversations

Phase 2: Referral & Optimization (Weeks 4-7)

  • Referral reward billing (3 referrals = 1 free month, Stripe coupon/credit integration)
  • Monthly value summary ("here's what I did for you this month" — opt-in)
  • Upgrade moment A/B testing (track conversion per trigger type)
  • Pause subscription flow (keep data, lose premium features, resume anytime)
  • Companion-generic upgrade messages for Vex and Echo (currently Sage voice only)

Phase 3: Advanced (Weeks 8-12)

  • Student discount verification (SheerID or .edu email)
  • Gift subscriptions ("give Superpowers+ to a friend")
  • One-time purchase infrastructure (paid level transfer, premium Voxel themes)
  • B2B billing integration (PRD 9 tiers)
  • Multi-currency support

Feature Flags & Gating

Flag Key Default Purpose
enable_free_tier true Free tier with daily message limits
free_tier_daily_messages 50 Daily message cap for free users
free_tier_superpower_slots 1 Superpower slots for free users (always 1, no level expansion)
enable_subscription true Superpowers+ subscription availability
subscription_price_monthly 7.99 Monthly subscription price
subscription_price_annual 50.00 Annual subscription price
enable_pause_subscription false Subscription pause flow
enable_student_discount false Student pricing verification
enable_gift_subscriptions false Gift purchase flow
enable_referral_rewards false 3 referrals = 1 free month billing integration
upgrade_nag_max_weekly 1 Maximum upgrade mentions per week
upgrade_block_during_emotional true Suppress upgrade prompts during emotional conversations

See REFERENCE_FEATURE_FLAGS.md for the full catalog.


Telemetry

Event Trigger Properties
billing_upgrade_prompted Companion shows upgrade message user_id, companion_id, trigger_moment, variant
billing_upgrade_clicked User clicks checkout link user_id, plan (monthly), source (chat/web)
billing_subscription_started Stripe checkout completes user_id, plan, billing_interval (monthly/annual), amount
billing_subscription_canceled User cancels subscription user_id, plan, billing_interval, days_subscribed, reason
billing_subscription_paused User pauses subscription user_id, plan, pause_duration
billing_subscription_resumed User resumes subscription user_id, plan, pause_duration_days
billing_limit_hit Free user reaches daily limit user_id, limit_type (messages/photos/proactive/slots), count
billing_payment_failed Stripe payment fails user_id, plan, failure_reason
billing_winback_sent Winback message sent to churned user user_id, days_since_cancel
billing_referral_reward_applied Free month from referral applied user_id, referral_count, months_earned

Needed but not yet tracked: - billing_annual_vs_monthly — track which plan users select on checkout page and conversion rates - billing_downgrade_impact — what features users lose on downgrade (slot count, companion count, superpowers archived) - billing_ltv_milestone — when user reaches LTV milestones (3mo, 6mo, 12mo)

See REFERENCE_TELEMETRY.md for the full event catalog.


Definition of Done

Phase 1 (Core Billing)

  • Free tier enforces 50 msg/day, 1 slot without degrading experience
  • Memory is unlimited for all users (no cap)
  • Superpowers+ subscription works for both monthly (\(7.99) and annual (\)50)
  • In-chat upgrade links go to monthly checkout only (annual via web/checkout page)
  • Upgrade prompts trigger at natural moments (limit hit, slot full, group blocked)
  • Upgrade nag frequency: ≤1 per week, never during emotional conversations
  • Cancellation flow preserves all data (memories, levels, superpower tiers)
  • Grandfathering: cancelled users keep equipped superpowers above free cap, can't equip new ones
  • 7-day grace period after cancellation keeps premium active
  • Stripe webhooks handle all edge cases (payment failed, subscription updated, etc.) with idempotency
  • subscription_access_service.py upgraded to slot-count-aware enforcement (PRD 3)
  • All billing features gated by feature flags
  • Telemetry tracks full upgrade funnel (prompt → click → subscribe → churn)

Phase 2 (Referral & Optimization)

  • Referral reward billing: 3 referrals = 1 free month applied via Stripe coupon/credit
  • Referral alternative mentioned after upgrade decline
  • Monthly value summary generated and delivered (opt-in)
  • Pause subscription flow preserves data and allows resume
  • Upgrade messages render in all three companion voices (not just Sage)

Phase 3 (Advanced)

  • One-time purchase infrastructure supports paid level transfer and Voxel themes
  • Student discount verification functional
  • Gift subscription purchase and redemption flow
  • All pricing references match canonical values in REFERENCE_PRICING.md

10) Open Questions

Resolved in v2

Question Resolution
Memory cap (200) or unlimited? Unlimited for all users. Memory is the relationship — capping it contradicts design philosophy. Memory costs are low (~$0.15/mo).
Is $4.99 the right price? $7.99/mo + $50/yr. Better margins (~58% vs 36%). Still below Character.AI Pro. Canonical per REFERENCE_PRICING.
Should credit packs exist? No. Credits deprecated entirely. Pure free tier + subscription model.
Downgrade: auto-archive or let user choose? Grandfather equipped, prevent new equips above cap. Per PRD 3 v3 decision.
What is the subscription tier called? Superpowers+ (not "Sage+" — companion-agnostic).

Open

  • Premium feature degradation model: Should the 51st message be blocked or delayed? (Rec: soft block with companion message, not hard 403.)
  • Group chat vs daily message limit: Should messages in group chats count toward the free user's 50/day limit? (Rec: yes — keeps the model simple and incentivizes upgrade.)
  • Voxel theme pricing: Bundled with Superpowers+ or separate one-time purchases? (Rec: basic premium themes bundled, "legendary" themes as one-time purchases.)
  • Paid level transfer pricing: How much for transferring level from one companion to another? (Rec: $2.99 one-time per transfer — low enough to not feel punitive, high enough to preserve per-companion investment model.)
  • Student discount amount: $3.99/mo? $4.99/mo? Free for .edu? (Needs research on willingness-to-pay for college demo.)
  • Proactive gating: Which proactive workflow categories are free vs Superpowers+? (Rec: simple reminders free, complex analysis and multi-source workflows Superpowers+ only. See PRD 10.)