StoreKit 2, Part 3: Server-Side Receipt Validation in 2026 (App Store Server API)
Day 17 of the 30-day iOS series, the finale of three on monetization. You can't trust the client — here's the minimal App Store Server API workflow for BrewLog: Server Notifications V2, JWSTransaction decoding, a Cloudflare Worker, and three pure Swift tests that prove the entitlement logic without ever calling Apple.
StoreKit 2, Part 2: Free Trials, Win-Back Offers, and Promo Codes That Actually Convert
Day 16 of the 30-day iOS series. I add a 7-day free trial, a win-back banner for lapsed subscribers, and offer-code redemption to BrewLog's paywall — concrete App Store Connect configuration plus the Swift code, all covered by Swift Testing.
A StoreKit 2 Paywall From Scratch: Subscriptions, a Transaction Listener, and a Restore Button That Works
Day 15 of the 30-day iOS series, first of a three-part run on monetization. I built BrewLog's real paywall with StoreKit 2 — two subscription products, a transaction listener, and a restore flow — with zero third-party SDKs. Every number the paywall shows comes from one pure, tested function.
Apple Just Invented the Gym Membership for Apps. Here's Why That's Brilliant.
iOS 26.5 shipped a new subscription model — monthly payments with a 12-month commitment. It's the gym membership of the App Store. And for indie developers bleeding from monthly churn, it might be exactly what the doctor ordered.