-
-
Full Clear - a quit-porn app that keeps the number honest
-
Full Clear app icon (1024x1024)
-
The day view - the count is derived from an append-only log, and logging an urge is free forever
-
The panic button - ninety seconds of box breathing, free forever and never paywalled
-
Pro: the risk window and what precedes an urge, computed locally from your own logs
-
After a relapse: resistance rate keeps climbing through a bad week, because it measures the skill
-
Your own definition of clean, and privacy by construction - no account, no server, nothing uploaded
The quit-porn app that doesn't shout at you
Full Clear is built on one rule: nobody is charged, uploaded, or lectured in their worst ten minutes. The panic button is free forever, nothing leaves the phone, and the streak cannot be quietly edited. Pro sells understanding of your own pattern — never access to help.
At a glance
- Live on both stores: App Store · Google Play · clear.chinesepowered.com
- Free forever: streak, urge log, panic button, relapse debrief, journal, a reminder at the hour you choose.
- Pro: $39.99/year with a 7-day free trial · $12.99/month · $79.99 once (Lifetime) · exit offer $19.99/year, renewing at $19.99 permanently.
- RevenueCat runs every purchase: entitlement
pro, offeringdefault(four packages), restores, trial eligibility, and an entitlement refresh that never revokes on "couldn't ask". The app's only network dependency. - Privacy: no account, no email, no server, no analytics SDK, no ads. SQLite on the device; an optional Face ID lock that covers the app switcher; Settings can erase everything.
What it does
A streak you can trust. Derived from an append-only log, never stored as a number that can drift. Relapse drops it to zero, visibly — loss aversion only works when the loss is real.
Your triggers, not generic advice. Every urge you log records the hour, the mood and the situation, and the app builds your pattern from it.
Warned before the risky hour. Reminders land 45 minutes ahead of your risk window; with Pro, the hour you guessed at onboarding is replaced by the one computed from your logs.
A plan for the worst ten minutes. The panic button: your own face in the front camera (live, never recorded) beside the reason you wrote in a calmer moment; box breathing; the change you chose after your last relapse; ninety seconds on a ring. Every step is skippable, the exit always visible. "Still struggling" leaves the urge open so Home can ask how it ended.
Relapse is data, not a reset. A three-step debrief: what preceded it, one concrete change, where you actually stand. Resistance rate — urges ridden out over urges logged — measures the skill, not the run, so it keeps climbing through a bad week.
No bro-science. No testosterone claims, no "superpowers". The app says in-product that it is a self-tracking tool, not treatment; that compulsive pornography use is not a DSM-5 diagnosis; and that serious distress warrants a clinician.
Why the monetization is the interesting part
The moment a user most needs this kind of app is the moment they are most ashamed to open it, and the standard playbook monetizes exactly that: streak insurance, paid badges, paywalled panic buttons. Full Clear's hard rule is that the panic button and urge logging are free forever. Pro buys insight — the analysis of your own logs — never relief.
That gives the paywall two surfaces. Onboarding closes on acute pain and loses everyone who declines. The locked analysis card is the second: the counts are always visible ("11 urges logged"), only the analysis is locked, so the pressure compounds with use.
The exit-intent offer is a separate $19.99/year product that renews at $19.99, not a "$19.99 then $39.99" intro dressed as a discount. A price that silently doubles teaches people the app's numbers cannot be trusted, and trust is the whole proposition. Its 24-hour countdown is persisted to disk, and the card says so: "This timer is real."
Everything goes through RevenueCat. Offers come from the current offering first, so a price or trial experiment is a dashboard change, not a release. refreshEntitlement() returns entitled, not entitled, or null — and null never revokes. A paying user locked out by a network error is this category's worst review; here it is a type signature. No ad SDK, deliberately.
Design and build
Slate neutrals and one muted sage accent; red is reserved for the relapse log and destructive actions and never appears on Today, in the panic flow, or in the Patterns analysis. The streak is set at 88pt, weight 200, with nothing beside it to soften the loss. "I'm having an urge" is the big warm target; "Log a relapse" is deliberately quiet.
Expo SDK 57, React Native, expo-router, TypeScript. A local SQLite event log from which every number is derived, never stored; notifications scheduled on the device; RevenueCat the only network call, and the app fully usable without it.
Since launch
Live on the App Store since 12 August and Google Play the same week, each after one rejection (Apple 3.1.2 EULA; Play metadata policy). Since then: 1.0.1 with the exit offer and Lifetime; 1.0.2, live on the App Store since 28 September, with a 30-day program, a 7-day free trial on the yearly plan, and a paywall that always shows the trial length the store reports and reminds you before it ends; new icon art and screenshots on both stores, and a rebuilt landing page. No paid acquisition yet; the figures in the category answers are real, small, and stated as such.
For judges: seeing premium
The yearly plan starts with a 7-day free trial; no promo code is needed. The paywall is at the end of onboarding, after the 14-question assessment and report; tap Not now there and the exit offer appears. Later it is reachable from See my pattern on Today, Unlock my analysis on Patterns, and Settings. Pro unlocks the full trigger analysis, the computed risk window and its reminder, hardest day and intensity split, and the resistance trend. The exit offer and Lifetime shipped in 1.0.1; 1.0.2, live on the App Store since 28 September, brought the 7-day trial and a reminder before it ends.
Built With
- expo-router
- expo.io
- react-native
- revenuecat
- typescript
Log in or sign up for Devpost to join the conversation.