docs: no annual tier — Microsoft does not pro-rate, and that is unfixable from our side

The creator raised it as instinct: "who hasn't been screwed over cancelling a
sub early to be told that the extra six months remaining are your loss?" Checking
the mechanism confirms it, and worse than expected.

Microsoft's general position: "Digital goods like apps, add-on content,
subscriptions... aren't refundable unless the offer or applicable law states that
you're eligible for a refund." Pro-rated refunds on cancel exist only in Canada,
Denmark, France, Israel, Korea, Turkey (all lengths) and Finland, Germany,
Netherlands, Poland, Portugal (renewals only). Critically: "monthly subscriptions
and initial (pre-renewal) purchases aren't eligible for a prorated refund."

A first-year annual subscriber who cancels in month 2 loses months 3-12, in most
countries, and the developer cannot refund it. That is verbatim the trap the
creator named, so we must not build it. => monthly only. Max loss $10, max
grievance a rounding error, one fewer product to declare, less support surface.

The chargeback argument gets stronger, not weaker: a customer down $89 on an
annual cliff disputes through their bank, which is frozen funds and account risk
against a solo dev. Monthly bounds that at $10.

Also records two rulings:
- No .99 prices. "Let's stop with the x.99 stuff - I find that irritating. Just say:
  ten bucks a month." The convention only makes a price look cheaper, which is
  incoherent for a brand sold on honesty and no-dark-patterns.
- No feature gating, now argued as revenue rather than taste: the free tier's reach
  is the funnel and the branding flash is an ad running inside other people's
  content.

Pricing model itself stays OPEN in TASKS.md — $10/mo is the lean, and a lifetime
product (~$300, the hedge against the no-moat renewal problem) is undecided. The
Store revenue share is still unverified: confirm the net, not the list.

MyMistakes.md records the actual error: I had offered "just refund anyone who
asks" as a mitigation without checking who holds the authority to execute it.
Store refunds run through Microsoft, not the developer. The check that followed
is what produced this constraint.

MONETIZATION.md got the full analysis but is gitignored, so it stayed local.
This commit is contained in:
2026-09-27 14:33:25 -07:00
parent 85fad1ab79
commit b2036a38e8
3 changed files with 67 additions and 9 deletions
+25 -6
View File
@@ -245,12 +245,31 @@ second encoder path needing a "redirect". Record+simulcast is one ffmpeg with tw
entitlement and the branding-flash delta carry over unchanged**. The stale Polar product
(`$99/yr`, id `d105dfa1-…`) is not reused — Store IAP products are declared in Partner
Center instead.
- **Pricing is re-opened** (2026-09-27) — `MONETIZATION.md` carries a **one-time perpetual**
decision from 2026-09-21 (`$29` founder → `$49` list) that explicitly superseded the old
`$99/yr` subscription; the creator's current instinct is back toward a subscription.
**Unresolved — do not encode a price until it is settled**, and note that Store IAP moves
pricing into fixed Store tiers, so the "floor" (`~$69` per `MONETIZATION.md`) and the
"don't break the launch-price promise" note now refer to a different storefront.
- **Pricing — ⏳ model re-opened 2026-09-27, subscription now the creator's lean.**
`MONETIZATION.md` carries a **one-time perpetual** decision from 2026-09-21 (`$29` founder →
`$49` list) that explicitly superseded the old `$99/yr` subscription. The creator is moving
back toward a subscription, anchored on **Meld** (`$20/mo = $240/yr` entry — the only
competitor sharing our shape: streaming tool, subscription, YouTube-native). The creator's own
read: **"XSplit only has legs because of their vcam product"** — its price is carried by a
system-wide driver, and **virtual camera output is permanently out of product**, so XSplit is
not a pricing comparator and its "lifetime ≈ 2x one year of sub" anchor is retired.
**Research that decides the tier shape (2026-09-27): Microsoft Store does not pro-rate.**
Pro-rated refunds on cancellation exist only in a narrow set of countries, and
**"monthly subscriptions and initial (pre-renewal) purchases aren't eligible for a prorated
refund"** — so a first-year annual subscriber who cancels loses the remaining months in most
countries, **and the developer cannot refund it**. That is verbatim the grievance the creator
raised, so it is exactly the trap to avoid. ⇒ **monthly, no annual tier.** Sources in
`MONETIZATION.md` → "No annual tier".
- ⛔ **Clean numbers, no `.99`** (creator ruling: *"Let's stop with the x.99 stuff - I find that
irritating. Just say: ten bucks a month"*). The `$x.99` convention only makes a price *look*
cheaper and is incoherent for a brand sold on honesty and no-dark-patterns. `MONETIZATION.md`
→ "Clean numbers".
- ⛔ **No feature gating, ever** — this is now a *revenue* argument: the free tier's reach is
the funnel and the branding flash is an ad running inside other people's content, so
crippling free cannibalises the only acquisition channel we have.
- ⏳ Still open: the exact number; whether to also sell a **lifetime** product (~$300, the hedge
against the no-moat renewal problem and the natural home for subscription-hostile buyers);
and the **unverified Store revenue-share rate** — confirm the net, not the list.
- **TASK 49 — chat profanity filter** — queued, not blocked, size S. Local, on-device,
**non-persistent**, opt-in, **user-supplied word list (never a hardcoded slur list)**, and it
must **never match the SuperChat amount or reward fields** (financial data, Store 10.5.5).