Hi RevenueCat team and community!
How about paywalls that come alive? Animations could breathe life into paywalls and encourage users to buy. I’ve even whipped up a quick Android prototype – just take a look!

SDK tech solution - use Lottie animations. This seems to be possible since all platforms (?) are covered:
- Android: lottie-android (https://github.com/airbnb/lottie-android, Apache 2.0)
- iOS: lottie-ios (https://github.com/airbnb/lottie-ios, Apache 2.0)
- Web: lottie-web (https://github.com/airbnb/lottie-web, MIT)
- React Native: lottie-react-native (https://github.com/lottie-react-native/lottie-react-native, Apache 2.0)
- Flutter: lottie-flutter (https://github.com/xvrh/lottie-flutter, MIT)
- Kotlin Multiplatform: compottie or similar (https://github.com/alexzhirkevich/compottie, MIT)
- Capacitor: Web?
Component payload example:
{
"fit_mode": "fit",
"id": "someid",
"margin": { "bottom": 0, "leading": 0, "top": 0, "trailing": 0 },
"name": "",
"padding": { "bottom": 0, "leading": 0, "top": 0, "trailing": 0 },
"size": {
"height": { "type": "fit" },
"width": { "type": "fixed", "value": 160 }
},
"source": {
"light": {
"height": 800,
"original": "https://assets.pawwalls.com/subscribe-cat.json",
"width": 1200
}
},
"type": "lottie"
}
Animation properties were hardcoded to repeat infinitely, but here are the possible properties:
- repeat_count (Int): how many times to play, or infinite if 0
- play_mode (forward | reverse): play from start to end or backwards
- repeat_mode (start | reverse): after finishing, restart or reverse direction
- start_delay (ms): wait before the first play
- repeat_delay (ms): wait between loops
Advanced features:
Interactive reactions: play certain parts of the animation based on user actions. Example: when a user taps Plan A, play frames 0-50; for Plan B, play frames 51-100.
I hope this helps spark ideas. I’d love to discuss the technical details or other features you might support.
Thanks for considering!