Work / AskCal / Wiki / Surfaces
paywall
Surfacecanonicalverified 2026-09-26
SURFACE.MOBILE.ONBOARDING.PAYWALLSummary
The offer, at the end of onboarding.
Raw wireframe
- .context/designs/mobile/store/paywall.html
Why it is drawn this way
The deliberate opposite of what got Cal AI pulled. Price visible without tapping, no card for the free tier, the renewal date and amount in plain words, and "not now" as a real button at the same size rather than grey-on-grey. See billing-transparency.
It carries the step bar. Dropping it here would have made the paywall feel like a different, unbudgeted screen at the end of a flow the user had been counting through.
Terms and Privacy are on this screen and functional. App Store Review Guideline 3.1.2 requires both at the point of purchase, inside the binary. They are set in small print on purpose: the price is the headline here, and these are here to be findable rather than to compete with it.
Related
- billing-transparency
- paywall
- setup
Moved from onboarding/ to store/
store is a reserved flow and it owns "paywall, packs, upgrade, ads — anything
about money". Both imposter and chitragupt put their paywall.html there;
askcal was the only set in the estate with a paywall filed under onboarding.
It is still step 4 of the first run and still on the chart's main path — where a screen LIVES is a fact about what it is for, and where it sits in the JOURNEY is a fact about when it is reached. Those are different questions.
The upsell from Today is now side: true. Counting an upsell as forward
progress made the graph cyclic (Today → Paywall → Today) and, per §6, drags the
shop rightward and stretches the spine.
Sources
- .context/designs/mobile/store/paywall.html
Every project of mine is written down like this.
Read the résumé