Skip to content

Blog

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

  1. An iPhone showing an Uploading new animations Live Activity in the Dynamic Island beside an Android phone showing the same upload as an ongoing notification with a progress bar and a Cancel action

    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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. ChatGPT vs Claude vs Kimi app icons over the title Best AI for React Native + Expo: one prompt, one Robinhood clone, no follow-ups

    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.