About this drop
Built with react-native-reanimated v4 — every animation runs on the UI thread via shared values, interpolate, and interpolateColor, so there are no per-frame React re-renders. A single hidden TextInput captures keystrokes while the visible cells are plain views driven by React state; each CodeBox owns its own digit/placeholder shared values. The focus indicator slides with withTiming (offset for the middle separator), invalid input triggers a withSequence wiggle plus a blue→red border flash, and the loading wave sweeps cell opacity with withRepeat. react-native-keyboard-controller drives the submit button as the keyboard opens/closes via KeyboardStickyView. Tested on Expo SDK 56 (iOS + Android). Note: keyboard-controller is a native module, but it ships inside Expo Go as of Expo SDK 56, so this runs in Expo Go with no development build required.