// the find
RevenueCat/placeholder-compose
✨ Fully customizable placeholder loading effects for Jetpack Compose and KMP.
A Jetpack Compose / KMP library for skeleton loading placeholders — shimmer, fade, pulse, and custom effects via a modifier API. Built by RevenueCat as a standalone extraction of what they use in their own Android SDK. Targets API 24+ and ships as a Maven Central artifact.
Uses Modifier.Node under the hood (not the deprecated Modifier.composed()), which means it participates properly in Compose's invalidation graph and avoids the performance traps of the older approach. PlaceholderSurface sharing a single coordinator clock is a real quality-of-life feature — independently-drifting shimmer columns in a LazyColumn look terrible, and most competing libraries don't solve this. The placeholderText modifier for multi-line text skeletons is a genuine gap-filler: the single-rectangle approach breaks for paragraph text and most libraries just leave you to work around it. Clean KMP structure with separate commonMain sources and published API files for binary compatibility checks.
238 stars and 6 forks for a v1.0.3 release is thin — this hasn't been battle-tested outside RevenueCat's own app, and community bug reports are minimal. Meaningful docs exist but the KMP story is underspecified: the README mentions desktop in the API files directory but says nothing about which targets are actually supported or tested. No Compose Multiplatform iOS target is mentioned anywhere despite the KMP framing. The library is essentially a shimmer library with extras — if you only need shimmer and are already using Accompanist or a similar dependency, this adds another transitive dep for marginal gain.