Had to kill my favorite feature to survive Apple Review 🍎✂️ (Referral System)
Hey Product Hunt family! 👋
Just wanted to share a little "behind the scenes" pain from the OptiClear launch. We all know the Apple App Store review process can be a rollercoaster, and I definitely hit a loop. 🎢
I had built this sweet "Invite a Friend" feature. The logic was simple: generate a code, share it with a friend, and both of you earn free premium days. A classic, organic growth loop, right?
Well, Apple hit me with a rejection. Apparently, unlocking premium features outside of their standard In-App Purchase flow (even as a reward) is a big no-no.
To get OptiClear approved and live for you guys, I had to completely rip out the feature and scrub every single trace of its UI from the codebase before submitting the next build. It hurts to kill a feature you spent days coding, but sometimes you just have to choose shipping over perfection. 🚢
I’d love to know your strategies:
1️⃣ Has anyone successfully implemented a referral/reward system that Apple actually approves?
2️⃣ If not, what are your best alternative strategies for organic growth without relying on invite loops?
Let’s share some App Store survival tactics! 👇


Replies
That's a painful call to make, especially when you can see the feature working exactly as intended. Apple's review process has this way of killing things that are genuinely good for users just because they don't fit the kinda weird economical model designed by them. From the other side, having a simple "share this with someone" prompt without any reward attached could make people happy as well!
OptiClear
@sk_uxpin Spot on! 🎯 It’s incredibly frustrating when you build something purely for the community, but it clashes with their strict economic rules.
And you made a really solid point about the 'rewardless' share prompt. Maybe I was overthinking the incentive part. If OptiClear genuinely saves their Mac and clears up GBs of space, they might just share it out of pure love for the tool. I think I'll actually add a simple, clean 'Tell a Friend' button in the next update!
In your experience, do you think a simple share button works better if it's always visible on the dashboard, or maybe as a subtle prompt right after a successful cleanup?
@orhan_kilic Unfortunately, I don't have any specific advice, because I never developed a product of my own, but as an end-user I probably would be happier with the prompt appearing after a successful cleanup when I have positive emotions after getting some disk space freed up :D
OptiClear
@sk_uxpin That is actually the best kind of advice! As developers, we sometimes overcomplicate things, but the end-user perspective is what really matters.
You are completely right—tying the 'share' prompt to that dopamine hit of seeing '20 GB freed up' is the perfect timing. I'm definitely building it exactly like that for the next update. Thanks for being my unofficial UX advisor for the day! 😄
@orhan_kilic hahaha, I precisely know that feeling, because I'm almost always on the edge of going out of disk space :D 500 GB is nothing nowadays
@sk_uxpin Do you think this policy will change anytime soon?
@gabriel_flores3 nah, no way - at least, probably not anytime soon. It's the classic bees and honey situation. Apple's cut of every transaction depends on nothing meaningful bypassing their payment flow, so there is pretty much no motivation to relax that
@sk_uxpin How do you stay motivated after killing features like this?
@savannah_ross1 good question! I'd say probably by remembering that the feature was never the point - the user was. As long as that drives the product, losing any individual piece of it is shouldn't be considered a dead end
@sk_uxpin Sometimes survival matters more than perfect features
@sarah_butler1 can't agree more - I'd even add that perfection in itself should never be a goal
I feel your pain! As a designer, it’s heartbreaking to 'rip out' a feature you’ve polished. I’ve been building my app in Germany for 10 years and had to navigate those Apple guidelines many times.
Regarding your 1st question: We implemented a system where users can simply gift 7 free days to a friend. It’s more of a 'gift' than a 'reward loop' for the sender, and it has worked quite well for our organic growth without getting flagged.
Sometimes 'shipping over perfection' is the best design choice we can make. Good luck with the launch!
OptiClear
@kyomobileapp 10 years in the game! Respect, Tanja. 🙌 It’s comforting to know that even experienced developers still find these moments 'heartbreaking.'
I love the 'gifting' vs 'rewarding' distinction. Psychologically, it changes the whole vibe. Instead of 'do this to get that,' it becomes 'I found this cool tool and I’m giving you a week for free.' It feels more like a recommendation than a transaction.
Definitely taking notes on the 'Gift a Friend' approach for our future roadmap. Thank you for sharing your wisdom from Germany and for the launch wishes! 🇩🇪
@orhan_kilic Thank you so much! It’s all about creating a community, not just a user base. Happy to see the 'gifting' idea resonated with you. Wishing you a massive success with your launch! 🙌✨
Classic Apple move—hurts to see a growth loop die before it even starts. But you’re right, shipping is the priority. Have you thought about moving the referral rewards to a web-based dashboard? Sometimes keeping the 'transaction' off the app itself is the only way to keep Apple happy while still rewarding your users.
OptiClear
@ivan_anisimov4 Exactly, a classic indeed! It’s a bittersweet lesson for any indie dev.
Moving it to a web-based dashboard is actually a brilliant workaround. It keeps the core app 'clean' according to Apple's guidelines while still letting me reward the community. I’m definitely adding this to my notes for the V2 iteration of the referral system.
Have you implemented a similar web-based flow before? I’m curious if users find the extra step (switching from app to web) annoying, or if they’re cool with it as long as they get the reward.
@orhan_kilic In my experience, users are surprisingly tolerant of that 'extra step' if the incentive is clear. The key is to make the transition seamless—use a Magic Link or SSO so they don't have to manually log in again on the web.
If they click 'Refer a Friend' in your app and it opens a pre-authenticated web page where they just hit 'Copy Link,' the friction is minimal. Most power users understand that indie devs have to play these games with Apple, and they’re usually happy to support you if the reward (like Pro access) feels valuable enough!
OptiClear
@ivan_anisimov4 The 'Magic Link' approach is a game-changer! 🪄 I was worried about the friction of moving users to the web, but keeping them pre-authenticated solves the biggest hurdle. It makes the transition feel like a feature, not a bug.
Also, I really appreciate the insight about users being understanding of the 'Apple games.' It's easy to forget that our community actually wants us to succeed and is willing to go that extra mile if the value is there.
Thanks for the tactical advice—definitely feeling more confident about building the V2 referral dashboard now!
Man, that 'Invite a Friend' rejection is a classic Apple Review heartbreak. We've all been there. Since direct premium rewards are a no go for them, have you thought about moving the referral logic entirely to a web dashboard? You can reward users with credits or extended trials through a web login which Apple usually complains less about since it's not strictly 'in app' unlocking. Thanks for sharing the pain point, definitely choosing shipping over perfection was the right call!
OptiClear
@emre_yilmaz_easyparser Spot on! 🎯 Moving the whole 'reward engine' to a web dashboard seems like the most solid way to dance around those strict guidelines. It’s funny how we have to build these 'side doors' just to reward our own community, right? I'm definitely considering a web-based portal for V2 where users can manage their referrals and sync the rewards back to the app via their account.
Thanks for the support and the tactical advice—it's good to know I'm not the only one who had to perform 'emergency surgery' on their code right before launch! 🚢💻 :)))
Oof, painful but very relatable 😅
Apple’s review rules are pretty strict here — if premium digital features are unlocked in-app, they generally want that value to flow through In-App Purchase, not side-door referral rewards. Their guidelines around premium features and subscriptions make that pretty clear.
A safer path is usually:
reward with something non-premium / cosmetic
use Apple’s own offer codes or promo-style subscription discounts
or move the referral benefit outside the app experience
So yeah, shipping over perfection was probably the right call here. The feature can come back later in a form Apple is happier with.
OptiClear
@alpertayfurr Spot on! 🎯 It was a tough pill to swallow, but 'shipping over perfection' became my mantra for that 48-hour sprint to get approved.
Those 'safer paths' you mentioned are gold. I especially like the idea of reward-based promo codes or moving the experience outside the app to stay in Apple's good graces. It's definitely not a 'goodbye' to the feature, just a 'see you later' in a more compliant form.
Have you personally seen a referral system in a Mac app that managed to stay both compliant and effective? Would love to look into some examples while I plan the next iteration!
Been there 😅 Apple reviews can humble you fast.
Honestly, ripping the feature out and shipping anyway was the right founder move. Momentum > perfection.
If referrals are blocked, I’d focus on making every OptiClear result shareable:
before/after results, watermarked exports, creator presets, affiliate creators.
Sometimes the best growth loop isn’t an invite system — it’s what users create with your product.
Respect for shipping 👏
OptiClear
@combajt Preach! 🙌 'Momentum > Perfection' was exactly the mindset that got me through that rejection.
Your point about making the results shareable is genius. Instead of a 'referral link,' a cool, visual 'I just freed up 40GB with OptiClear' graphic or a 'Before/After' summary could actually go viral much more naturally. It turns the cleanup into a 'flex' moment for the user.
I’m definitely going to brainstorm how to make the success screen more 'Instagrammable' or 'X-friendly.' Thanks for the high-level strategy and the respect, Jerry!
OptiClear
Honestly, deleting those lines of code physically hurt. 😅 My whole goal with this feature was to give everyone a genuine way to earn continuous, free Pro access just by sharing an app they love. It felt like the perfect win-win for the community.
If anyone has figured out a clever workaround that keeps the App Store reviewers happy while still rewarding users, I'm all ears!
This hit close to home. I build a food safety app with Capacitor and made a few of these kill decisions before even submitting.
Admin pages that exist on the web version? Stripped from mobile entirely.
A background data sync runner I liked? Removed because the battery and permission implications weren't worth the review risk. I'd rather cut the feature myself than get into a back-and-forth with Apple's review team.
The web dashboard workaround others mentioned is real. Anything that feels even slightly incentivized or permission-heavy, I just keep it web-only and let the mobile app stay clean. Less stress, faster reviews.
The painful part is that the features you kill are usually the ones you built because you genuinely thought they improved the experience :/.
OptiClear
@maliikb Man, it’s like we’re reading from the same playbook! 🤝 That point you made about 'cutting the feature yourself rather than fighting Apple' is so underrated. It’s painful, but it saves weeks of back-and-forth. I also had to perform that 'voluntary surgery' on my code to keep things moving. It’s a bittersweet feeling to build something for the user and then realize it’s actually a 'review risk.' Good luck with your food safety app – staying lean seems to be the only way to survive the App Store gauntlet!