Skip to content
Ritesh FirodiyaGet in touch

Work / AskCal / Wiki / Surfaces

paywall

Surfacecanonicalverified 2026-09-26

SURFACE.MOBILE.ONBOARDING.PAYWALL

Summary

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

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é