ArcaneStat Pro is live. It took way longer than it should have, involved more grey screens than I'd like to admit, and at one point I genuinely considered just making the whole app free and going outside. But we're here.
What's New
ArcaneStat Pro — monthly and annual subscriptions, powered by RevenueCat. Unlock the stuff below and never see an interstitial ad again.
Trends Page — the crown jewel. 7D, 30D, or 90D windows, full stat breakdowns, and a trajectory pill that will either validate your ego or destroy it. Rising. Steady. Slumping. No sugarcoating.
Match History Filters — Win, Loss, and Hero filters are now Pro. Free users still see all their matches, they just can't obsessively filter them by loss to confirm they're bad at a specific hero. That's a Pro feature now.
Ads (Free Tier) — yes, there are ads. No, they're not every 30 seconds. There's a grace period per session and a frequency cap. I play this game too. I'm not a monster.
The Paywall: A Comedy of Errors
Nobody tells you how many things have to go right simultaneously to ship a paywall as a solo dev. You're juggling FlutterFlow, Flutter, RevenueCat, Codemagic, Xcode, App Store Connect, and Apple's review team — all of whom have different opinions about what "correct" looks like.
The build pipeline broke five ways at once. SPM and CocoaPods decided they hated each other. Two dependencies needed version bumps. The AI-generated button component was referencing theme colors that didn't exist. A widget got removed from a library and needed a find-and-replace across generated files. Apple mandated a new SDK with a tight deadline. All of this happened in the same week.
The paywall shipped grey. TestFlight: perfect. App Store: grey rectangle. Turns out Apple's IAP products were stuck in "Waiting for Review" — so the paywall was loading fine, it just had nothing to load. This is not documented anywhere obvious. I found out the hard way.
Apple rejected my subscription name. "ArcaneStat Pro (Annual)" was apparently too on the nose. Fixing the display name required a new binary. The new binary revealed a version mismatch. The version mismatch required a whole new App Store version before I could even submit. A one-line metadata fix became a half-day pipeline adventure.
The paywall had two separate bypass routes. Found them in TestFlight. Close the paywall wrong and you could still access Pro content. Fixed both. Shipped. Done. (Probably.)
The app is stable, the subscriptions work, and I have not looked at App Store Connect in three days for my own mental health. If you're using ArcaneStat — a review on the App Store goes a long way.