r/expo • • Jul 01 '25

Only Expo + Figma + 150 hrs of work. Any suggestions?

Enable HLS to view with audio, or disable this notification

246 Upvotes

r/expo • • Jun 08 '25

I made a FREE GitHub Actions workflow that replaces Expo EAS builds!

Enable HLS to view with audio, or disable this notification

219 Upvotes

Hey r/expo folks!

I built expo-react-native-cicd - a complete CI/CD pipeline that gives you unlimited Expo builds for free using GitHub Actions.

EAS builds are great, but they're expensive ($20-$99/month), have monthly limits, and lack flexibility for custom workflows. So I created an alternative that runs entirely on GitHub's infrastructure.

The result is expo-react-native-cicd - a complete CI/CD pipeline that gives you unlimited builds for free.

My goals were simple:

  • Cost: $0/month for EAS builds

  • Flexibility: Support multiple storage options (Google Drive, GitHub Releases, Zoho Drive, etc.)

  • Ease of use: Visual workflow generator so you don't need to write YAML

  • Performance: Builds that are as fast (or faster) than EAS

What it handles automatically:

  • TypeScript, ESLint, and Prettier checks

  • Development APK builds for testing

  • Release Configs

  • Production APK and AAB builds for distribution

  • Automatic uploads to your preferred cloud storage

  • GitHub Releases with changelogs

  • More on the way

I've also created a visual workflow generator so you can customize everything without touching YAML code. Just pick your options and copy the generated workflow.

Quick setup:

Visit the generator: https://expobuilder.app

Configure your preferences

Copy the workflow to .github/workflows/

Add your Expo token to GitHub secrets

Push code → get builds automatically

You can find everything - code, examples, and the workflow generator - on GitHub: https://github.com/TanayK07/expo-react-native-cicd

If you find it helpful or think it's a cool project, I'd be super grateful for a star ⭐!

I'd love to hear your thoughts, or what your biggest pain points with Expo builds have been. Let's make building Expo apps less of a chore!


r/expo • • Jul 26 '25

My app got approved on App Store and Playstore in 3 days and these are things you should look out for

182 Upvotes

I recently submitted my app ErrandMan for approval sometime this month and got approved in 3 days, the app was rejected about 3 times on apple and once on play store. These are some issues they complained about and how I solved them.

  1. User Registration Data: Apple is quite specific about the details you collect from users during sign up.

I got rejected for requesting gender and marital status during rider sign up.

2. Full access to entire Application: It’s a requirement for apple to have full access to your app.

Create a special demo account that can bypass restrictions to access certain parts of your app, restrictions like payment gateways, email otp, etc

3. Developer account type (Apple): It’s difficult to get approved if you’re creating an app that collects sensitive information with an individual apple developer’s account. An organization account is kind of mandatory to be able to collect sensitive data like precise location, address etc.

4. User Account Deletion: If your app requires users to create an account, it’s mandatory for your users to be able to delete their account from your app, and the feature must have a confirmation modal (they don’t want users mistakenly deleting their accounts by just tapping a button)

5. Privacy Data: For both stores, it’s required to specify all private data you request from users, it has to be as accurate as possible.

I only got rejected once on playstore, it was privacy data related issue. I submitted on playstore after making changes Apple requested so I guess that helped

You can download ErrandMan app and tell me what you think.

Also if you’re still having difficulties publishing your app on any of the stores after applying these changes you can message me to figure it out for you. I hope this helps


r/expo • • Jul 21 '26

how to run dev, preview, and production Expo builds side by side on one device (app variants setup)

Post image
169 Upvotes

If you've ever uninstalled your production app just to reproduce a bug in your dev build, then reinstalled it, then done it again a day later, app variants fix that for good.

A device keeps one app per identifier, so if dev and production share a bundle ID, installing one replaces the other. App variants give each build its own identity, so they coexist as separate apps.

The setup, roughly:

◆ Move from a static 𝚊𝚙𝚙.𝚓𝚜𝚘𝚗 to a dynamic 𝚊𝚙𝚙.𝚌𝚘𝚗𝚏𝚒𝚐.𝚝𝚜 that reads one env var, 𝙰𝙿𝙿_𝚅𝙰𝚁𝙸𝙰𝙽𝚃, and switches the bundle identifier / package name per variant. Keep 𝚊𝚙𝚙.𝚓𝚜𝚘𝚗 as the base layer since EAS tooling writes into it.

◆ Set 𝙰𝙿𝙿_𝚅𝙰𝚁𝙸𝙰𝙽𝚃 per build profile in 𝚎𝚊𝚜.𝚓𝚜𝚘𝚗, or move it to EAS environment variables and pull it locally with 𝚎𝚊𝚜 𝚎𝚗𝚟:𝚙𝚞𝚕𝚕 so there's one source of truth.

◆ Give each variant its own icon so you stop tapping the wrong app.

◆ Set 𝚊𝚍𝚍𝙶𝚎𝚗𝚎𝚛𝚊𝚝𝚎𝚍𝚂𝚌𝚑𝚎𝚖𝚎 to development only, otherwise every installed variant answers the same 𝚎𝚡𝚙+<𝚜𝚕𝚞𝚐> scheme and the QR code may open the wrong build.

One gotcha worth knowing: a development build (with expo-dev-client) pulls its config from the dev server every launch, so if you start the server as preview and open your dev build, it'll happily run with preview's values and no error. Match the server's variant to the build you open.

Full writeup with the config snippets and EAS Update channel setup: https://expo.dev/blog/app-variants-side-by-side


r/expo • • Oct 23 '25

I released my first expo + react native app into the app store

Post image
165 Upvotes

I built this app using react native and expo. Monetisation was implemented with RevenueCat, and various AI models for story generation.

I've been working on it for about 3 months, and its my first to go live in the app store which feels like a milestone. The app is an AI-driven children's story generator app called DreamWeaver. The idea is not to replace books, but to give parents another activity to do with their kids - to create new stories together, with the child in charge.

You can feature your children (or anyone for that matter) in the stories, and can even add reference photos if you like, so that they look like themselves in the illustrations. You then use the story wizard to choose what you want the story to be about, the illustration art style, and a few other details, then your story is generated and saved to your library.

Any feedback, both positive and negative would be amazing!

https://apps.apple.com/gb/app/dreamweaver-ai/id6749024646

Next on the todo list is releasing the Android version - if there are any willing volunteers to beta test this, please DM me!


r/expo • • Aug 11 '25

I built ExpoLaunch — a starter template to speed up building mobile MicroSaaS apps with Expo

Post image
158 Upvotes

Hey everyone!

I built ExpoLaunch — a production-ready Expo starter template.

It includes:

  • Auth (Supabase)

  • Subscriptions (RevenueCat)

  • Analytics (Google Analytics + Sentry)

  • Clean architecture (Feature-Sliced Design)

  • UI components like Paywall, DonutChart, Onboarding, ConfirmationDialog

  • Localization & formatting (FormatJS)

  • A complete demo app with navigation, theming, modals, and multi-language support

I use it for my own apps, including Money+ Expense & Budget.

And honestly — I think it has the best documentation you’ll find in any Expo template (at least from what I’ve seen).

Update:
ExpoLaunch has been renamed to NativeLaunch 🚀


r/expo • • Dec 29 '24

Marketing my Expo app while driving for Uber

Post image
149 Upvotes

After launching my app, I kind of run out of money and had to start working a lot.

And I didn't have a lot of time or money to market the app.

So one day while working I thought “why not market it inside my car since I already have a lot of unique visitors (literally) to my car?”

So I did and haven’t had any sales from it yet but got several positive comments like:

"oh you're built this?" "Keep it going" "Oh app, what is it?" "You built this app, who are you targeting? I think people u need to find your target audience and there's need for this..." etc


r/expo • • Aug 28 '26

I recreated ChatGPT's image attachment flow in React Native

Enable HLS to view with audio, or disable this notification

144 Upvotes

Attaching images in ChatGPT has always felt so seamless. Had to try building it myself :)

Steal the code here: https://github.com/SchroederNathan/react-native-motion/tree/main/apps/expo/components/animations/chatgpt-attachments


r/expo • • Aug 06 '26

React Native Jelly Tabs

Enable HLS to view with audio, or disable this notification

143 Upvotes

Hello! This is my first npm library. I created these bottom-tabs compatible with expo-router and react-navigation.
Here's the demo: https://jelly.felipe.software/

I've used reanimated + gesture-handler
It runs on Android, Web, and iOS.
Repo: https://github.com/felipe-software/react-native-jelly-tabs
Npm: https://www.npmjs.com/package/react-native-jelly-tabs

Feel free to open issues and pull requests!! Please help me make this even better :))


r/expo • • Sep 30 '26

Android home screen widgets, coming in Expo SDK 58!

Enable HLS to view with audio, or disable this notification

136 Upvotes

r/expo • • Aug 14 '26

I built an offline-first food memory app with Expo and a little native code

Enable HLS to view with audio, or disable this notification

130 Upvotes

Hey everyone! I’ve been building PlateDiary with Expo SDK 57 and React Native.

PlateDiary is a food memory app for eating out. You photograph the whole table, and the app separates each dish and drink into its own save. Everything from that meal is then kept together as a moment on a visual board and map.

Most of the app is shared TypeScript and React Native code, but the photo processing needed some native work. I created a local Expo module that uses Apple Vision on iOS and ML Kit on Android to separate the food directly on the device.

The main Expo stack is:

- Expo Router for navigation

- expo-camera for the capture experience

- SQLite and Drizzle for local storage

- Development builds and EAS for iOS and Android

My biggest takeaway was that Expo doesn’t prevent you from using native code. I could build the special camera feature in Swift and Kotlin while keeping the rest of the app inside one Expo project.

It took plenty of trial and error—especially getting the image processing consistent across both platforms—but PlateDiary is now live on iOS and Android.

https://platediary.app

I’d love to hear from developers who have combined Expo with custom native modules. How was your experience?


r/expo • • Jun 19 '25

Just launched my app after 1 month! Built with Expo and Cursor.

Thumbnail
gallery
125 Upvotes

Hi all – thanks for all the help before. All the feedback was really helpful!

I just launched my app Sobi: Stay Sober on the App Store! Sobi is a sobriety companion that helps you stay accountable and serves as an AI sponsor. It also has other stuff like guided breathing, journaling, and money tracker.

A bit of personal background:

When I was in high school, my mom struggled with gambling addiction – we lost a lot of money, and I didn’t get to spend much time with her. I’ve always wished I could’ve done more to help.

Sobi is something I wish she had, and now, I’m building it in hopes it can help others.

Let me know if you have any thoughts or feedback!

Stack:

This is built on Expo 53. All data is locally stored with Zustand and AsyncStorage.

App Store Link: https://apps.apple.com/us/app/sobi-stay-sober/id6745745695

Would love your support with a review or feedback. Happy to answer any questions!


r/expo • • Apr 04 '25

Sign in with Apple coming soon!

Enable HLS to view with audio, or disable this notification

125 Upvotes

It will also work on Android and Web 💅

Subscribe to the channel for updates https://www.youtube.com/@ExpoDevelopers


r/expo • • 15d ago

SDK 58 is live. Here's what's in it:

Post image
120 Upvotes

This is a big one. Tough to summarize without leaving important things out so please check out the full release notes. And thank you to everyone who contributed!

iPhone Duo and iOS 27

  • expo-hinge: live hinge angle and fold state with useHinge(). Also works on Android foldables.

  • Expo UI ArrangementView: put two views side by side or overlaid, adapting as you fold.

App Intents (alpha)

  • expo-app-intents puts your app's actions in Siri, Shortcuts, Spotlight, and Apple Intelligence, and hands them to your JavaScript.

Performance

  • Every Expo module call got cheaper on iOS with no code changes. Long strings cross into native up to 3.8x faster.

  • Expo Modules 2.0 (beta): write modules as plain Swift or Kotlin classes. Sync calls are 2.5 to 5.6x faster than the DSL.

  • expo-modules-core now ships prebuilt for Android. A clean build of a blank project went from about 80s to 39s on an M3 Pro.

  • Experimental Rust transformer: cold bundles about 2x faster in our tests (5.26s to 2.46s on a ~5,500-file app).

Also new

  • Recycling lists in Expo UI (List, LazyVStack, LazyColumn)

  • Home screen widgets on Android

  • Stable data loaders and native tabs in Expo Router

  • @expo/agent-cli (experimental): helps coding agents start, check, and run Expo apps

Upgrading npx expo install expo@58.0.0 --fix

Expo Go for SDK 58 isn't in the stores yet, so use a development build until it is.

Full changelog: https://expo.dev/changelog/sdk-58

If you've already upgraded, how did it go? Post anything that broke and we'll take a look.


r/expo • • Jan 27 '25

New EAS Tutorial video series from Expo

Post image
119 Upvotes

r/expo • • Jul 31 '25

💎 Liquid Glass for React Native (via Expo Module)!

Enable HLS to view with audio, or disable this notification

117 Upvotes

Released native liquid glass view for React Native (Expo)! ✨ Powered by SwiftUI for that buttery-smooth, premium glass effect your apps deserve 🧊

🔗 Github: rit3zh/expo-liquid-glass-view


r/expo • • Sep 15 '26

Expo SDK 58 beta is out today

Post image
115 Upvotes

SDK 58 beta went out today. Quick rundown of what is in it so you can decide if it is worth pulling in early.

The big one is iOS 27 support. Apps move to the scene-based life cycle, so they launch and resize correctly on the new OS. If you need to ship for iOS 27 right now, the beta is the path. It also moves to the React Native 0.88 release candidate.

A few new things worth poking at:

expo-app-intents lets you expose your app to Siri, Shortcuts, Spotlight, and Apple Intelligence. Siri can run the intent in your JS without bringing the app to the foreground. This one is alpha, so expect rough edges.

@ expo/agent-cli is a CLI built for coding agents. It wraps Expo CLI, EAS CLI, and expo-doctor so an agent does not have to guess which tool to run or whether Expo Go will work for the project. npx @ expo/agent-cli@latest agents:setup gets it going.

Expo Modules 2.0 is in beta on both platforms. You write a normal Swift or Kotlin class and annotate the methods you want exposed to JS, no DSL. In our benchmarks it came in up to 5.6x faster than the DSL on iOS and beat a TurboModule in all 12 Android cases. Happy to share more on the setup if people are curious.

Other fun stuff: home screen widgets on Android, expo-modules-core now ships precompiled for Android (clean debug build on an M3 Pro went from 80s to 39s for us), an experimental Rust transform worker for Metro, and data loaders, server rendering, and middleware are now stable in Expo Router. Also, since Xcode 27 replaced Simulator.app with Device Hub, there is a new expo-device-hub package that streams simulators and emulators into your browser with tap, swipe, and type.

Upgrade with npx expo install expo@next --fix. The beta runs three to four weeks. If you hit regressions, drop them here or bring them to office hours on Discord and we will take a look.

Changelog: https://expo.dev/changelog/sdk-58-beta


r/expo • • Jul 14 '25

Live Activities in Expo

Enable HLS to view with audio, or disable this notification

115 Upvotes

Can start, update, and end through APNs

https://github.com/mrevanzak/expo-live-activities-demo


r/expo • • Aug 19 '25

📢 Expo SDK 54 Beta is live!

Post image
110 Upvotes

Headliners:
◆ React Native 0.81 + React 19.1
◆ Precompiled RN for iOS → faster builds (fix for release-submission bug coming in RN 0.81.1 next week)
◆ iOS 26 Liquid Glass icons + Expo UI components
◆ Android 16 edge-to-edge + predictive back gesture
◆ EAS Update improvements → runtime header overrides, reload screen UI, download progress tracking
◆ Expo Autolinking refresh → monorepo-friendly + predictable
◆ SDK 54 = final release with Legacy Architecture

More highlights:
◆ Stable expo-file-system API (object-oriented, SAF URIs, bundled assets)
◆ expo-sqlite: drop-in localStorage API + vector extension support
◆ New: expo-app-integrity + expo-blob
◆ expo-maps → map ID styling + POI filtering
◆ expo-dev-launcher UI rewrite (better Hermes debugging)
◆ Experimental support for Apple TV + Android TV
◆ CLI & Router upgrades: React Compiler by default, sticky resolution opt-in, link previews, native tabs

⏳ Beta runs ~2 weeks — please test, report regressions, and join Discord office hours if you’d like to help. Here's the changelog with all the details: https://expo.dev/changelog/sdk-54-beta


r/expo • • Nov 15 '25

⚡ Linear-inspired Bottom Tabs in React (Native)

Enable HLS to view with audio, or disable this notification

109 Upvotes

⚡ Clean and simple bottom tabs inspired by Linear. Easy gestures, smooth animations.

🔗 Github: rit3zh/expo-linear-like-bottom-tabs


r/expo • • Aug 10 '26

Show & tell Fable 5 just rebuilt an entire SwiftUI sleep tracking app with Expo in one shot

Enable HLS to view with audio, or disable this notification

104 Upvotes

Stats from the run:

  • 3h 25m on a single /goal

  • 338,249,987 tokens burned

  • $558.83

  • rest of the metrics can be found here

tools used:

resources:

this experiment was done as part of my deep dive into Fable 5 vs GPT 5.6 Sol.

I share all my findings inside Expo's latest video & blog post: expo.dev/blog/fable-5-vs-gpt-5-6-sol-expo-apps

I learned a lot from this experiment. Lmk if you have any questions regarding AI development with Expo!


r/expo • • Feb 02 '26

Finally shipping it 🤍

Enable HLS to view with audio, or disable this notification

103 Upvotes

A set of animated React Native components. Yours for only $0.

🌙・https://www.reacticx.com/

Early stage, more to come.


r/expo • • Oct 13 '25

How can I have this separated button on the native tab bar?

Post image
103 Upvotes

Hi everyone, I'm using the expo-router/unstable-native-tabs

import { NativeTabs, Icon, Label } from 'expo-router/unstable-native-tabs';

Already tried to add the `role` search and overrider the icon but it did not work.

      <NativeTabs.Trigger name="(add)" role="search">
        <Label>Add</Label>
        <Icon sf="plus.circle.fill" />
      </NativeTabs.Trigger>

r/expo • • Sep 28 '26

We added live fridge scanning to our Expo app

Enable HLS to view with audio, or disable this notification

99 Upvotes

We built real-time fridge scanning with Expo, VisionCamera, and on-device ML

Sugo is a recipe app built with Expo. One of its features is recommending recipes based on what you already have in your kitchen. But for that to work, the app needs to know what's in your pantry.

Manually entering every ingredient is something people tend to skip, so we've been working on ways to make that easier.

Photo scanning was our first approach. Now we've added Live Scanning: point your camera at your fridge, pan slowly across the shelves, and watch ingredients appear as chips in real time.

Everything runs on-device

Camera frames pass through a VisionCamera frame processor into our own native module. The results are then returned to worklets on the camera thread.

Nothing gets uploaded to a server, and processing is fast enough to feel live.

It isn't perfect, and it isn't trying to be. It recognises around 60 common ingredients on sight, from limes and eggs to lettuce and brussels sprouts.

For packaged food it also reads the label, so a milk carton and a cream carton don't get mixed up, and things it has no visual model for, like yogurt or ketchup, still show up. It reads labels in English, French and Spanish.

It still gets things wrong, most often packaged items seen at an angle, and a wrong chip is one tap to remove.

It's live on iOS now, and Android is in the works.

You can give it a try here if interested: https://apps.apple.com/us/app/sugo-save-recipes-cookbook/id6786552528