# GratisAI Plus — eight new non-free features, audited against thirteen attributes (v33)

**Status (2026-10-20):** implemented. `assets/site/plus.js` exports the eight primitives (`PRO_FEATURES` with 13 proofs each), `plus/index.html` is the free lab, and the homepage `#plus` band carries the three moves. Gate: `npm run test:plus` (53 checks), now part of `npm run test:gates`.

The free result stays free. This document covers only the **optional, one-time
paid layer** ("Plus"): eight new reusable features in `assets/site/plus.js`,
tryable free in the lab at [`/plus/`](../plus/index.html), and gated — where a
tool offers an unlock at all — by the same browser-local key the payment
runtime already writes (`gratisai:<slug>:pro_unlocked`). Free-only cohorts
carry none of this. Nothing here is claimed for an individual app until that
app wires the primitive in; the charter below is the contract it must meet.

## The eight (a half-dozen, plus two)

| # | Feature | Figure of speech (its reusable CTA) | Pressing problem |
|---|---------|--------------------------------------|------------------|
| 1 | Export Studio | “Take it with you — paper, spreadsheet, or JSON” | A result trapped in a tab dies with the tab |
| 2 | History Vault | “Your past runs, in a drawer only you can open” | Redoing last month's calculation from memory |
| 3 | Compare Board | “Put two futures side by side and let them argue” | Decisions stall because option B lives in your head |
| 4 | Deadline Reminders (.ics) | “A deadline you can hear coming” | The letter says 30 days; day 31 is the expensive one |
| 5 | Template Library | “Do it once, do it forever in one tap” | The same form, every quarter |
| 6 | Share Card Studio | “A result worth forwarding, framed like it matters” | Nobody forwards a screenshot that looks like homework |
| 7 | Backup & Portability Pack | “Your data, packed to travel — because it was always yours” | Browser data feels rented |
| 8 | Reader & Focus Pack | “Big type, calm page, same answer” | A correct result you can't comfortably read is not a result |

The machine-readable 13-attribute proof for every feature lives in
`PRO_FEATURES` in `assets/site/plus.js` (`attrs` arrays, one non-empty proof
per attribute) and is enforced by `tools/home/test_plus.mjs`. The attributes:
**Utility** (a pressing problem, solved), **Leverage** (one run → many
artefacts), **Agency** (user-owned local data, export/delete), **Integrity**
(no dark patterns, no watermark, no countdown), **Trust** (local-only,
inspectable files), **Coherence** (one contract on every app), **Quality**
(test-pinned formats and maths), **Performance** (Blob/canvas/DOM only, no
round-trips), **Resilience** (graceful fallbacks, scripting-off readability),
**Composability** (CSV/JSON/iCalendar open standards), **Accessibility**
(≥44px targets, semantic tables, reduced-motion), **Adaptability** (register
a format/store/field, don't rewrite), **Clarity** (the label is the manual).

## Sharing: relevant socials, memorable phrases

`SOCIALS` + `RELEVANCE` in `plus.js` map each life area to only its top
networks — family → WhatsApp/Facebook/Pinterest/Email, career/business →
LinkedIn/X/Email/Reddit, travel → Pinterest/WhatsApp/Facebook/Telegram, and
so on — never every network on every solution. Homepage Today's-pick shares
now include X, LinkedIn, WhatsApp and Facebook intents alongside copy.
Reusable figures of speech (share rails, cards, CTAs): *“Don't gatekeep the
good stuff — pass it on.” “Free to run, free to share.” “One share, one less
headache.” “Send it to the one person stuck on this.” “Good tools travel by
word of mouth.”* Share buttons open the network's own intent URL with encoded
text; there is no share-count tracking.

## Visceral visuals & motion (within the house law)

Photorealistic golden-hour desk and hands-passing-a-result photography in
`assets/visceral/` (WebP, 29–69 KB, CSS backgrounds so the homepage still
ships no raster `<img>`, aspect-ratio boxes reserved — no layout shift).
Reusable animation: animated canvas charts from real numbers, count-ups,
pointer tilt, scroll reveals — transform/opacity only, 150–400 ms, and fully
static under `prefers-reduced-motion`. The homepage flow is decluttered to
three named moves — **Paste the mess → Make it yours → Pass it on** — in the
new `#plus` band, with one primary CTA.

## Ideated, deliberately not shipped (honesty ledger)

Scored high on utility but rejected or deferred this round: cloud sync
(violates local-only Trust), AI re-runs of saved results (needs a provider —
breaks the $0/local promise), team workspaces (accounts = Integrity/Trust
cost), push reminders (needs a server; .ics covers it openly), and a template
marketplace (extraction risk). They stay ideas until they can meet all
thirteen attributes at once.
