About this drop
Built on react-native-reanimated 4 worklets and @shopify/react-native-skia. react-native-audio-api is used instead of a metering-only recorder because it hands back the raw PCM buffer: a three-band one-pole crossover splits every 32 ms callback into sub-250 Hz, 250 Hz–2 kHz and 2 kHz+ energy, and a useFrameCallback smooths each band on the UI thread with a fast attack and a slow release, plus hysteresis for voice activity. The orb renders through expo-thinking-orbs' power-user surface — a voice pass runs over the finished dot cloud before recordPicture, so swell, ripple, fattening and ink apply identically to all six shipped states rather than being wired into one animation. Nothing is written to disk; the PCM exists only for the length of one callback, and the mic is released whenever the app backgrounds. Requires Expo SDK 56 and the New Architecture (Reanimated 4), so it needs a development build rather than Expo Go. The voice picker uses @expo/ui/swift-ui and is iOS-only — swap it for any picker on Android; everything else is cross-platform. The optional demo voice speaks through expo-speech into the same playAndRecord session, so it exercises the real recorder rather than bypassing it.