What it is Ritsu is a habit-building app for people who lose their mornings and nights to social media. Kuu, a small AI zen monk who lives by a pond, helps you design days that aren't swept away by your phone.
It is not just an app blocker. Ritsu builds a behavior-change loop into the day: put the phone down → journal or breathe → Kuu writes back → reflect.
How it works
- Morning and night quiet hours: Apple Screen Time (FamilyControls / ManagedSettings / DeviceActivity) closes the apps you choose on a schedule you set, with custom weekdays. During those hours only Ritsu and your allowed apps open.
- Focus Timer: pick a length, and your distracting apps stay shielded until it ends. A lotus bud in the pond unfurls as minutes pass and blooms when the session completes.
- Journaling with an AI reply: write what's on your mind. Kuu reads it and answers in three beats — empathy, a quiet sorting of your thoughts, and one small next step.
- Breathing and meditation (1–5 minutes) as the "off ramp" when you want to open a blocked app.
- Custom shield screens: the block screen changes by time of day (morning gold, focus green, night deep green) and offers "start a meditation" or "back to focus" instead of a dead end.
- 5-question check-in that maps you to a type and proposes a plan.
- Reflection view of the hours you won back.
Monetization (RevenueCat)
- Ritsu Pro subscription via RevenueCat: Monthly $4.99 and Yearly $34.99, both with a 3-day free trial.
- Pro unlocks scheduled morning/night blocking, unlimited focus sessions, and journaling with Kuu's AI replies.
- Free tier: limited focus sessions, supported by AdMob banners and an interstitial after a session (ads hidden for trial and Pro users).
- RevenueCat webhooks sync subscription state to Firestore so each user's status (trial, active, sandbox) is visible in an internal dashboard.
- Apple Search Ads attribution is passed through RevenueCat's AdServices integration.
How we built it
- SwiftUI, StoreKit 2 via the RevenueCat SDK, Apple Screen Time API with four extensions (monitor, shield configuration, shield action, report).
- Firebase Cloud Functions (asia-northeast1) proxy the AI reply (OpenAI GPT-5.1 with a three-part zen prompt) and log events, so the app ships with no analytics SDK.
- Kuu's illustrations and the pond/lotus scenes are original assets; the app supports iPhone and iPad.
Shipping story (the hard part) Ritsu was first submitted on Aug 20 and rejected under guideline 4.3(a) "design spam" three times. A phone call with App Review revealed it was a code-level similarity flag, not UX. We stripped every third-party SDK, shipped v1.0 on Sep 14 with a pure-Apple binary, then re-introduced RevenueCat in v1.0.1 (Sep 16) after approval — it passed on the first try. v1.1 (Sep 18) added ads and richer analytics; v1.2 (Sep 19) shipped the redesigned shield screens and Apple Search Ads attribution. Four releases in six days after a month of rejections.
Post-launch metrics (Sep 14 – Sep 30)
- 4 App Store releases (v1.0 → v1.2) in the first week
- ~36 organic/ASA installs with events, 0 paid marketing spend before Sep 25
- Onboarding: 94% start the check-in, 63% reach their diagnosis result, 54% reach the paywall, 37% complete setup (Screen Time + notification permission)
- 26% start a focus session; first Apple Search Ads campaign live since late September
- Learned: the biggest drop is after the first home screen — next iteration targets the first focus session and a day-2 return
What's next
- Weekly report (already built, gated behind a feature flag)
- "Emergency unlock" consumable via RevenueCat: pay a small fee you set yourself to break your own promise for a few minutes
- Tuning the free/paid split from RevenueCat trial and conversion data
Note for judges The app is available in English and Japanese; the demo video and screenshots show the English UI. Both Ritsu Pro plans (Monthly $4.99, Yearly $34.99) start with a 3-day free trial, so judges can test every premium feature without a promo code. Open the app → finish the 2-minute check-in → tap "Start free trial" on the paywall.
Log in or sign up for Devpost to join the conversation.