All Articles
Why Shipping Several Similar Apps Triggers App Store Guideline 4.3 — Differentiation for Indie Developers
Ship a few similar Rork apps and you may run into App Store review Guideline 4.3 (Spam). Here is why it happens more with AI-generated apps, how to differentiate before you submit, and how to respond if you have already been rejected — from an indie developer's point of view.
Lower Store Fees by Their Structure, Not Their Rate — Apple SBP and Google Play's June 2026 Pricing
A working breakdown of Apple's Small Business Program and Google Play's new fee model that started June 30, 2026, framed as fee design for indie developers, with code to compute your effective rate and a break-even table.
Will Your Real Name Appear on the App Store? Deciding on a Developer Identity Before You Publish
What Apple and Google actually publish about you as an indie developer — seller names, address disclosure, EU trader rules — and practical ways to limit exposure before you ship.
When Your AdMob Earnings Suddenly Get Deducted: Preventing Invalid Traffic as a Solo Developer
Invalid traffic deductions in AdMob are unsettling because the cause is rarely obvious. From the perspective of running several apps solo, here is a minimal setup that prevents the most common accidents, plus how to respond when a deduction actually happens.
Putting Your Own Control in Control Center — ControlWidget Design That Adds Launch Paths to a Rork Max App
Implementing iOS 18 ControlWidget to place custom controls in Control Center, the Lock Screen, and the Action button: working ControlWidgetButton and ControlWidgetToggle code, its value as a launch path, and how it feeds retention.
Protecting Ad eCPM in Your Rork Max App: Designing ATT Pre-Permission Priming
For iOS apps built with Rork Max, ad revenue swings heavily on your ATT opt-in rate. Here is how to design a pre-permission priming screen, implement it in SwiftUI, measure the opt-in rate, and order AdMob init correctly.
Before You Reach for Tap to Pay on iPhone in a Rork Max App — Eligibility, Choosing a Payment Provider, and a Realistic Design
Implementation notes for judging, from a business angle, whether you can put Tap to Pay — accepting in-person payments on an iPhone alone — into a Rork Max app. Covers the organization-account and entitlement requirements, why you need a payment provider (PSP), the split between ProximityReader and the PSP, and a realistic path for an indie developer, told candidly.
Holding App Store Messages Until the Right Moment
Price-increase consent, billing-issue, and win-back messages from the App Store appear right at launch by default. Here is how to take control of StoreKit 2 Messages and defer them until a moment that does not interrupt onboarding or checkout, with working Swift.
Adding App Store Promoted In-App Purchases to a Rork App
How to list purchases on your App Store product page and carry a buyer straight into your in-app purchase flow. Covers receiving deferred purchases that arrive before the app is launched or the user is signed in, with implementation for both react-native-iap and StoreKit 2.
Designing a Referral System Without a Heavy Backend
Add a referral program to your Rork (Expo) app without standing up a fleet of servers. Covers code generation, deferred deep-link attribution on first launch, idempotent reward fulfillment that never double-pays, and basic guards against self-referral and device farming, all with working code.
How far Rork Companion's free device testing goes — and when to pay the $99 Apple Developer Program
Rork Companion lets you test on a real device without a paid Apple Developer account. Here is exactly where the free path stops, the concrete triggers for paying the $99, and what to stage before your first signed build — from running six apps as an indie developer.
Don't Pay Out a Rewarded Ad on the Client's Word Alone — SSV Verification for a Rork (Expo) App on a Worker
Trusting the client-side 'reward earned' callback alone invites double-grants and spoofing. Here is how to wire AdMob server-side verification (SSV) into a Rork-generated Expo app, verify the signed callback on a Cloudflare Worker, and make payouts idempotent with transaction_id.