React Universe Conf Recap, RN 1.0 Buzz, and Tools You Don’t Want to Miss

Authors
Michał Pierzchala
Principal Engineer
@
Callstack

Hey,

It’s Michał with the August and early September edition of our monthly newsletter. This one is special, as it also covers the React Universe Conf that Callstack organizes. There were a bunch of announcements and very insightful talks and sessions, and we want to give you a glimpse of what happened, and how to watch it online. Let’s begin!

React Universe Conf highlights

There was so much amazing content from our speakers, panelists, and guests at React Universe Conf that we couldn’t help but pick some of our favorite moments (in random order) to give you a glimpse of the experience.

  • LegendList v2 announcement: Jay “Legend” Meistrich released a new version of LegendList that introduces major performance and DX improvements, making list rendering more efficient for longer lists. There are still debates about which one is faster, LegendList or FlashList, and we’re excited about this “fight.”
  • Uniwind waitlist announcement: Jacek Pudysz, known from hits like Unistyles, announced a new library on stage: Uniwind. It’s a drop-in replacement for NativeWind with a strong focus on performance. The waitlist is open, but the library itself is not yet available. Of course, we’ve signed in.
  • React Native 1.0 on the horizon: Jorge from the React Native team teased that 1.0 is approaching, but it’s not there yet. React Native is currently focusing on the stability of releases and the maturity of the API.
  • Lynx for Web beta: Lynx brought a whole team delivering a fascinating tale of how they use React on two threads (main and background) and how they work together for features such as Instant Frist-Frame Rendering or Main Thread Component. On top of that, they launched the beta of Lynx on the Web.
  • Ottrelite announcement: Artur and Dominik revealed Ottrelite, a missing observability library designed to auto-instrument your app and fully compatible with OpenTelemetry. This library works across Swift, Kotlin, and C++, allowing you to hook into popular telemetry backends such as Tracy, Atrace, or Xcode instruments, all with the same interface.
  • 10-year anniversary panel moments: A special panel celebrated 10 years of React, featuring stories, reflections, and insights from the community and core team. I especially enjoyed stories from before React Native was born and its early days from Tom and Christoph, who worked at Facebook back then.
  • Worklets with bundle mode: Tomasz Żelawski showed us how react-native-worklets (extracted from Reanimated) can gain superpowers with a new functionality that allows it to bundle all the necessary code for the worklet.
  • Modern React patterns live coded: A live coding session by Aurora demonstrated the latest React 19 patterns in action, highlighting real-world techniques developers can adopt today.
  • Building Scalable Applications: A set of best practices on mobile, web, and fullstack development from Christoph Nakazawa and his 15 years of professional experience distilled into a few handy templates for holistic app development.

You can watch all the talks on the dedicated YouTube playlist or just binge-watch all of the Day 1 and Day 2 live streams. Let us know which ones were your favorite!

Community highlights

  • FlashList v2: FlashList v2 is a full rewrite that no longer requires item size estimates. It’s a result of Shopify’s migration to New Architecture. Using React Native’s New Architecture for synchronous layout measurements, it ensures pixel-perfect scrolling, adaptive rendering, automatic scroll position maintenance, and built-in masonry layout. Without native code.
  • React Native 0.81 is now stable: This version comes with support for Android 16, which mandates edge-to-edge displays. A key experimental addition is precompiled iOS builds, offering much faster compile times, which is available in Expo SDK 54 and Rock 0.11 by default. This release also deprecates the built-in <SafeAreaView> and moves JSC runtime support to a community-managed package, which Callstack maintains together with Expo.
  • Using patch-project: An experimental tool from the Expo family that preserves custom changes made to the android and ios folders. The goal of the project is to make migrations to Expo easier by generating CNG-compatible code from your native project edits. Very neat!
  • React Strict DOM vs React Native for Web in 2025: Nicolas Gallagher, the creator of React Native for Web, recommends building new universal apps with React Strict DOM, or gradually adopting it if you already use React Native for Web. If you’re fine with StyleX as a CSS and styling solution, it may be a good time to give it a go.
  • Introducing Expo Launch: a new way to get to the app store: Expo has released a beta feature that lets you deploy iOS apps to TestFlight straight from the web. No config or certificates required, but it will ask you to provide your Apple credentials. It already supports web deploys, with Android support on the way.
  • Introducing the React Native Nightly testing program: Maintainers of widely used native libraries can opt into automated tests to verify compatibility with upcoming React Native versions. The initiative aims to boost ecosystem stability, catch breaking changes early, and support the path toward 1.0.

Callstack Incubator highlights

React Native AI

Mike and Szymon were busy making React Native ready for iOS 26 so that you can use the full power of on-device Apple Intelligence in your React Native app from day one. This time, focusing on speech-to-text, which works surprisingly well compared to SOTA Whisper. And did I mention it’s fully compatible with Vercel’s AI SDK, now listed as one of the official community providers? There, I said it.

🎉 New week, new release. Transcribe any audio fully on-device with AI SDK.

The model is in most cases already on-device (whether requested by system or other apps), runs ~2x faster than Whisper and matches output of its mid-tier equivalent, according to benchmarks.

Try it out… pic.twitter.com/zHtSRGkDaf

— Mike (@grabbou) August 7, 2025

This work was heavily dependent on ArrayBuffers (this is how audio, but also video, is represented natively), which don’t have proper support in the TurboModule interface. As a workaround, we had to implement this functionality directly through JSI, writing a bunch of C++. This begged a question: Is it an inherent limitation of TurboModules, or wasn’t it implemented by Meta? It turned out it’s the latter, so Kamil from our team went on a quest to implement ArrayBuffers for TurboModules, which we’ll soon contribute to the core React Native for everyone to benefit.

🎉 PSA: First-class ArrayBuffer support is coming to TurboModules!

No more base64 serialization. Massive performance wins for binary data!

For an 8 MB payload, that means:
- base64 → ~666 ms 🐢
- direct ArrayBuffer → ~1 ms 🚀

Huge 👏 to @_ikswodarap for shipping this! pic.twitter.com/OsGXqgqEtH

— Mike (@grabbou) September 8, 2025

React Native Sandbox

Aliaksandr released the React Native Sandbox library last month, and this time, he followed up with a missing and quite important functionality: bi-directional communication between isolated sandbox instances through the postMessage API. Combined with the rest of the library, and Module Federation enabled by Re.Pack, this opens the door for secure dynamic microfrontends, or mini apps that you can run safely in your app without fear of messing up with the host super app.

🚀 New in `react-native-sandbox`: isolated instances can now communicate directly via the `postMessage` API.

The demo shows two sandboxes exchanging messages with dynamic whitelist, proving you can build secure multi-instance apps and micro-frontends in React Native.

Follow… pic.twitter.com/0WedmQDwL5

— Mike (@grabbou) August 20, 2025

License Kit

Most teams think about dependencies in terms of "does it build" or "is it secure", but licenses are just as critical. Transitive dependencies can quietly introduce obligations you never agreed to.The license-kit package and CLI, together with a neat visualizer by Artur, make them visible, and once you can see them, you can act appropriately.

Your app depends on Open Source, but do you know what licenses you’re actually shipping? 🔍

Our `license-kit` gives you:
- Fully interactive dependency graph
- License types with categories
- Subgraph filtering to trace origins
- Real-time updates from lockfile
- AI-powered… pic.twitter.com/NLC5tpRI6F

— Callstack Engineers (@callstackio) August 12, 2025

Rock (previously known as RNEF)

Apart from preparing the keynote for React Universe Conf, I was busy renaming the React Native Enterprise Framework into something more solid and playful: Rock.

RNEF is now Rock 🎉

There are two hard things in computer science: naming and cache invalidation. While we've built React Native Enterprise Framework to tackle the latter, I admit, nailing the name was a challenge. So, we fixed it.

𝚗𝚙𝚖 𝚌𝚛𝚎𝚊𝚝𝚎 𝚛𝚘𝚌𝚔 pic.twitter.com/oL9tGdmqbL

— Michał Pierzchała (@thymikee) August 18, 2025

Let’s face it: the RNEF name was never something I considered final; rather, it was a temporary patch on what the project is. And after ~6 months of throwing names I found fun at the team, transferring ownership of npm packages, and a few major releases later, we’re finally done with the rebrand.

You can now use the new npm create rock command to:

  • start a new project from scratch
  • migrate existing RNEF project
  • migrate existing Community CLI project

Continuing our experiments with TV platforms, we've also managed to run React Native macOS with Rock. We expect to add proper support for all of these later this year.

rock run:macos 🔜 pic.twitter.com/h76t3IQ1zD

— Michał Pierzchała (@thymikee) August 22, 2025

Rozenite

Szymon is not slowing down with Rozenite, shipping plugins for MMKV, Performance API, and Network activity. It becomes a serious successor to Flipper at this point. You can quickly install it using the npx rozenite init command and enjoy a variety of ready-to-use plugins, and the possibility to write your own. We heard the Dream11 engineering team has four custom plugins for their own app already!

Rozenite's MMKV plugin just got a well-deserved overhaul and will soon be publicly available. It lets you inspect and update your stores, with full support for all value types. You can even blacklist keys that hold large amounts of data. @mrousavy WDYT? 👀 pic.twitter.com/I5MYGjoayH

— Szymon Chmal (@ChmalSzymon) August 22, 2025

And this tweet shows you how quickly you (or rather Szymon) can build something on top of Rozenite that can help you iterate quickly on your project:

…or you can write a plugin like this for Rozenite in a matter of minutes 💎 pic.twitter.com/i7jRXmoGHB

— Szymon Chmal (@ChmalSzymon) August 20, 2025

React Native Bottom Tabs

Oskar has been busy with an exciting client project lately, but he still manages to keep his libraries up to date. The latest release of React Native Bottom Tabs not only powers our React Universe app but also fixes a few bugs we found while developing it and supports new functionalities that are coming with iOS 26.

New release of React Native Bottom Tabs ✨

- Tab Bar Search Role 🔍
- iOS 26 Minimize Behavior 🆕
- Bug fixes 🐛 pic.twitter.com/j4NE4N8IkF

— Oskar Kwaśniewski (@o_kwasniewski) August 5, 2025

Re.Pack

Jakub crammed quite a lot of important updates to Re.Pack in minor release (no breaking changes!). This one comes with a smarter transformer that can distinguish when to use Babel and when it’s ok to go with SWC to make JS transforms go brrrr.

Re.Pack 5.2 is out! Lots of goodies in this one:

⚡️ babel-swc-loader for fast & universal transforms
👮‍♂️ Typed configs for Rspack/webpack
📱React Native 0.80 & 0.81 support
🛠️ Rozenite DevTools integration
✨ Updated dev mode progress reporting

Read the full release blogpost 👇 pic.twitter.com/GJKNljVYi2

— Jakub Romańczyk (@_jbroma) August 27, 2025

Combined, it results in over 2x faster transpilation for complex codebases such as Expensify utilizing heavy Babel plugins like React Compiler. Other than perf, Re.Pack 5.2 comes with support for the latest React Native versions, Rozenite integration, and a new progress reporter. Give it a try!

Just resolved an issue where the new babel-swc-loader in @repack_rn was performing poorly.

From 115.4s → 2.6s 🔥

Turns out it was a 100k+ lines prebundled lib that was getting processed by a single Babel worker 🤯

Delegating this to @swc_rs decreased the build time 40x! pic.twitter.com/szdgzZPX8V

— Jakub Romańczyk (@_jbroma) August 29, 2025

Blog

If you prefer to jump straight to the blog post versions of our releases, there you go:

  • Re.Pack 5.2: Faster Babel Transforms, RN 0.80 & 0.81, Rozenite by Jakub Romańczyk: Re.Pack 5.2 is out! This release focuses on parallel, smarter transforms with a new Babel & SWC loader, official support for React Native 0.80 and 0.81, fully typed configs, support for Rozenite and more.‍
  • On-Device Text To Speech on Apple Devices with AI SDK by Mike Grabowski: We’ve added on-device speech synthesis to our Apple provider for the AI SDK, completing the feature set alongside generation, embeddings, and transcription. This integration with AVSpeechSynthesizer brings fast, private, and offline text-to-speech to React Native, with support for multiple voices, languages, and even Personal Voice on iOS 17+.‍
  • Secure Communication Between Isolated React Native Instances by Aliaksandr Babrykovich: The latest release of react-native-sandbox adds support for direct, secure communication between sandboxed React Native instances. Instead of routing messages through the host app, sandboxes can now talk to each other directly using a model familiar from the web: the postMessage API with origin-based access control.
  • ‍React Native Enterprise Framework is Now Rock by yours truly: Meet Rock: the evolution of the React Native Enterprise Framework. Built by Callstack, Rock gives teams a stable, high-performance foundation for enterprise React Native development. From powerful build caching that cuts CI times by up to 96%, to ad-hoc iOS installs and an ecosystem of upcoming tools like Rozenite and Ottrelite, Rock is designed to help enterprises scale React Native with speed, reliability, and confidence.
  • ‍Visualizing Open Source Licenses to Analyze Compliance and Reduce Legal Risk by Artur Morys-Magiera: Tracking open-source licenses isn’t just about reading package.json. Hidden obligations often live deep in transitive dependencies. license-kit visualize offers a clear, interactive map of your project’s dependency graph, complete with license details, statistics, and AI-generated summaries. Whether you’re avoiding restrictive terms or understanding how packages enter your stack, this tool gives you the visibility you need to manage licenses with confidence.‍
  • On-Device Speech Transcription in React Native with Apple SpeechAnalyzer by Mike Grabowski: This post introduces speech transcription support in React Native AI, implemented using Apple’s SpeechAnalyzer and SpeechTranscriber APIs available in iOS 26. It explains how to use the AI SDK’s transcribe function to pass audio buffers, how modular analysis is configured through the SpeechAnalyzer class, and how system-level asset management ensures models are handled outside the app bundle.

Podcast and videos

  • React Universe On Air Observability and OpenTelemetry in React Native: Learn how Embrace and OpenTelemetry can help React Native teams standardize observability and improve app monitoring across platforms.
  • Incremental React Native Adoption in iOS Apps by Burak Güner: Brownfield development allows teams to adopt React Native gradually, embedding it into production apps one screen at a time. In this walkthrough, Burak shows how to spin up a Rock project configured for iOS, export React Native modules as XCFrameworks, import and initialize React Native in a SwiftUI app, and replace a native view with a React Native screen. By the end, you’ll understand how to extend an existing iOS app with React Native in a controlled, incremental way.
  • Incremental React Native Adoption in Android Apps by Hur Ali: Are you maintaining a native Android app but want to bring React Native into the mix, without rewriting from scratch? In this video, Hur shows how to use Rock to scaffold a React Native project, package it as an AAR, and integrate it into an existing Android app. The example app is a Pokémon collection app, where we replace native UI components with a React Native fragment.

Webinars and live streams

Upcoming events

GOSIM Hangzhou 2025

React Native is entering a new era, and so is build tooling. On Sept 13, Oskar Kwaśniewski and I will take the stage in Hangzhou to show how Rock helps large teams skip full native builds and evolve complex codebases with confidence. Meet us in Venue 9-B05, Hangzhou, China.

The Spark (React Prague Meetup)

Szymon Chmal joins the Prague React community on Sept 16 to explore the internals of React Native DevTools and how to build your own extensible plugins, no forks required. RSVP here.

React Conf 2025

React Conf is just a month away! We’re excited to be co-hosting the event again this year, together with the amazing React community. A new batch of speakers and the full agenda will be revealed very soon. Come say hi to the Callstack team or stop by our booth to chat anything React.

Let us know if you’re attending, always happy to meet you in person!

Michał

Insights

Your next read or watch starts here

Building a Software Factory: Write Specs an Agent Can Build From — cover

Nov 6Article

Building a Software Factory: Write Specs an Agent Can Build From

Learn how to research requirements, resolve open decisions, and write testable specs that AI coding agents can implement without the planning conversation.

 Large-Scale Migrations With Coding Agents: Planning, Verification, and Rollback — cover

Nov 4Article

Large-Scale Migrations With Coding Agents: Planning, Verification, and Rollback

Plan codebase migrations with coding agents using reviewable requirements, verification checks, staged rollouts, and defined rollback criteria.

Conversational Banking: From Customer Questions to Authorized Actions — cover

Nov 2Article

Conversational Banking: From Customer Questions to Authorized Actions

Explore conversational banking architecture through a card-dispute example, covering tool access, authorization, execution, observability, and human handoff.

How AI Agents Can Cut Manual QA by 30% — cover

Oct 30Article

How AI Agents Can Cut Manual QA by 30%

Explore an agentic QA workflow targeting 30% less manual effort across mobile, web, and TV, with test selection, failure triage, and validation.

Building a Software Factory: The Night My Agents Waited for Me — cover

Oct 28Article

Building a Software Factory: The Night My Agents Waited for Me

Learn how permissions, review limits, and missing product decisions stalled two overnight coding agent runs, and how their maintainer revised the workflow.

Your AI Coding Agent Still Needs an Architecture — cover

Oct 22Article

Your AI Coding Agent Still Needs an Architecture

Use explicit contracts, behavior tests, and dependency checks to guide AI coding agents and review their changes through a TypeScript favorites example.

cover

Oct 15Live Stream

Who Left the Agents Running? React Native Software Factories

Join Kewin Wereszczyński and Szymon Chmal to explore what can go wrong in a React Native software factory overnight and the controls that keep agents on track.

cover

Oct 14Podcast

When Coding Gets Faster, What Breaks Next?

Matt Hargett explains how AI moves bottlenecks across testing, deployment, infrastructure, support, and the rest of software delivery.

cover

Oct 13Podcast

MCP and Supervisor Agents in eBay's Monitoring Workflow With Leonel Candido da Silva

Leonel Candido da Silva explains eBay's agentic monitoring workflow: specialized agents, MCP, PagerDuty reports, and plans to learn from past incidents.

cover

Oct 12Podcast

AI Agent Observability With Ivana Huckova and Sven Großmann

Grafana's Ivana Huckova and Sven Großmann discuss AI agent observability, coding-agent costs, PR analytics, secret redaction, and local guardrails.

cover

Oct 7Talk

Automating Mobile QA with Cloud Agents

Michał Pierzchała shows how cloud-based QA agents can test real iOS and Android user flows and bring screenshots, recordings, and logs into pull requests.

cover

Oct 1Live Stream

Can Jev Make AI Agent Decisions Faster?

Explore Jev with Kewin Wereszczyński and Szymon Chmal: how it works, its approach to faster agent decisions, and possible local alternatives.

cover

Mar 19Tutorial

The Hard Way vs. The React Native AI SDK Way: Stop Writing Custom Modules for Every Model

Learn how React Native AI uses a unified provider model to switch between cloud and on-device LLMs without rewriting application logic, enabling reliable AI experiences online and offline.

cover

Mar 12Tutorial

Build Smarter Apps: Tool Calling & AI Orchestration Explained

Learn how on-device models in React Native can call tools, interact with external APIs, and return structured outputs you can use directly in application logic.

cover

Mar 5Tutorial

MLC LLM + React Native: On-Device AI Without the Pain

Learn how to run third-party on-device LLMs in React Native using MLC LLM. Choose your models, run them efficiently across platforms, and keep a unified JavaScript API with React Native AI.

cover

Feb 24Tutorial

Intelligent Fallbacks with Apple Intelligence in React Native

Learn how to use Apple’s built-in Foundation Models in React Native apps, reduce memory usage, and enable fast, fully on-device AI with React Native AI Apple.

cover

Feb 10Tutorial

What Is the React Native AI SDK? A Complete Intro & Quickstart

Learn why on-device AI matters for React Native apps, how local LLMs behave offline, and what problems React Native AI is designed to solve from day one.

cover

Jan 29Tutorial

Implementing an Android TurboModule with Kotlin

Learn how to implement a React Native TurboModule on Android, from the TypeScript spec and Codegen to the Kotlin implementation and package registration.

cover

Jan 19Tutorial

Working with Different Threads in Swift TurboModules

Learn how JavaScript, native module, background, and main threads interact in React Native TurboModules, and how to use GCD queues to run async work safely in Swift.

cover

Jan 9Tutorial

How to Add Type-Safe Constants to Swift TurboModules

Learn how to expose typed, immutable constants from a Swift TurboModule using Codegen, and get full end-to-end type safety between native and JavaScript.

cover

Dec 30Tutorial

Adding Event Emitters to Your TurboModule in Swift

Learn how to emit native events from a Swift TurboModule and subscribe to them in JavaScript, including proper memory management and Codegen integration.

cover

Dec 22Tutorial

Writing Your First TurboModule in Swift

Learn how to build a fully working TurboModule in Swift, integrate it with Codegen, and bridge it through Objective‑C inside an Expo app.