About this drop
The water is a single @shopify/react-native-skia RuntimeEffect: an SkSL fragment shader (ported from a Shadertoy GLSL caustics shader) samples the pool photo through an ImageShader and displaces it with summed sine waves for refraction, adds additive caustic highlights, and paints the duck's elliptical shadow at the same displaced coordinate so it ripples with the tiles. A react-native-reanimated useClock SharedValue feeds useDerivedValue uniforms every frame on the UI thread, and the duck's buoyant wander/tilt is a sum-of-sines at unrelated frequencies so the path never visibly repeats. Tested on Expo SDK 56 with the new architecture (react-native-skia 2.6 + reanimated 4 + worklets); Skia is bundled in Expo Go as of SDK 56, so it needs no development build, and runs on both iOS and Android since all the heavy lifting stays on the GPU.