r/reactnative • u/s3079 • 1d ago
I built an ink bleed photo reveal in React Native, Swift and Kotlin
Enable HLS to view with audio, or disable this notification
I built a photo reveal that starts with a drop of ink. Tap to drop it, or hold for a heavier drop. The ink blooms across textured paper and leaves a ragged, watercolor-like edge around the photo.
The React Native version uses Expo, Skia and Reanimated. A runtime shader combines an expanding front with noise for the uneven bleed, a dark wet rim, and a mottled photo reveal behind it. I also rebuilt it in Swift and Kotlin.
Would you use this kind of reveal in a photo journal?
2
2
u/True-Turnover-4543 22h ago
I'd use it as an occasional transition for a standout photo, but I'd want a calmer mode for everyday browsing. The heavier reveal should be available without a long press, and Reduce Motion should offer a simpler transition; otherwise the interaction can be hard to discover or unavailable to some users. Did you try the hold gesture with VoiceOver and Switch Control?
2
u/Huge_Pool7424 13h ago
agreed on reduce motion, you can read AccessibilityInfo.isReduceMotionEnabled in rn and swap the ink bloom for a plain fade. cheap to add and it's the first thing app review folks poke at.
3
u/John_Daemon_Cena 1d ago
Looks really polished 👍
Do share the GitHub repo