Growing a Staged OTA Update System Without Breaking It
Shipping an EAS Update to every user at once is dangerous. From channel design to staged rollout to automatic rollback, here is the delivery architecture I settled on across 50M cumulative downloads, with working code.
Three-Layer StoreKit 2 Entitlement Sync for Rork Apps: Launch, Background Refresh, and Restore
When you wire StoreKit 2 subscriptions into a Rork-generated app, Transaction.updates alone leaves gaps. Here is the three-layer sync I run across six wallpaper apps — launch-time re-evaluation, Background App Refresh, and Restore Purchase — including measured refresh rates and the AdMob revenue I recovered.
Killing the Recurring iOS Missing Compliance Warning in Rork with One Info.plist Key
Walks through why every Rork-built iOS upload shows a yellow Missing Compliance flag on TestFlight, and how a single ITSAppUsesNonExemptEncryption key in your app.json removes it for good. Written from the perspective of an indie developer shipping six wallpaper apps in parallel.
Two Weeks Tightening Up iPad Support for a Rork-Generated Wallpaper App
Notes from spending two weeks tightening up iPad support for a wallpaper app I scaffolded with Rork. Coming from an iPhone-centric indie practice since 2014, I cover where Rork's defaults stopped, how the AdMob adaptive banner misbehaved on iPad, and what changed in retention afterwards.
Fixing Layout Bleed on Android 15 (API 35) in Rork Apps
Once you bump targetSdkVersion to 35, Android 15 enforces edge-to-edge display, and Rork-generated tab bars and headers start sliding under the system bars. Here are the patterns I use with react-native-edge-to-edge and useSafeAreaInsets to fix it properly.
Rork-Specific 'expo start --offline forbidden': Four Causes in Rork's Template Config
When expo start --offline returns 'forbidden' specifically on a Rork-generated project, the cause is usually Rork template config: tsconfigPaths, an un-generated expo-router cache, native prebuild, or a lockfile mismatch. Four Rork-specific fixes; the generic Expo proxy and dependency-validation guide is covered separately.
Rork iOS App Rejected with ITMS-90683 on TestFlight — How to Fix Missing Purpose Strings via app.json
If your Rork-built iOS app passes upload but gets an email titled ITMS-90683: Missing Purpose String in Info.plist, this guide walks through the real cause and the permanent fix via app.json, based on 12 years of shipping personal iOS apps with the same problem appearing across new SDK updates.
Rork × Firebase Remote Config: Tuning AdMob Safely in Production — Run App Open Frequency Caps Without a Release
From the experience of pushing wallpaper-app App Open ads too hard and watching DAU drop, here is a design for treating AdMob format mix, frequency caps, and exclusions as a Firebase Remote Config contract. Expo/Rork wiring, fail-safe defaults, A/B testing, and metric joins included.
Premium-Only App Icons in Rork: Implementing Alternate App Icons Without Stumbling on Expo's Quirks
Wanted to swap your app's icon when a user upgrades to premium? Expo's standard SDK won't get you there. Here is how I wired up Alternate App Icons in a Rork-built app, including the Info.plist tweaks, asset placement, and the iOS 18 caching gotcha that wasted an afternoon.
How I Stop Rork's AI From Generating Outdated Library Code — My Version-Pinned Prompt Template
A practical look at why Rork Max sometimes generates outdated API code, the version-pinned prompt template I rely on every day, and the device-level checks I use to catch the cases where mismatches still slip through.
Killing the Silent Crash in Rork-Generated Apps — A Practical Error Boundary and Unhandled Promise Setup
Rork-generated code tends to swallow errors with optional chaining and leave promise rejections uncaught. Here is the minimum production-grade setup to surface those crashes instead of letting users churn in silence.
Native App or PWA? Three Questions to Answer Before Building with Rork
Should you build a native app with Rork or go with a PWA? This guide breaks down the real functional differences — push notifications, camera, App Store distribution — and gives you a clear decision framework.