Apex, Agent Device, Expo SDK 56, Inspector, and React Native Evals

Authors
Michał Pierzchala
Principal Engineer
@
Callstack

Hey,

It’s Michal shipping May’s edition of the newsletter from App.js conference—it’s been great so far. As always, great job to Paulina and SWM!

This month was full of supply-chain attacks on npm, big releases from Expo, React Vision, and William Candillon, and as always, an update from our Incubator team open source projects. Let’s go!

Community highlights

  • ‍TanStack and Next.js security releases due to npm supply-chain attacks: The two biggest frontend frameworks got hit by different security vulnerabilities. A good reminder that trusted publishing (OIDC) is not a silver bullet. Upgrade your dependencies, vet and pin GitHub Actions to a specific version, and configure trust policy in your package managers.

  • Expo SDK 56: This is a packed release: Expo UI stabilizing and replacing many community libraries, React Native 0.85, React 19.2, Hermes V1, Expo Router forking React Navigation, faster native modules, and better build defaults. Upgrade with a single command or let agents do it using Expo upgrade skills.

  • React Native SWC: A new package to replace Babel transforms with Rust-based SWC for speed, brought to you by Joel Arvidsson—known from hits like react-native-performance, react-native-vector-icons or react-native-native-animatable. In typical scenarios it should get your JS bundling 3x faster (transforms are actually ~8x faster but that’s not all the work that Metro is doing).

  • ReactVision shipped Studio for AR/VR in React Native: A browser-based visual editor where you drag in 3D objects or generate them from text with AI, then ship to iOS, Android, and Meta Quest with a single React Native component. No Unity, no game engine. It works directly with ARKit, ARCore, and HorizonOS via ViroReact (MIT licensed, 100K+ npm installs). Free to try. [sponsored].‍
  • Making JSI Faster with Efficient Data Structures: A great native-module engineering read. from our friends at Margelo. The useful part is not “JSI can be fast”, but how easily it gets slow when the data shape crossing the boundary is wrong. C++ is hard folks.
  • Redraw: William Candillon and TypeGPU teams cooked! Redraw is a 2D graphics library built on top of WebGPU. It supports variable strokes, colors along paths, physically based renderings, and vector feathering which allows fast blurs that don't require any rasterization step. This enables use-cases such as analytical motion blur or fast backdrop filters.

Callstack Incubator highlights

Apex

 

Our AI team, led by Piotr Miłkowski, just released something special, and a big milestone for Callstack Incubator: Apex, our own Large Language Model, specialized for coding React Native apps. It’s also pretty cost-efficient thanks to all the GPU infra optimization Piotr was able to pull off. Apex is based on Gemma 4, adapted specifically for React Native coding work. We couldn’t be more excited! 

 We started with proof-of-concept experiments on other bases, including Devstral and Qwen. After early testing, we moved to Gemma 4 because the base model was already stronger for React Native work before specialization, and it proved to be great for tuning. 

 From there, we trained Apex using Supervised Fine-Tuning (SFT) and Group Relative Policy Optimization (GRPO). 

Apex performs similar to SOTA models in popular coding benchmarks, and currently sits at 3rd place in our own React Native Evals, behind Composer and before GPT-5. We’ll be releasing more information and benchmarks soon.

We want to create the best model for building and understanding React Native apps. Read more about it and help us test it by becoming an early adopter—sign up here.

Introducing Apex: a specialized, cost-efficient coding model for React Native.

Built by Callstack for the work our engineers do every day: building apps, fixing framework-specific issues, reviewing architecture, and shipping one codebase across platforms.

Now opening in private… pic.twitter.com/t32RjKpZOp

— Callstack Engineers (@callstackio) May 27, 2026

Agent Device

 

We’ve reached over 100k weekly downloads. What! I guess you like it when your agents do the work for you. I like it too.

I’ve been nerd sniped by Maestro running the same user flows faster, so I’ve taken the time and effort to improve performance of agent-device all across the board. The replay test runs are now over 3x faster, and common interactions such as snapshot, click, fill are up to 7x faster. I’m especially happy with interactive snapshots and clicks taking usually under 400ms on an M4 machine, which means when combined with batching, agents can control the simulators almost as quickly as humans (not the hyperactive ones that stress test list performance, but we’ll get there!), speeding up the feedback loop considerably.

Oh, and we’ve shipped support for Maestro yaml test format which you can run with agent-device test --maestro – give it a try and report bugs and missing features! We're also dropping or internalizing some dependencies to avoid supply-chain attack surface.

One fun use case for agent-device we’ve found in the wild: NativeWind uses it to automate issue reproductions, neat!

working on a faster boot, interactions, and test replay for agent-device. so far:

→ 3.4x faster than baseline
→ 1.5x faster than Maestro (yes, we're adding compatibility layer)

shipping this in v0.15 once tested better pic.twitter.com/s2KNtux8bF

— Michał Pierzchała (@thymikee) May 19, 2026

if AI agents write code for your mobile app but you still verify, debug, profile manually, YNGMI 🧵 pic.twitter.com/TwJDUe8VrV

— Michał Pierzchała (@thymikee) May 11, 2026

React Navigation

‍

Satya is shilling React Navigation 8 even more with a new retain API which will give you unprecedented ease of supporting picture-in-picture on iOS. Just be careful with memory usage! In v8 you can also expect reworked SSR support to work with streaming rendering.

The new retain API in React Navigation 8 keeps stack screens rendered and active in the background even after going back.

So you can do things like move a video to picture-in-picture so it keeps playing. pic.twitter.com/3OOig7wSsO

— Satyajit Sahoo (@satya164) May 14, 2026

Huge shoutout to @trpfsu for react-native-screen-transitions - an incredible library that lets you build advanced gesture-driven navigation animations in React Native. 🙌

Check out his blog post, which shows how to use it: from recreating the iOS page transition to the brand-new… pic.twitter.com/bdnpAtj3dS

— React Navigation (@reactnavigation) May 5, 2026

Rozenite

 

Szymon, together with a team of external and internal contributors, keeps making Rozenite what is hopefully the best plugin ecosystem for React Native development. Recently they added support for Nitro Fetch in the Network Activity plugin, so you can use multiple fetching libraries and get a unified view of the outgoing and incoming network traffic.

Rozenite v1.8.0 brings react-native-nitro-fetch to React Native DevTools via the Network Activity plugin.

You can mix both nitro-fetch and built-in APIs - you'll see both in a unified network log. pic.twitter.com/P5hXPhqMIB

— Szymon Chmal (@ChmalSzymon) May 5, 2026

React Native Evals

 

We’re constantly updating React Native Evals with more models as they release. We recently added Claude Opus 4.7, OpenAI GPT-5.5, Callstack Apex. And as you read this, we’ll hopefully have results for Opus 4.8, Composer 2.5, Gemini 3.5 Flash, Kimi 2.6, Mimo v2 5 Pro, and Mistral 3. 

We’re also adding more categories, such as 2D graphics with Skia which we collaborate on with William Candillon, and a suite of common and uncommon bugs Callstack engineers found in the React Native apps they developed. Stay tuned!

Fresh React Native Evals run is live.

Two highlights from today's snapshot:
- new categories: Lists and React Native APIs
- Claude Opus 4.7 currently scored below Claude Opus 4.6

Learn more 🧵 pic.twitter.com/VOQswOLuLE

— Callstack Engineers (@callstackio) April 17, 2026

Inspector

‍

Hur and Szymon were fed up with not being able to easily profile performance in release variants of their React Native apps so they decided to build it, and now you can use it too. Meet: @callstack/inspector. Not only can you inspect the React component rendering tree through DevTools, but you can also put React.Profiler directly in your app to get better runtime instrumentation where you need it. 

The setup is simple, involves changes to Metro config, and works with Expo and any React Native app. Check out @callstack/inspector and give us feedback!

Stop guessing why your React Native app slows down in production. ⁉️

Web developers had profiling builds for React Components, and it's time we had them too.

Say hello to @callstack/inspector 🔍 pic.twitter.com/lvJ8CcSYvD

— Hur Ali (@hurali97) May 25, 2026

React Native Brownfield

 

Artur, together with Hur and other contributors, are quietly making Brownfield a bulletproof library, fixing bugs, and long-standing issues such as support for iOS prebuilds or Expo SDK 55 with a config plugin. Did I mention we also got Expo Updates to work so now you can OTA your brownfield apps? Now you know.

Expo SDK 55 support has landed in our React Native Brownfield 🛬

The new 3.3.0 version, which supports both the newest Expo 55 SDK & pre-55 Expo SDKs.

Give it a try now, with our Expo config plugin the integration is fully automated ➡️ https://t.co/kz9oH3YwwG pic.twitter.com/WgtgKKxlbs

— Artur Morys-Magiera (@artus9033) March 13, 2026

And to add a small spice to this update, we’ve shared an agent that Hur is working on for automated migrations from any tech stack to React Native. It works with brownfield and greenfield setups by understanding the app run in a simulator and then rebuilding it in React Native and verifying results with Agent Device. With this setup we’re able to migrate the same screen 3x faster at comparable quality. E-mail us if you’d like to learn more or migrate your app to React Native.

For a few weeks we've been building agents that are capable of understanding any app and then autonomously convert it to a React Native app.

Powered by agent-device and react-native-best-practices skills from @callstackio and some custom instructions

DM if you're interested pic.twitter.com/xxZ4v3odKT

— Michał Pierzchała (@thymikee) May 25, 2026

React Native contributions

 

We’re past the first working group meetings as part of React Foundation and delegated Satya and Kamil to represent Callstack in Fabric and Stable API efforts. With the help of the core team, Kamil was able to unblock the ArrayBuffer support in TurboModules, landing the C++ part and now following up with corresponding iOS and Android work. CSS calc is still pending review.

State of ArrayBuffer support in React Native TurboModules:

✅ C++ – Landed!
⏳ Objective-C++ – PR opened! (Check link below)
🚀 Java – Coming soon!https://t.co/RvidWtB9rX

— Kamil Paradowski (@_ikswodarap) May 28, 2026

Blog

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

  • Introducing Apex: A Fast, Specialized Model for React Native by Mike Grabowski: Today, we are introducing Apex, our first domain-specific coding model designed for React Native. Built on Gemma 4, Apex achieves frontier-level performance at a fraction of the cost of generalized models. It is optimized for the fast, agentic workflows our teams run daily, delivering up-to-date results with fewer tool calls.
  • Profile React Components in React Native Release Builds by Hur Ali: @callstack/inspector brings React component profiling to React Native release builds. This article walks through the setup in an Expo app and shows how to inspect performance closer to how users experience it, without development-only debug code affecting JavaScript execution.
  • Agencies or Swarms? What Small Model Cooperation Means for AI Engineering by Lech Kalinowski: Agentic systems may not depend only on larger models. This article examines how swarms of smaller models behave under load and what that means for distributed inference, concurrency, and infrastructure design.

  • Using TurboModule Substitution to Build Safer React Native Plugin Systems by Aliaksandr Babrykovich: Plugin systems and micro-app architectures need more than a simple allowlist for native modules. This article shows how react-native-sandbox introduces TurboModule substitution, giving hosts a practical way to expose sandbox-safe native functionality for files, storage, analytics, networking, and more.
  • Unlocking Expo Updates in an Isolated Brownfield Architecture with SDK 55 by Hur Ali: Expo Updates used to be a pain point for teams running an Isolated Brownfield architecture. This guide shows how to get it working with Expo SDK 55, including iOS packaging, the current Android workaround, and end-to-end OTA update testing. If you're shipping React Native inside an existing native app, this walkthrough helps you get setup faster without guessing through the hard parts.

  • Codex Ambassador: Q1 Recap Across 5 Cities by Mike Grabowski: Over the past few months, we got to host Codex events across 5 cities and 2 continents. Each one had a different format and a different crowd, from big meetup energy in Berlin to one-on-one sessions in Miami. This recap covers what happened and what we want to do next.
  • React Native production lessons from React Universe Meetup x Zalando by Mike Grabowski: React Native has already proven it can ship production apps. The harder question is how it performs in brownfield migrations, feed-heavy interfaces, native API integrations, and hardware-constrained environments. This article shares four practical lessons from React Universe Meetup x Zalando in Berlin.

  • When to Use Apple Foundation Models on Mobile by Lech Kalinowski: Apple Foundation Models are most useful on mobile when the task is small, fast, local, and not worth a cloud round trip. The real value is not replacing cloud models entirely, but using on-device AI where latency, privacy, and frequency matter most.

  • How Skillgym Helps You Verify Agent Skills Still Work After Every Change by Szymon Chmal: Small edits to a SKILL.md can change agent behavior in ways that are hard to spot manually. This article shows how skillgym helps you test skills against real agent runners, validate the right behavior, and catch regressions before they reach production.
  • Agent React DevTools: Give AI Agents Access to React Internals by Mike Grabowski: Agent React DevTools gives AI agents direct access to the React component tree, state, and performance data. Instead of relying only on UI snapshots, agents can now inspect what happens inside React and debug issues with proper context. This enables more reliable QA, better performance analysis, and deeper automation for React and React Native apps.

Podcasts, Webinars and Live Streams

  • React Universe On Air How AI Is Changing React Native Development and Testing: Zack Ebenfeld joins React Universe On Air to talk about how AI is changing React Native workflows, testing, QA, and day-to-day engineering work.

  • Testing AI Agent Skills Reliably With Skill Gym recording

  • Improve Your AI Coding Workflow With Cursor Tips and Tricks recording 

  • Build a React Native App With the TanStack Stack recording 

  • Webinar: From Native to React Native for TV: The Zattoo Case

Callstack x Expo AI Meetup

Join Callstack and Expo in San Francisco on June 3 for an evening of talks on AI-native mobile development. This meetup is for you, if you want to see how agents are changing real mobile workflows – from building and reviewing apps to testing and shipping them in production.

Michał Pierzchała, Principal Engineer at Callstack, will talk on autonomous mobile QA with Cloud Agents. Evan Bacon, Head of AI at Expo – on building a native app with Expo Agent. As always, we’ll have developer-first agenda with strictly technical talks, and time to connect with the React Native community over pizza.

RSVP: https://luma.com/oi6zrepl

Agent Conf: Call For Papers Is Open

The first speakers for Agent Conf in Warsaw are already confirmed, with names like Tejas Kumar, Kent C. Dodds, Kitze, Levan Kvirkvelia, Nader Dabit, and David Mokos on the lineup.

Would you like to join them on the stage? 

We’re looking for original 20-minute talks from people building with AI agents in practice: agent design, prompting, orchestration, tooling, multi-agent systems, and real production lessons others can learn from.

Agent Conf takes place on September 17-18 and brings 500+ engineers to Warsaw. Selected speakers get travel support, hotel, and a full conference ticket.

Submissions close on June 20: https://sessionize.com/agent-conf-2026/

Get your ticket here: agent.sh

‍

That’s it for the April edition. We’ll be back next month with more updates, experiments, and lessons from the field.

‍
See you then,

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.