Open source · React Native

Pull a water drop out of the Dynamic Island.

A gooey pull-to-refresh where the Dynamic Island is the refresh indicator. The island stretches like liquid, the drop snaps off, spins while refreshing, then gets absorbed back in.

ExpoReanimated 4SkiaNativeWind

How it works

Metaballs

Blur + color matrix on a Skia layer. Overlapping alphas survive the threshold, and that's the liquid neck, for free.

One gesture

A Pan gesture runs alongside the native scroll, with progressive resistance. Everything animates on the UI thread.

Island detection

Island devices report a 59 to 62pt top inset, and the island sits 48pt above its bottom. No native module needed.

Want the full technical breakdown?

I'm writing a deep dive on the metaball math, the gesture state machine and the island detection. Drop your email and I'll send it when it's out, plus my next micro-interaction experiments.

No spam, no funnel. The source code is free either way.