Core Products
Clean little interactions carrying the team on their back.
Clean little interactions carrying the team on their back.
A draggable trading card that tilts in 3D under your finger while a holographic sheen, layered reflections, and a tracking spotlight sweep across its surface. Drop it into a profile, collectible, or reward screen for a premium tactile feel.
Built with react-native-reanimated shared values and useAnimatedStyle. A single Gesture.Pan from react-native-gesture-handler reads the touch point and maps it through interpolate with Extrapolation.CLAMP to rotateX/rotateY, applied via a perspective transform for the 3D lean; onEnd springs everything back with withTiming. The shine is a react-native-svg radial gradient composited with mixBlendMode 'overlay', and the reflection sprites are clipped to the card's watermark with @react-native-masked-view/masked-view. All animation runs on the UI thread, so dragging stays smooth on both iOS and Android. Note MaskedView uses androidRenderingMode 'software' for correct masking on Android, and mixBlendMode needs the new architecture / a recent RN version. Tested on Expo SDK 56; requires a dev build since it depends on react-native-svg and masked-view.
A denim zipper that unzips and parts the screen like a curtain. The pull rides down the seam, the teeth split open along a soft rounded V, then both fabric halves slide off-screen to reveal the app underneath. Great as a splash, intro, or screen-transition overlay.
An interactive x-ray effect that reveals a hidden image underneath a base photo through a circular mask the user drags around. Pan to move the lens and long-press to reset, perfect for product showcases, before/after reveals, or playful onboarding screens.
A full-screen animated swimming-pool water effect with drifting caustics, refraction ripples, and a buoyant rubber duck whose shadow wobbles on the tiled floor below. Built as a Skia runtime shader (SkSL) driven by Reanimated, it makes a great living background for splash screens, onboarding, or empty states.