RORK LABJP
TOOLING — Rork's developer repos keep moving: rork-xcode was updated on July 16, rork-device on July 15, and rork-plist on July 13OPUS46 — Claude Opus 4.6 is live in Rork, and Rork Max is built to assemble apps on top of Claude CodeSIM — A cloud iOS simulator runs in the browser, with one click to install on a device and two clicks to publish to the App StoreMAX — Rork Max emits pure Swift rather than React Native, reaching iPhone, iPad, Apple Watch, Apple TV, Vision Pro, and even iMessageNATIVE — That opens up HealthKit, ARKit and LiDAR, NFC, Dynamic Island, Live Activities, 3D through Metal, and on-device inference with Core MLSEED — Rork raised a $15M seed led by Left Lane Capital, with Peak XV and a16z Speedrun joining the roundTOOLING — Rork's developer repos keep moving: rork-xcode was updated on July 16, rork-device on July 15, and rork-plist on July 13OPUS46 — Claude Opus 4.6 is live in Rork, and Rork Max is built to assemble apps on top of Claude CodeSIM — A cloud iOS simulator runs in the browser, with one click to install on a device and two clicks to publish to the App StoreMAX — Rork Max emits pure Swift rather than React Native, reaching iPhone, iPad, Apple Watch, Apple TV, Vision Pro, and even iMessageNATIVE — That opens up HealthKit, ARKit and LiDAR, NFC, Dynamic Island, Live Activities, 3D through Metal, and on-device inference with Core MLSEED — Rork raised a $15M seed led by Left Lane Capital, with Peak XV and a16z Speedrun joining the round
Back to Blog

Building a Monetized App with Rork Max — From Subscription Design to App Store Approval

Rork MaxMonetizationSubscriptionApp StoreRevenueCatIndie Dev

I thought I had a pretty solid grasp of what "building apps with AI" looked like. But when I upgraded to Rork Max and tackled a real monetization project, it opened up a much deeper world than I expected. Here's an honest account of that experience — the wins, the stumbling blocks, and the lessons I took away.

What I Built

The app is a simple iOS habit tracker with an AI coach feature. Users log their daily habits, and after three consecutive days of progress, the AI sends an encouraging message. The free tier covers the core functionality, while a monthly subscription unlocks weekly AI-generated progress reports.

Nothing groundbreaking in terms of concept — the real goal was to see how far Rork Max could carry a monetized app from idea to the App Store.

Subscription Design: Front-Load Your Monetization in the Prompt

If you've spent time with Rork, you've probably noticed that adding major features retroactively can throw off the internal consistency of the generated code. The biggest lesson I learned: include your monetization model in the very first prompt.

Here's roughly how I structured it:

App name: HabitBoost
Features:
- Free: Up to 5 habits, daily check-ins
- Pro (monthly): Unlimited habits, weekly AI report, data export

Payments:
- Subscription via RevenueCat + native StoreKit 2
- Show gated UI (blur + upgrade button) for non-subscribers

The key detail here was naming RevenueCat explicitly. Rork Max can integrate third-party Swift packages, and specifying the library by name produced far more accurate code than a vague instruction like "add a subscription feature." Being concrete pays off.

Prompt Design Challenges

Consistent Permission Checks Across Screens

The initial generated code missed subscription checks on a couple of screens. Managing auth state across multiple views is inherently complex, even for a capable model.

My fix was simple: I added a single rule to my follow-up prompt — "At the top of every Pro-gated screen, check the RevenueCat subscription status and present PaywallView if the user is not subscribed." That one line dramatically improved consistency.

Always Use Placeholders for API Keys

This is worth emphasizing. Never write your actual RevenueCat API key into a prompt or leave it in the generated code as a literal string. Use YOUR_REVENUECAT_API_KEY as a placeholder and substitute the real value locally before pushing to GitHub. Secret scanning tools will flag real key patterns if they make it into your repository.

Xcode Export and Final Tweaks

Rork Max exports a full Xcode project. After the export, I handled three things manually:

1. Enabling In-App Purchase in Signing & Capabilities

This capability needs to be toggled on in Xcode — it's not something Rork sets automatically. A quick click in the project settings, but easy to overlook.

2. Swapping in the Real RevenueCat Key

The placeholder I mentioned earlier. The initialization code was already in place (in the @main entry point), so it was just a matter of replacing the placeholder string.

3. Configuring Products in App Store Connect

Setting up the subscription product itself is fully manual — this is outside Rork's scope. I used RevenueCat's dashboard to sync the product configuration, which made the ongoing management much easier.

App Store Review: Two Rejections

My first submission came back with two rejections.

Rejection 1: Unclear Subscription Terms UI

The subscription price and renewal terms were displayed in small text, which didn't meet Apple's disclosure requirements. The guideline here is stricter than it looks: price, billing period, and cancellation instructions need to be clearly visible. I re-prompted Rork with "display subscription terms in a format compliant with Apple's subscription guidelines," and the regenerated UI passed.

Rejection 2: Sandbox API Key in the Release Build

I had forgotten to switch the RevenueCat key from Sandbox to Production for the release configuration. I had Rork generate conditional logic using #if DEBUG / #if RELEASE to handle the key swap automatically, then resubmitted.

After those two rounds, the app was approved about ten days after the initial submission.

Honest Reflections

Looking back at the whole experience, the speed at which Rork Max can scaffold a monetized app is genuinely remarkable. Getting a habit tracker with subscription logic to a working state in a few hours — compared to building it from scratch in Swift — still feels almost surreal.

That said, the final 20% — review compliance, API key management, certificate configuration — still requires hands-on knowledge. My honest framing right now: Rork Max handles roughly 80% of the work, and I handle the remaining 20% with care. That ratio feels about right, and I expect the 80% figure to keep growing.

If you're an indie developer thinking about building a monetized app, I hope this account gives you a realistic picture of what to expect. Feel free to reach out if you have questions — I'm happy to share more details on any of these steps.


This article is based on the author's personal experience. RevenueCat and App Store policies are subject to change — please refer to the latest official documentation when building your own app.