Blog
Notes from the wire: how the animations are built, what breaks in production, and what we learn selling code to developers.

9 min read
React Native background tasks that survive the user leaving
iOS 26 and Android will both keep a user-initiated task running after your app is backgrounded — and both will kill it if you get the details wrong. What the shipping SDKs actually say.
React NativeExpoiOSAndroidBackground TasksNitro Modules
9 min read
React Native AI loading animation: past the spinner
A spinner cannot say whether an agent is searching, reasoning or writing. Six states that can, plus a voice orb that follows real audio.
React NativeExpoSkiaReanimatedAIVoiceAccessibility
10 min read
React Native electric border: the React Bits effect on Skia
React Native has no SVG displacement filter, so the web electric border does not port. The Skia technique that replaces it, and why the arc wobbles.
React NativeExpoSkiaReanimatedAnimationOpen source
13 min read
Best React Native UI libraries in 2026: an honest map
NativeWind, Unistyles, Tamagui, gluestack-ui, React Native Reusables, Paper, Moti, Reanimated and Skia, grouped by the four decisions you are actually making.
React NativeExpoNativeWindTamaguigluestack-uiReact Native ReusablesReanimatedMotiSkiaUI libraries
10 min read
React Native blur background: which BlurView to use
Three ways to blur in React Native and why they are not interchangeable: expo-blur, community blur, and Skia for when it has to animate.
React NativeExpoReanimatedSkiaexpo-blurAndroid
12 min read
React Native dropdown: the 4 real options, compared
React Native ships no dropdown. The four ways people actually build one, with working code and the Android and ScrollView gotchas.
React NativeExpoReanimatedDropdownSelectUI
11 min read
React Native form validation: react-hook-form + Zod
The honest answer is react-hook-form with a Zod resolver. A real sign-up form: per-field errors, focus management, and animated error states.
React NativeExpoReanimatedFormsreact-hook-formZodTypeScript
12 min read
React Native skeleton loading: shape beats shimmer
A skeleton must mirror the real layout exactly or you trade a spinner for layout shift. A Reanimated shimmer that shares its styles, plus the library options.
React NativeExpoReanimatedSkeletonLoading statesAccessibility
10 min read
React Native textarea: the auto-growing multiline TextInput
There is no TextArea in React Native. You use TextInput multiline, then fix auto-growing height, Android padding and the character counter.
React NativeExpoTextInputFormsReanimated

14 min read
Best AI for React Native: ChatGPT vs Claude vs Kimi, tested
One prompt, three AIs: build a Robinhood clone in React Native with Reanimated and Skia. One winner, one wipeout, and the same laggy mistake in all three.
AIReact NativeExpoReanimatedSkiaGesture HandlerChatGPTGPT-5.6 SolClaudeClaude Fable 5KimiKimi K3Robinhood clone
What gets written here
Three kinds of post. How a particular animation is actually built, usually with the Reanimated or Skia source in the page. What broke when that animation met a real device, which is the unglamorous half: the Android quirk, the dropped frame, the thing that only appears on a cold start. And what the numbers say about selling code to developers, using our own Stripe and analytics data rather than repeating someone else's advice.
If you want the implementation without the essay, the component reference is free and built for copying. If you want the finished, animated version, that is the catalog.
Written by Mehdi Davoodi. Subscribe by RSS.