Expo

Expo

@expo.dev

Develop, preview, submit, and update native apps from a single React codebase for Android, iOS, and web. Sign up: https://expo.dev Discord: https://chat.expo.dev

10K followers158 following656 posts

Pinned

πŸ₯³ Observe is now generally available! React Native startup and per-screen performance from real devices, with every build and OTA update marked on the chart. Now you can see how your app actually feels to your users. Details in today's blog from @kadi.bsky.social: try.expo.dev/observe-ga-b...

try.expo.devIntroducing Observe: Performance monitoring for Expo apps, now generally available β€” Expo blogObserve is generally available. Startup and per-screen performance for React Native, measured on real devices, tied to every build and update.

Announcing the 2026 𝝠 Expo App Awards πŸ™Œ The talent, the care, and the craft we see in the Expo community is staggering. The 𝝠 Expo App Awards is a celebration of the apps and the people who build them. Submission criteria is simple: if your app uses Expo, submit it. expo.dev/awards/2026

The power of 𝝠 Expo + LLMs is staggering. Nathan Schroeder built this app a day. It's called Amber and it's a place to save almost anything and let AI organize it all for you. Built on Expo + Convex + Clerk + AI SDK.

πŸ™Œ Expo SDK 58 beta is out, built for iOS 27 on React Native 0.88 RC. β—† πšŽπš‘πš™πš˜-πšŠπš™πš™-πš’πš—πšπšŽπš—πšπšœ puts your app in Siri β—† @πšŽπš‘πš™πš˜/πšŠπšπšŽπš—πš-πšŒπš•πš’ is built for coding agents β—† Expo Modules 2.0 in beta β—† Android builds about twice as fast πš—πš™πš‘ πšŽπš‘πš™πš˜ πš’πš—πšœπšπšŠπš•πš• πšŽπš‘πš™πš˜@πš—πšŽπš‘πš --πšπš’πš‘ expo.dev/changelog/sd...

expo.devExpo SDK 58 Beta is now available β€” Expo changelogCheck out new updates and improvements to Expo and EAS from the Expo team.

Set up @posthog.com in your Expo app with one command. 𝚎𝚊𝚜 πš’πš—πšπšŽπšπš›πšŠπšπš’πš˜πš—πšœ:πš™πš˜πšœπšπš‘πš˜πš:πšŒπš˜πš—πš—πšŽπšŒπš β—† Org, project, SDK, and env vars in one shot β—† Every event tagged with its EAS update β—† Workflows that hold a rollout until errors clear expo.dev/changelog/po...

expo.devConnect PostHog to your Expo app in one command β€” Expo changelogCheck out new updates and improvements to Expo and EAS from the Expo team.

Expo Modules 2.0 is here in preview. Your module is an annotated Swift class. That's the whole API. It's also up to 14.5Γ— faster than SDK 55. iOS today in SDK 57, Android next, official beta in SDK 58 ↓ expo.dev/blog/an-earl...

Expo reposted

It uses EAS Simulator by @expo, which gives your background agents access to on-demand cloud iOS simulators, so they can verify their work and achieve better results πŸ‘€πŸ“ˆ EAS Simulator is in closed preview - join the waitlist if you are interested expo.dev/services/sim...

expo.devEAS Simulator: Simulators built for agentsSpin up secure cloud simulators on demand. Your agents install a build, drive it, and verify their own work, running as many in parallel as you need.
Expo@expo.dev

We think apps should fix their own bugs. TestFlight feedback comes in. An agent reproduces it, files the issue, writes the fix and runs it on a simulator before opening the PR. Our Cloud Simulators service is in preview. Here's the waitlist if you want to try it: https://try.expo.dev/agentic-dev-x

We think apps should fix their own bugs. TestFlight feedback comes in. An agent reproduces it, files the issue, writes the fix and runs it on a simulator before opening the PR. Our Cloud Simulators service is in preview. Here's the waitlist if you want to try it: https://try.expo.dev/agentic-dev-x

React Native TextInput now has a real paste event. πšŽπš‘πš™πš˜-πš™πšŠπšœπšπšŽ-πš’πš—πš™πšžπš wraps your existing input and fires πš˜πš—π™ΏπšŠπšœπšπšŽ with text or local file URIs. Images, GIFs, screenshots, iOS stickers. πš—πš™πš‘ πšŽπš‘πš™πš˜ πš’πš—πšœπšπšŠπš•πš• πšŽπš‘πš™πš˜-πš™πšŠπšœπšπšŽ-πš’πš—πš™πšžπš ✍️ @arunabhverma.com expo.dev/blog/pasting...

expo.devPasting images into TextInput should not be this hard β€” Expo blogHow a small paste interaction in a chat app became expo-paste-input, a native Expo module that adds image, GIF, and sticker paste to React Native TextInput.

SWSH's release pipeline: 𝚎𝚊𝚜 πš‹πšžπš’πš•πš on self-hosted runners, signing credentials in EAS, EAS Submit into both stores, an Appium suite gating the release, and Observe watching time-to-interactive after it ships. There's no human sitting between a merge and App Store review. expo.dev/blog/inside-...

expo.devInside SWSH's automated mobile release pipeline with Expo β€” Expo blogSWSH runs 300 builds a month and ships a native release every week. Here's how the team automated the whole pipeline with EAS Build, Submit, Update & Observe.

Install Observe in one command: πš—πš™πš‘ πšŽπš‘πš™πš˜ πš’πš—πšœπšπšŠπš•πš• πšŽπš‘πš™πš˜-πš˜πš‹πšœπšŽπš›πšŸπšŽ ...or ask an agent to do it.

Add 𝝠 Expo to your Claude Desktop App: expo.dev/changelog/co... This is an exciting step forward for another project we have in development at Expo. We can't say much about it now but we'll link the waitlist with some early details below.

Expo reposted

contrary to what might seem reasonable, i think now is an even better time to be building with @expo.dev. live refresh app building was always great, but now with LLMs its doubly amazing. cannot imagine actually building an app with swift or kotlin now tbh

Your Expo app can have a typed, reactive backend before your coffee gets cold. 𝚎𝚊𝚜 πš’πš—πšπšŽπšπš›πšŠπšπš’πš˜πš—πšœ:πšŒπš˜πš—πšŸπšŽπš‘:πšŒπš˜πš—πš—πšŽπšŒπš provisions Convex and sets your env vars for local dev and builds in one shot. πšžπšœπšŽπš€πšžπšŽπš›πš’ updates itself when the data changes. New guest post from @convex.dev: expo.dev/blog/convex-...

expo.devConvex is now a one-command backend for Expo apps β€” Expo blogConnect a reactive, fully typed Convex backend to your Expo app with one EAS CLI command. No separate signup, no dashboards, no copy-pasted tokens.

Wellspoken went from 400 users to hundreds of thousands of downloads in six months, without the founder ever opening Xcode. Tons of actionable tips and tricks in here for making your apps successful: try.expo.dev/wellspoken-b...

Most AI coding tools are noise. Three actually matter for shipping mobile apps. β—† Skills: instruction files loaded on demand β—† MCP: gives the agent hands outside the editor β—† Context discipline: stay under 50%, branch by task Full guide and video: expo.dev/blog/how-to-...

expo.devHow to build mobile apps with AI: the three tools that actually matterSkip the AI tooling noise. Skills, MCPs, and the right AI workflow are the three things that get an AI to ship beautiful, performant mobile apps.

Switching off πšŽπš‘πš™πš˜/πšŸπšŽπšŒπšπš˜πš›-πš’πšŒπš˜πš—πšœ can cut ~4MB from your app bundle. Just from changing an import. The πš›πšŽπšŠπšŒπš-πš—πšŠπšπš’πšŸπšŽ-πšŸπšŽπšŒπšπš˜πš›-πš’πšŒπš˜πš—πšœ packages now work natively with πšŽπš‘πš™πš˜-πšπš˜πš—πš across Expo Go, dev builds, everywhere. Migration guide β†’ https://try.expo.dev/vector-icons-bluesky

try.expo.devMoving away from @expo/vector-iconsWe cut our repro app's bundle by 4 MB by switching from @expo/vector-icons to @react-native-vector-icons. Here's why we now recommend the change.

Expo reposted

One of my favorite things about the Demos app is that every update generates a slightly different app icon, so it's always a nice little surprise.

πŸ’… Want to get really good at building apps with AI and Expo UI? @zoontek.me from our SDK team is giving an Expo UI focused talk at the React Native London Meetup on July 16th. Save your seat and tell your friends: guild.host/events/react...

guild.hostReact Native London Meetup - July 2026 | GuildJul 16th 6:30PM: The event will be in-person only - come watch live and network with like-minded people! This month, Metro Bank will be hosting us in their offices at Holborn. Please use the big re...

We're sharing the formula for making vibe-coded apps look pro. Agents are good at assembling layouts. But they have no eyes, because design is not code. The fix isn't a better prompt. It's a shared vocabulary: 8 principles + a screenshot critique loop. Full framework ↓ expo.dev/blog/how-to-...

expo.devHow to apply professional design principles in AI app developmentVibe-coded apps all look the same. Here are eight design principles that will give you the vocabulary to critique AI output and ship something that stands out.

Trust your instincts. If your app feels slow today, there's probably a cold-start regression on a specific build, on specific devices... this has always been a difficult problem to identify. Now it's not. Our new "Observe" service is in open beta, free up to 10k MAUs. β†’ try.expo.dev/observe-beta...

try.expo.devIntroducing Observe: Performance monitoring for Expo appsEAS Observe shows how your React Native app really performs for real users: startup speed, per-screen metrics, and release regressions.

The fastest mobile build is the one you never run. Expo's CI/CD Workflows skips the full build when your native layer hasn't changed. We compared it honestly against Bitrise, Codemagic, GitHub Actions, and CircleCI for 2026. We're biased, but fair. try.expo.dev/mobile-cicd-...

iOS builds in SDK 56 are faster out of the box. Expo modules now ship as precompiled XCFrameworks, so they link instead of compiling from source on every build. No config, no migration steps. Full nerd sniping eng blog from @chrfalch.bsky.social right here: try.expo.dev/precompiled-...

try.expo.devFaster iOS Builds with Precompiled XCFrameworksStarting with SDK 56, Expo packages on iOS ship as prebuilt XCFrameworks, so clean iOS builds skip compiling 70+ packages from source.

Expo SDK 56 ships a Kotlin compiler plugin that removes reflection from Android module startup. 70% faster module init. 30% faster first render. 6Γ— faster Records. App developers get the gains automatically. Module maintainers: one annotation. try.expo.dev/kotlin-compi...

try.expo.devHow a Kotlin compiler plugin cut Android time to first render by 30%A new Kotlin compiler plugin in SDK 56 strips reflection from Expo Modules on Android: 70% faster init, no code changes for app developers.

πšŽπš‘πš™πš˜/πšŸπšŽπšŒπšπš˜πš›-πš’πšŒπš˜πš—πšœ is moving to deprecated. The πš›πšŽπšŠπšŒπš-πš—πšŠπšπš’πšŸπšŽ-πšŸπšŽπšŒπšπš˜πš›-πš’πšŒπš˜πš—πšœ packages now work directly with expo-font, so there's no reason for the wrapper anymore. Run the codemod and you're down ~4MB with a cleaner setup. It's a bit of effort. But it's worth it. try.expo.dev/vector-icons...

try.expo.devMoving away from @expo/vector-iconsWe cut our repro app's bundle by 4 MB by switching from @expo/vector-icons to @react-native-vector-icons. Here's why we now recommend the change.

Expo reposted

πŸ“± Applied Expo UI Intermediate Workshop Join Keith Kurak ( @expo.dev) & Frank Calise's workshop on Expo UI in React Native. Use SwiftUI + Jetpack Compose bindings in React, & learn when to use native UI vs cross-platform. We’ll cover Expo Router transitions + Android colors. chainreactconf.com

Swift now talks to JSI directly in Expo SDK 56. The Objective-C++ layer is gone. A native call that crossed three languages now lowers straight to C++. β—† 1.6 to 2.3x faster β—† Beats Turbo Modules on async (1.55x) β—† Ships as a prebuilt xcframework try.expo.dev/jsi-blueksy

try.expo.devTalking to JSI in Swift: what changed in SDK 56In SDK 56, Expo's native modules call JSI directly on Apple platforms. The Objective-C++ layer is gone, and calls are 1.6–2.3x faster.

πŸš€ Expo Router v56 is the biggest update since it originally launched. β—† Forked the React Navigation internals β—† Streaming SSR + πšπšŽπš—πšŽπš›πšŠπšπšŽπ™ΌπšŽπšπšŠπšπšŠπšπšŠ β—† Android toolbar (left, right, bottom) β—† Native Tabs gains πšπš’πšœπšŠπš‹πš•πšŽπš Many more highlights in the blog: try.expo.dev/router-56-bl...

try.expo.devExpo Router v56: Decoupling from React NavigationExpo Router v56 forks from React Navigation, ships streaming SSR, and closes the platform gap with a new Android toolbar and Native Tabs updates.

Expo UI now runs callbacks on the UI thread. SDK 56 ships worklet integration for @expo/ui. SwiftUI and Compose components update shared state synchronously, no JS hop. Flicker-free input masking, finally πŸ˜… Full blog from @nishan.dev: try.expo.dev/worklets-blu...

try.expo.devWorklet integration in Expo UI: synchronously controlling SwiftUI and Compose stateExpo UI now integrates with react-native-worklets, letting you control SwiftUI and Compose state synchronously on the UI thread. No JS round-trips.